Pracuję nad projektem 3D za pomocą THREE.JS i chcę animować prostą postać podobną do Minecrafta.THREE.JS jak przenieść kości SkinnedMesh?
W tym celu wyeksportowałem jeden z Blendera (z kośćmi) i wyrenderuję go z THREE.JS za pomocą klasy SkinnedMesh.
Próbowałem wszystkiego, aby przesunąć ramię siatki, ale nie mogę wymyślić, jak to zrobić. Próbowałem zmienić obrót, położenie, macierz, a także ustawić flagę na true (jak matrixWorldNeedsUpdate, ale ramię się nie poruszyło).
Oto przykładowy kod:
var meshBody = new THREE.SkinnedMesh(geometry, materialTexture);
...
animate = function(){
meshBody.bones[3].rotation.z += 0.1
meshBody.bones[3].matrixAutoUpdate = true;
meshBody.bones[3].matrixWorldNeedsUpdate = true;
}
Hmm, kiedy to zrobię, model zniknie. W tym samouczku [link] (https://devmatrix.wordpress.com/2013/02/27/creating-skeletal-animation-in-blender-and-exporting-it-to-three-js/) wspomina o nazywaniu kości z tymi samymi, co grupy wierzchołków. Brzmi trochę dziwnie, ale spróbowałem i to nie miało znaczenia ... – robshearing
OK, mam to teraz. Muszę dodać więcej niż jeden wierzchołek. – robshearing