Javascript 导入的JSON几何体不随骨骼移动
我已经将一个模型导入到我的Three.js场景中。我可以移动和旋转骨骼,但模型的几何体不会随骨骼一起移动 下面是我用来导入JSON文件并将其添加到场景中的代码Javascript 导入的JSON几何体不随骨骼移动,javascript,json,three.js,geometry,mesh,Javascript,Json,Three.js,Geometry,Mesh,我已经将一个模型导入到我的Three.js场景中。我可以移动和旋转骨骼,但模型的几何体不会随骨骼一起移动 下面是我用来导入JSON文件并将其添加到场景中的代码 /*load JSON file*/ // instantiate a loader var loader = new THREE.JSONLoader(); loader.load( 'https://cdn.rawgit.com/wpdildine/wpdildine.github.com/master/models/cylinder
/*load JSON file*/
// instantiate a loader
var loader = new THREE.JSONLoader();
loader.load( 'https://cdn.rawgit.com/wpdildine/wpdildine.github.com/master/models/cylinder.json', addModel );
var helpset;
var scaleVal = 3;
function addModel( geometry, materials ){
materials.skinning = true;
var cs = scaleVal * Math.random();
mesh = new THREE.SkinnedMesh( geometry, new THREE.MeshFaceMaterial(materials) );
scene.add(mesh);
helpset = new THREE.SkeletonHelper(mesh);
scene.add(helpset);
}
我导入的JSON文件包含权重,因此我认为我不必自己添加权重。是否与将骨架绑定到网格有关
这是我的代码链接-(与脚本的新链接,谢谢@Mr.Polywhill)
如您所见,GUI控件中的“Bone_2”会移动其中一个骨骼,但不会移动网格
编辑:我已尝试在render()函数中访问网格的骨骼。我使用以下代码行完成了这项工作
mesh.skeleton.bones[2].rotation = 0.1;
我得到以下错误:'无法读取未定义(…)'的属性'skeleton',Wes undefined是网格变量。有没有一种新的方法可以访问我需要使用的SkindMesh骨骼?问题在于线路
materials.skinning = true;
需要以下几点才能起作用:
materials[0].skinning = true;
我将缺少的脚本添加到了“如果有人想解决它”。@polywhill先生,您对如何解决此问题有何想法?感谢添加脚本!