three.js でグループ化したメッシュの回転中心軸を変えたい.
js
1var objectGroup = Array.apply(null, Array(3)).map(function(){return new THREE.Group();}); 2 3 4object[0] = new THREE.Mesh( 5 new THREE.CylinderGeometry( 1, 1, 25 ,32), // w,h,d 6 new THREE.MeshNormalMaterial() 7); 8object[0].position.set( objDefParam[0].posX, objDefParam[0].posY, objDefParam[0].posZ ); 9object[0].rotation.set( objDefParam[0].rotX, objDefParam[0].rotY, objDefParam[0].rotZ ); 10 11(中略) 12 13object[3].rotation.set( objDefParam[3].rotX, objDefParam[3].rotY, objDefParam[3].rotZ ); 14 15objectGroup[0].add( object[0] ); 16objectGroup[0].add( object[1] ); 17objectGroup[0].add( object[2] ); 18objectGroup[0].add( object[3] ); 19scene.add( objectGroup[0] ); 20 21 22var quat = objectGroup[0].quaternion; 23var target = new THREE.Quaternion(); 24var axis = new THREE.Vector3(0,0,1).normalize(); 25 26( function update () { 27 target.setFromAxisAngle(axis, Math.sin(+new Date() / 500)); 28 quat.multiply(target); 29 30(中略) 31 32 renderer.render( scene, camera ); 33} )(); 34
として作成したTHREE.Groupの回転軸を変更したい
このように上部のシリンダーを軸に回転させたいが,
このように全体が空間のx,y,z軸を中心に傾いていってしまう.
どのようなコード・機能で実現できるのでしょうか?
よろしくお願いいたします.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/09 07:17