2016-05-14 5 views
0

я рабочего раствора с этим кодом:Threejs - объект вращения вокруг центра

var collisionGroup = new THREE.Group(); 
scene.add(collisionGroup); 

(function() { 
    var geometry = new THREE.CircleGeometry(20, 32); 
    var material = new THREE.MeshBasicMaterial({ color: 0xffff00 }); 
    var collisionCircle = new THREE.Mesh(geometry, material); 
    collisionCircle.position.z = -180; 
    collisionGroup.add(collisionCircle); 
})(); 

function animate(timestamp) { 
    // apply camera rotation 
    var rotObjectMatrix = new THREE.Matrix4(); 
    rotObjectMatrix.makeRotationFromQuaternion(camera.quaternion); 
    collisionGroup.rotation.setFromRotationMatrix(rotObjectMatrix); 

    // Update VR headset position and apply to camera. 
    controls.update(); 

    // Render the scene through the manager. 
    manager.render(scene, camera, timestamp); 

    requestAnimationFrame(animate); 
} 

Но я хотел бы знать, если это возможно, чтобы достичь этой цели без создания группы для каждого объекта я хотел бы, чтобы повернуть (там будет многие из них). Позиция для этих объектов основана на вращении камеры и поэтому я использовал makeRotationFromQuaternion и rotation.setFromRotationMatrix.

Возможно, есть более легкое решение, а затем хранение кватернионов камеры.

+0

Трюк должен был бы изменить вашу геометрию и заранее скорректировать положение каждой вершины. Я не использовал Three.js через некоторое время, поэтому я не смог бы легко дать вам прямой пример. Но вы можете проверить документы (искать часть для 'position') http://threejs.org/docs/#Reference/Core/BufferGeometry –

+1

Собственно, моя ошибка, вероятно, будет правильной ссылкой http://threejs.org/docs/# Reference/Core/Geometry, и вы будете искать 'translate'. –

ответ

0

Я не уверен, что это хорошая альтернатива тому, чего вы хотите достичь, но вы можете рассмотреть возможность добавления объектов на камеру (камера также является экземпляром THREE.Object3D). Как дети камеры, это сделает их положение и вращение относительно положения и вращения камеры.

Смежные вопросы