Live 2D

关于Ver3.0版本moc3的Live2D功能实装

如果您进入我的网站,应该会看到一个模型中没有的样式。
这是在Steam 中 FaceRig 这个软件的创意工坊中下载的。
您如果读过我的代码,可以模仿我的方式进行加载。目前SDK已支持。

但是有一些小问题,这还是测试阶段,我会用我的网站进行展示性测试,问题主要在于
1. 鼠标动作过于灵敏
2. 背景没有调整为透明色
3. 鼠标点击画板交互时,有一些表情无法展示

我会对SDK继续调教。另外我也在进行API的重新制作,以符合可读v3以上版本模型的要求。

另外新的电脑买了!

等到货了发开箱!

Live 2D

WordPress Live 2D 1.6.2版本更新

提醒各位,每次更新都会有JS文件的更改,如果您在使用CDN加速,尤其是cloudflare免费计划,务必在更新之后删除缓存,以便JS生效。


  1. 本次更新将会实装 Cubism Live2D SDK 4.0 以便测试版本
  2. 由于打包JS文件变大,我会尽量在2.0上线之前进行拆分
  3. 新增:模型缩放大小控制,您可以在后台自由设置模型在画布中的缩放倍数
  4. 修正:默认模型 ID改为手动填写(我通过来访页面找到了各位的网站,发现我如果固定这个选项会给各位带来不便)
  5. 如果有问题欢迎在Github上反馈issues
  6. 本次更新不会改变您当前的任何设置。
  7. 在樱花庄的白猫主题中测试兼容性正常,请在使用之前清理之前安装的Live2D功能避免JS冲突
  8. 捕获了一个来源的异常,这个不太影响使用,但是我觉得报错不行,我就给做成命令提示出来了。
  9. 捕获了一个加载异常,在未完全加载的时候会出现一个错误提示,在代码中理解这是一个在mousedown事件发生的时候出现的,当时画布应该还没有加载内容,导致没有坐标点。

PS:本次更新的隐藏功能

您可以修改waifu-tips.js 以支持3.0-4.0版本的Live2D
方法如下:
– 找到loadlive2d函数,将此函数替换为loadlive2dv3
– 传递以下参数:

/**
 * 
 * @param {必填:画框的ID,画框必须是HTML5中的canvas} id 
 * @param {目前仅支持本地的模型,请将文件放在可以对应上的目录} modelurl 
 * @param {缩放倍数建议为2.0,此项可不传,如果不传递就是2.0} zoom 
 */
loadlive2dv3('live2d','./model/miku/miku.model3.json',2.0);

//您需要将模型存放至插件根目录下,例如/www/wordparss/plugin/live2d/model/miku/

已经在WordPress中引入了moc3模型的SDK,但是实际没有直接在WordPress中进行测试,我会在下一个版本合并函数,并直接从API中区分版本。

Live 2D

Live2D v2 v4合并完成

通过一个周末的努力,我简单的理解了typescript的大概用法,并和之前的v2版本代码进行对比,了解了官方framework的使用方式和demo的原理,我成功的把代码进行了合并。

接下来我将会着重于处理一个bug就是模型不自适应画框。

等这个问题处理好以后,我将会修改api部分,后续我设计的是将模型放入之后自己识别v2还是v3+

另外如果您通过插件后台访问我的网站,请了解,我会跟着页面监控回访各位网站,来检查js是否在不同兼容环境下的错误,以便更好的修改代码兼容性,请不要介意。

Live 2D

合并live2d 4.0 framewok出了点问题

因为没有大佬改写framework,虽然我找到了一些例子,但是在测试过程中发现交互上有一些问题。

从设置,从鼠标互动,都不是很尽如人意啊。

我测试了一个版本,鼠标跟随眼部动作的时候需要按住鼠标才可以,而且用的渲染器比较麻烦,文件负载比较大,我很担心在使用上会让wordpress变得非常卡,这样就得不偿失了,摸鱼的时间比较多,我再找找看。

