guansss / pixi-live2d-display

A PixiJS plugin to display Live2D models of any kind.
https://guansss.github.io/pixi-live2d-display/
MIT License
823 stars 125 forks source link

关于 ❶待机动画不能正常循环 & ➋控制器Controllers的API #84

Closed Fpppps closed 1 year ago

Fpppps commented 1 year ago

首先,非常感谢作者提供的Live2D插件,极大的方便了Live2D模型的应用; 其次,个人在应用的过程出现了未能解决的问题,希望能得到大家的回复; 最后,也是希望这款插件越来越完善,被更大范围的应用起来。

➊待机动画不能正常循环 设置开启待机动画-Idel,每次播放完毕后画面都会瞬间倒放到第一帧画面,再开始下一次的播放,不是无缝衔接的循环播放 ※数据文件xxx.motion3.json的Loop和xxx.model3.json的FileLoop设为true或false,实际运行中并不生效

➋控制器Controllers的API 如最后一张图➋红框的MouseTracking、AutoBreath,ExtraMotion怎么进行开关呢? ※ 已知AutoBreath的关闭方式model.internalModel.breath = null;

1 2
guansss commented 1 year ago

感谢支持~

➊待机动画不能正常循环

尝试一下设置过渡时间,比如:

import { config } from 'pixi-live2d-display';

config.idleMotionFadingDuration = 500;

➋控制器Controllers的API

这里面的参数我一个都没见过……真的是官方软件导出的模型吗?还是从别的软件提取出来的,比如 Live2DViewerEX 之类

Fpppps commented 1 year ago

➊待机动画不能正常循环

尝试一下设置过渡时间,比如:

import { config } from 'pixi-live2d-display';

config.idleMotionFadingDuration = 500;

没有解决哈,估计是有循环模式相关的参数设置,模型导入Live2DViewerEX是能正常使用

➋控制器Controllers的API

这里面的参数我一个都没见过……真的是官方软件导出的模型吗?还是从别的软件提取出来的,比如 Live2DViewerEX 之类

是官方软件导出的,设置过控制器的参数就会导出这些参数。Live2DViewerEX我都是导LPK格式到手机用的,在Live2DViewerEX是能正常使用。

guansss commented 1 year ago

设置后动作还是瞬间过渡吗?记得 config 要在创建模型之前设置,另外检查一下 motion3.json 里面是不是存在 FadeInTime/FadeOutTime 之类的参数覆盖掉了默认值

我查了一下,这些参数的确不是官方的,是 Live2DViewerEX 的自定义参数(https://live2d.pavostudio.com/doc/zh-cn/live2d/model-config/ ),最明显的就是这个 IntimacySystem,官方的功能里不可能有好感度系统

Loop 参数是官方的,但官方自己的 SDK 里面也没有实现,所以随缘吧,修不修复都有可能

PS: 官方 JSON 定义在这里:https://github.com/guansss/CubismWebFramework/blob/1f9cdfd140e87ba0ae68a356bb5ec339a0e65f99/src/CubismSpec.d.ts

Fpppps commented 1 year ago

好,明白了,非常感谢 最后想问一下鼠标追踪是可以用model.internalModel.xxx = null关闭掉的吗? 它的关键字是什么,我这边没找到

guansss commented 1 year ago
const model = await Live2DModel.from('shizuku.model.json', { autoInteract: false });

https://guansss.github.io/pixi-live2d-display/interactions/#interacting-manually