我使用colladaloader加载了一个Biped角色网格。
我可以通过改变dae对象的位置和旋转来移动网格。
dae.rotation.y+=0.01;
dae.updateMatrix();
正常运作
但我似乎无法移动个别骨骼....任何想法如何去做?
dae.children[0].rotation.z += 0.1;
dae.children[0].quaternion._x += 0.1;
dae.children[0].position.x += 0.1;
dae.children[0].matrixAutoUpdate = true;
dae.children[0].matrixWorldNeedsUpdate = true;
dae.children[0].updateMatrix();
不起作用
整个项目:
https://codenvy.com/ide/tmp-9q4s6enl9imzzs
运行链接:(可能会随着人们更新/重新运行项目而改变)
http://app-slm37q4a3tzdf3c7.apprun4.codenvycorp.com/
(每当有人执行Run> Run应用程序时都会更改,所以没有必要在此处列出运行网址。)
答案 0 :(得分:0)
在你的函数动画中,你需要在调用render()之前添加它: requestAnimationFrame(动画); 目前,即使在对骨骼进行更改之前,您还要重新运行该功能。显然没有什么是动人的。 这都是关于代码的顺序。
如果那不起作用,你可以告诉我你的控制台是否有错误吗?
答案 1 :(得分:0)
这并不像我希望的那么简单。存在由加载器创建的对象层次结构,但是移动它们不会影响几何体的顶点。
必须实现的过程称为“蒙皮方程”,以使用加权骨骼方向以及其他矩阵来转换顶点几何体。
答案 2 :(得分:0)
我想让这个答案对原始问题发表评论,因为它建议消除Codenvy应用程序每次点击更改网址的问题。粘贴到响应中的URL是临时工作空间URL。因此,一旦项目闲置10分钟,工作空间将被销毁。如果发布此项目的用户可以将他们的项目复制到他们的帐户工作区,那么有一个名为“Share-> Factory”的选项,它将生成一个a)永久性的URL,以及b)将创建一个完全克隆的工作区每个点击它的人。如果您向我们发送文件或共享您的帐户,我们可以创建可以添加到原始问题的工厂,以便所有观看者都可以看到功能齐全的克隆。