У меня есть дополнительная камера (Cam1), добавленная к трехмерному объекту (obj1). Поэтому, когда я нажимаю на объект, я хочу активировать перспективную камеру - Cam1. Он должен в основном смотреть в том же направлении, что и объект, чтобы показать, что лежит на пути объекта. Это должно быть показано в окне вставки. Пример: https://jsfiddle.net/qwb39spx/
func A(){
Cam1 = new THREE.PerspectiveCamera(10, window.innerWidth/window.innerHeight, -4, -35);
insetWidth = window.innerHeight / 4; // square
insetHeight = window.innerHeight / 4;
Camera2.aspect = insetWidth / insetHeight;
objgroup.add(Cam1);
}
В Render () у меня есть:
renderer.setClearColor( 0x000000, 0 );
renderer.setViewport(0, 0, window.innerWidth, window.innerHeight);
renderer.render(scene, camera);
// inset scene
renderer.clearDepth(); // important!
renderer.setScissorTest(true);
renderer.setScissor(20, 20, insetWidth, insetHeight);
renderer.setViewport(20, 20, insetWidth, insetHeight);
renderer.setClearColor( 0x222222, 1 );
Я пробовал:
Cam1.position.copy(objgroup.position.clone().normalize().multiplyScalar(1));
Cam1.quaternion.copy(objgroup.quaternion);
и
Cam1.rotation.copy(objgroup.rotation);
и
var pos = new THREE.Vector3();
objgroup.getWorldDirection(pos);
Cam1.lookAt(pos);
renderer.render(scene, cam1);
renderer.setScissorTest(false);
Теперь есть две проблемы:
- Я не вижу ничего в окне вставки.
- Камера продолжает экспоненциально двигаться вперед и в произвольном направлении, когда я перемещаю объект вперед и наоборот.
Пожалуйста, помогите мне решить эту проблему.
Заранее спасибо.