Closed guowc closed 5 years ago
这。。。这就很尴尬。用爱发电果然很困难啊
@guowc 那个。。这个。。你的模型文件是放在服务器上的吗?不会动是正常的,因为你要自己加动作啊。比如随鼠标移动什么的。然后我现在在研究直接导入.mtn文件那样的话就不用自己写动作了
@yuicer 看到有人我还是非常开心的!
@guowc
<Live2d :index="0"
:width="200"
:height="200"
:modelData="mdataGreen"
:on-move="handleMove" />
我是这么写的,我的服务器目录下有一个叫models的文件夹,里面这个模型叫green2,这样就可以加载模型了:
mdataGreen: {
name: "model0",
model: "/models/green2/model0.moc",
textures: [
"/models/green2/model0.2048/texture_00.png"
]
},
运动的话我大概随便写了一下,比较乱(但是可以动)你可以参考一下:
handleMove(live2dModel) {
// 随鼠标移动头和眼神--
live2dModel.setParamFloat("PARAM_ANGLE_X", 30 * (this.mouseX - this.liveHalf) / this.liveHalf);
live2dModel.setParamFloat("PARAM_EYE_BALL_X", 1 * (this.mouseX - this.liveHalf) / this.liveHalf);
//眨眼和摇头--
let clock = window.UtSystem.getUserTimeMSec() * 0.001, // time flow
cycle = 10, // 周期 s
t = clock % cycle; // time flow in a cycle
let winkTime = 0.15,
winkSpot = 3;
if (t < winkSpot + winkTime && t > winkSpot) {
live2dModel.setParamFloat("PARAM_EYE_R_OPEN", commonGesture.wink(t, winkTime));
live2dModel.setParamFloat("PARAM_EYE_L_OPEN", commonGesture.wink(t, winkTime));
} else {
live2dModel.setParamFloat("PARAM_EYE_R_OPEN", 1);
live2dModel.setParamFloat("PARAM_EYE_L_OPEN", 1);
}
let zTime = 6,
zSpot = 1;
if (t < zSpot + zTime && t > zSpot) {
live2dModel.setParamFloat("PARAM_ANGLE_Z", t % (zTime) * 20);
}
},
感谢你使用这么难用的插件!
大佬来个完整代码学习学习,看到this.liveHalf和commonGesture二脸懵逼233
大佬来个完整代码学习学习,看到this.liveHalf和commonGesture二脸懵逼233
@JackChius 抱歉代码没粘完整,不过那个不重要啦 只是个二次函数(其实就用sin就可以的
原来这个组件模型动作全要自己写啊……超出能力范围了
原来这个组件模型动作全要自己写啊……超出能力范围了
@shadowdreamer emmmmm更灵活啊!用点二次函数啥的
模型动作自己写,就有点为难我了
模型动作自己写,就有点为难我了 @vxhly 下一步的计划是引入动作文件emmmm不过我已经鸽了一年了。。
文件路径无法载入,载入后模型不会动,求联系方式