Я пытаюсь построить виртуальный тур внутри здания (все здание представляет собой модель obj), используя three.js. Все загружается нормально, и библиотека довольно проста. Моя самая важная проблема заключается в том, что я не могу реализовать обнаружение столкновений с камерой, я пытался использовать лучи, но не смог найти подходящий пример для моего случая.
Загрузка моей модели:
var loader = new THREE.OBJMTLLoader();
loader.addEventListener( 'load', function ( event ) {
var newModel = event.content;
newModel.traverse( function ( child ) {
if ( child instanceof THREE.Mesh ) {
child.castShadow = true;
child.receiveShadow = true;
}
} );
scene.add( newModel );
objects.push( newModel );
});
loader.load( 'model/model.obj', 'model/model.mtl' );
Создание камеры (не знаю, имеет ли это отношение к вопросу)
camera = new THREE.PerspectiveCamera(
45,
window.innerWidth / window.innerHeight,
1,
10000
);
camera.position.set( 0, 25, 0 );
camera.lookAt( 0, 0, 0 );
ПРИМЕЧАНИЕ. Камера перемещается внутри модели, я не хочу обнаруживать столкновение между двумя отдельными моделями obj, я хочу обнаруживать столкновение (и не позволять камере проходить сквозь стены) внутри одной модели.
Любая помощь будет оценена