在只用tween时只要执行了update方法就会发现传入的点变为NaN,从而导致模型消失
console.log(t.target, t.paras); tw = new TWEEN.Tween(t.paras).to(t.target, d).easing(TWEEN.Easing.Quadratic.Out) tw.onUpdate(function (object) { for (const prop in t.collada.kinematics.joints) { if (t.collada.kinematics.joints.hasOwnProperty(prop)) { //排除静态的 if (!t.collada.kinematics.joints[prop].static) { t.collada.kinematics.setJointValue(prop, object[prop]) } } } }) tw.start()
打印后发现paras里面的值都为NaN了
解决办法
在animate中执行update时把animate传过来的参数传入update中,如下:
t.setUpTween() t.animate = function (e) { if (tw) { tw.update(e) } return false }
添加后执行发现模型正常运动
标签:collada,tw,NaN,update,prop,kinematics,js From: https://www.cnblogs.com/rht555/p/16967768.html