wseven7677 / live2d4vue

a vue plugin importing live2d character into your project
66 stars 8 forks source link

使用问题太多,求联系方式 #1

Closed guowc closed 5 years ago

guowc commented 6 years ago

文件路径无法载入,载入后模型不会动,求联系方式

yuicer commented 6 years ago

这。。。这就很尴尬。用爱发电果然很困难啊

wseven7677 commented 6 years ago

@guowc 那个。。这个。。你的模型文件是放在服务器上的吗?不会动是正常的,因为你要自己加动作啊。比如随鼠标移动什么的。然后我现在在研究直接导入.mtn文件那样的话就不用自己写动作了

wseven7677 commented 6 years ago

@yuicer 看到有人我还是非常开心的!

wseven7677 commented 6 years ago

@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);
                }
            },

感谢你使用这么难用的插件!

JackChius commented 5 years ago

大佬来个完整代码学习学习,看到this.liveHalf和commonGesture二脸懵逼233

wseven7677 commented 5 years ago

大佬来个完整代码学习学习,看到this.liveHalf和commonGesture二脸懵逼233

@JackChius 抱歉代码没粘完整,不过那个不重要啦 只是个二次函数(其实就用sin就可以的

shadowdreamer commented 5 years ago

原来这个组件模型动作全要自己写啊……超出能力范围了

wseven7677 commented 5 years ago

原来这个组件模型动作全要自己写啊……超出能力范围了

@shadowdreamer emmmmm更灵活啊!用点二次函数啥的

vxhly commented 5 years ago

模型动作自己写,就有点为难我了

wseven7677 commented 5 years ago

模型动作自己写,就有点为难我了 @vxhly 下一步的计划是引入动作文件emmmm不过我已经鸽了一年了。。