Closed TillMac closed 1 year ago
您好,非常感谢你的贡献,让我这个不怎麽熟 live2d 的小萌新得以用更快的速度上手,在这里感谢你!
最近需要透过代码操作的方式来变更不同部位的 opacity,好达到变更部位的视觉效果,我是使用 pixi ticker 的方式来将 PartArmAL 的 opacity 归零:
PartArmAL
const ticker = new PIXI.Ticker(); ticker.add((delta) => { natori.internalModel.coreModel.setPartOpacityById('PartArmAL', 0); natori.internalModel.coreModel.update(); }); ticker.start();
但我发现,PartArmAL 这一部位的 opacity 并不会完全归零,而是会有残影的效果,透过 getPartOpacityById 的方式取得 PartArmAL 的现值,会发现并非为 0,我是将上方的代码改成这样发现的:
getPartOpacityById
const ticker = new PIXI.Ticker(); ticker.add((delta) => { console.log( 'before the set, PartArmAL Opacity: ', natori.internalModel.coreModel.getPartOpacityById('PartArmAL') ); natori.internalModel.coreModel.setPartOpacityById('PartArmAL', 0); console.log( 'after the set, PartArmAL Opacity: ', natori.internalModel.coreModel.getPartOpacityById('PartArmAL') ); natori.internalModel.coreModel.update(); });
console.log 的内容为:
before the set, PartArmAL Opacity: 0.08332999 after the set, PartArmAL Opacity: 0
由于我对 live2d 还不熟稔,我担心是我的操作方式有误,不晓得有没有人有遇到类似问题,或者是能提点我该怎麽处理呢?
目前找到另类的解决方法,如果想将 opacity 归 0 的话,那就直接将 natori.internalModel.coreModel.setPartOpacityById('PartArmAL', -0.083);,就可以完全消失了
natori.internalModel.coreModel.setPartOpacityById('PartArmAL', -0.083);
您好,非常感谢你的贡献,让我这个不怎麽熟 live2d 的小萌新得以用更快的速度上手,在这里感谢你!
最近需要透过代码操作的方式来变更不同部位的 opacity,好达到变更部位的视觉效果,我是使用 pixi ticker 的方式来将
PartArmAL
的 opacity 归零:但我发现,
PartArmAL
这一部位的 opacity 并不会完全归零,而是会有残影的效果,透过getPartOpacityById
的方式取得PartArmAL
的现值,会发现并非为 0,我是将上方的代码改成这样发现的:console.log 的内容为:
由于我对 live2d 还不熟稔,我担心是我的操作方式有误,不晓得有没有人有遇到类似问题,或者是能提点我该怎麽处理呢?