你要找的是不是这个,身体左右摇晃,还可以设置摇摆幅度。
点击查看html代码
<!DOCTYPE html> <html> <head> <title>Live2D摇摆动画</title> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/live2dcubismcore.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/live2d.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/pixi.6.5.2.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/pixi-live2d-display.index.min.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/pixi-live2d-display.extra.js"></script> <style> #live2d { pointer-events: none; } </style> </head> <body> <canvas id="live2d" width="300" height="500"></canvas> <script> (async function main() { const app = new PIXI.Application({ view: document.getElementById('live2d'), autoStart: true, transparent: true, width: 600, height: 500 }); const model = await PIXI.live2d.Live2DModel.from('//repo.bfw.wiki/bfwrepo/images/live2dm3/Haru/Haru.model3.json'); app.stage.addChild(model); // 调整位置和大小 model.x = 0; model.y = 0; model.scale.set(0.3); // 摇摆动画 let time = 0; app.ticker.add(() => { time += 0.03; // 降低摇摆速度 // 禁用默认动作 model.internalModel.motionManager.update = () => {}; // 身体整体小幅度摇摆 model.internalModel.coreModel.setParameterValueById( 'ParamBodyAngleX', // 身体左右摇摆 Math.sin(time) * 30 // 减小摇摆幅度到3度 ); // 配合身体摇摆的头部轻微调整 model.internalModel.coreModel.setParameterValueById( 'ParamAngleX', Math.sin(time) * 20 // 头部配合身体轻微摇摆 ); }); })(); </script> </body> </html>
网友回复