首页 > 其他分享 >使用TWEEN.js时update更新发现初始点位全部变成NaN

使用TWEEN.js时update更新发现初始点位全部变成NaN

时间:2022-12-08 23:55:26浏览次数:43  
标签:collada tw NaN update prop kinematics js

在只用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

相关文章

  • 官网下载UEditor文件没有ueditor.all.js、ueditor.all.min.js文件
    需本机已安装node.js安装Grunt执行命令npminstall-ggrunt-cli以安装grunt,等待呈现如下图所示界面就算成功 建立 C:\ueditor\ 目录。在建立需要的版本目录 ,......
  • Threejs:光影
     环境光constcolor=0xFFFFFF;constintensity=1;constlight=newTHREE.AmbientLight(color,intensity);scene.add(light);创建地面constplaneSize=......
  • js 把一个数组赋值给另一个数组
    varaArr=["a","b","c"];varbArr=aArr;这种情况下的赋值无论是对aArr还是bArr做出操作(例如删除数组中的一个元素),都将影响另一个,因为数组是指向原位置的。要切断两......
  • Threejs:捕获鼠标位置
     //获取鼠标坐标functiononPointerMove(event){//将鼠标点击位置的屏幕坐标转换成threejs中的标准坐标mouse.x=(event.clientX/window.innerWidth)*2-......
  • Threejs:创建矩阵
     设置顶点创建矩形constgeometry3=newTHREE.BufferGeometry();constvertices=newFloat32Array([-1.0,-1.0,1.0,1.0,-1.0,1.0,1.0,1.0,1.0,......
  • Threejs:创建纹理
    创建纹理//导入纹理constloader=newTHREE.TextureLoader();//加载所需要的纹理图片consttexture1=loader.load('./dist/texture/sea.jpg')constmaterial5......
  • Threejs:创建几何体——图元
     BoxGeometry盒子+MeshBasicMaterialconstgeometry=newTHREE.BoxGeometry(1,1,1);constmaterial=newTHREE.MeshBasicMaterial({color:0x00ff00});const......
  • Spring Websocket, SockJS, Stomp 整合
    ​​SpringWebsocket,SockJS,Stomp整合(WebSocket介绍)​​​​SpringWebsocket,SockJS,Stomp整合(WebSocketAPI)​​​​SpringWebsocket,SockJS,Stomp整合(Sock......
  • js-垃圾回收
    js是垃圾回收的语言,也就是执行环境负责在代码执行时管理内存。1.标记清理垃圾回收程序时,会标记内存中存储的所有变量,然后会将所有在上下文中的变量,以及被在上下文中......
  • JS方法——Date(日期)
    Date:默认情况下,JavaScript将使用浏览器的时区并将日期显示为全文本字符串。用指定日期和时间创建新的日期对象,7个数字分别指定年、月、日、小时、分钟、秒和毫秒(按此......