0
我已經將模型導入到Three.js場景中。我能夠移動和旋轉骨骼,但模型的幾何圖形不隨骨骼移動。導入的JSON幾何不隨骨骼移動
下面是我用導入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.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文件包含的權重,所以我不認爲我有將它們添加自己。這與將骨架綁定到網格有什麼關係?
這裏是我的代碼的鏈接 - https://jsfiddle.net/joeob61k/1/(使用腳本新鏈接,謝謝@Mr Polywhirl。)
正如你所看到的,「Bone_2」在GUI控件移動的骨頭之一,但不是目。
編輯:我試圖在render()函數中訪問網格的骨骼。我已經用下面的代碼行這樣做,
mesh.skeleton.bones[2].rotation = 0.1;
我得到以下錯誤:「不能讀取屬性‘中未定義是網格變量’未定義(...)的」骨架。有沒有新的方式來訪問我需要使用的SkinnedMesh的骨骼?
我添加缺少的腳本[您的jsfiddle(https://開頭的jsfiddle。淨/ joeob61k/1 /)如果有人想解決它。 –
@ Mr.Polywhirl你會對如何解決這個問題有任何想法嗎?感謝您添加腳本! – skelto