如果不能找到合适的,我就开一个项目自己改写官方framework,因为已经编译完成了,今天头疼的厉害,要仔细看一下才可以理解,而且注释都是日文,还要翻译给自己看(´-ω-`)

Live 2D

Live 2D 1.6.1版本更新

  • 请注意:本次更新需要您重新设置所有数值,前端显示不正常时,请务必对数值进行默认值设置,如有必要,CDN加速的缓存也需要清除,以便新版本的JS加载,感谢
  1. 新增工具栏图标颜色和鼠标经过时的颜色控制
  2. 放开看板娘提示框的尺寸控制
  3. 修正设置文案准确性
  4. 修正文本框与数字类型内容,强类型语言应该有的样子
  5. type="range" 不是很好用,我觉得不够直观,只在一个功能上使用了
  6. 减少了设置项:

waifu-tips.js位置没有必要进行设置,有可能带来不必要的麻烦
– 主页地址设置,您已经在WordPress中设置过了,没有必要再设置一次,我将会自己读取他

  1. 删除了一些没有什么用处的JS判断,精简waifu-tips.js的代码
  2. 修正了一个Chrome浏览器中的警告
  3. Live2D容器z轴样式提升至20,Tips的z轴提升至21,从视觉上可以看出消息提示显示在人物上方。

以下是默认值:
– 工具栏图标颜色:#5b6c7d
– 鼠标触碰时图标颜色:#34495e
– 工具栏图标大小(px):14
– 工具栏行高(px):12
– 工具栏顶部边距(px):0
– 提示框大小:250×70
– 提示框字号(px):14
– 看板娘大小:280×240
– 面页小于指定宽度(px)隐藏看板娘:760
– 看板娘贴边距离(px):0

Live 2D

经过一天的摸鱼

我看了好多关于Live2D官方文档,和官方帮助,算是把我落下的内容恶补了一下。

我明白Live2D在2.x版本和3.x-4.x版本之间做了架构性的改动,导致SDK4.x只向下兼容到3.x

Live2D 的2.x可以生成moc文件,而3.0以上版本可以生成moc或者moc3文件,切此文件不可编译(不能恢复成工程文件)

Live2DViewerEX同样做了不可逆操作,将lpk进行了加密操作,但是wpk可以打开,不过其实就是打包的lpk文件而已。

那么我还是继续去了解一下具体的情况,主要是版权的问题很麻烦,关于加载3.0以上版本的SDK已经准备好了,需要进行一些研究才可以使用。

先到这…

Live 2D

看板娘更新啦

更新到了1.6版本,感觉更新有点频繁,虽然使用者不多,但是频繁更新也挺招人烦的,所以我决定更新频率改为每周4进行一次(修复严重BUG除外)

本次更新主要是受到wordpress.org中Support问题提交的灵感,有一说一,我对原本的配色也不是很满意,因为我在应用【主题】的时候发现【Iceable Media】的酷黑很帅,但是我用了看板娘以后发现看板娘的字体刺眼…我瞎了。

所以我昨天正好没啥事做,就在上班摸鱼的过程中更新了看板娘的功能,在阅读过去的代码的时候,发现了不少冗余,所以一并进行了更新。

下一个版本(1.6.5)我会改变【大小设置】的方式,我现在没有想明白“同比例缩放”在后台设置中如何实现。不过得益于WordPress的H5,我可以使用type="range"来进行尺寸的变更,避免用户手填px写错。

那么今天摸鱼开始了!

Live 2D

Live2D看板娘上线啦

很高兴,插件经过了审核,并可以在wordpress插件库中上线。

可以通过搜索Live 2D、萌等关键词进行搜索和安装。

后期我准备把对话功能加入插件中,主要是和AI对话,目前还在考虑对话样式的问题。

其实我还有考虑如何更容易的制作模型,不知道做一个模型的平台是否靠谱,先研究一下原作者的代码。

Live 2D

看板娘改造完成了

fghrsh.net弄来的看板娘被改造到了WordPress插件中,这中间遇到不少坑。

首先是我不会PHP的问题,大部分都是在网上查的,我一直以为弱类型语言比较随意,其实也是需要进行数据类型的强转的。这个主要是在WordPress的register_setting函数中,有一个sanitize回调函数,这个回调函数主要是获得传值并进行数据清理,在看板娘中有如下代码:

if (!live2d_settings.showToolMenu) $('.waifu-tool').hide();
if (!live2d_settings.canCloseLive2d) $('.waifu-tool .fui-cross').hide();
if (!live2d_settings.canSwitchModel) $('.waifu-tool .fui-eye').hide();
if (!live2d_settings.canSwitchTextures) $('.waifu-tool .fui-user').hide();
if (!live2d_settings.canSwitchHitokoto) $('.waifu-tool .fui-chat').hide();
if (!live2d_settings.canTakeScreenshot) $('.waifu-tool .fui-photo').hide();
if (!live2d_settings.canTurnToHomePage) $('.waifu-tool .fui-home').hide();
if (!live2d_settings.canTurnToAboutPage) $('.waifu-tool .fui-info-circle').hide();

这里的设置接收的是一个Boolean类型,在JSON序列化之后这个对象中的每一个属性都变成了String 类型,无法进行判断。所以还是不能偷懒,最后强制转换为Boolean类型就可以使用了。

之前还想偷懒不进行register_activation_hook钩子的设定,后来发现可能会带来不少麻烦事,所以还是选择在安装插件的时候直接向options表中写入数据,并在register_uninstall_hook卸载插件钩子的时候将增加的字段删除,保证WP的数据库不会保留太多的垃圾数据。

去除了一个鼠标事件.waifu #live2d可以避免鼠标每次经过看板娘的时候他就混乱的说各种话。

因为在界面中动态增加array真的太麻烦了,所以没有做某个事件的多语言随机。

最后,设置图:

Live 2D

把Live 2D看板娘添加到wordpress

今天算是完成了基本设置功能,我把这个功能在版本中列为1.1

如果你看到我的这篇文章,请移步到Github上进行插件下载,安装完成后即可在后台进行基本设置。

高级设置还在制作中,因为刚开始学习PHP相关的内容,本人又是产品经理岗位,可能更新速度并不是很快。

高级设置目前可以进行保存,但是保存的内容是我预设的值,比原作者预设值少一些,主要少在事件消息上。因为原作者使用的是Z-blog,他的选择器不适用于WordPress,如果你知道如何使用选择器,可修改 “src/waifu-options.php” 中的“可循环”,追加内容后,可自己在整个页面的事件中进行定义。