#javascript #three.js #3d
Вопрос:
Я пытаюсь заставить перспективную камеру проходить через портал, как в игровом портале, и поворачиваться относительно грани портала, из которой она выходит, чтобы вы смотрели в ту же сторону, что и выходной портал, сохраняя при этом ту же точку зрения, что и при входе в портал. Я попытался реализовать это с помощью getWorldDirection() примерно так:
var portalNormal = new THREE.Vector3(); portal.getWorldDirection(portalNormal); var exitPortalNormal = new THREE.Vector3(); exitPortal.getWorldDirection(exitPortalNormal ); var camNormal = new THREE.Vector3(); camera.getWorldDirection(camNormal); camNormal.add(portalNormal); camNormal.sub(portalLinkNormal); camera.lookAt(camNormal)
Этот код, кажется, почти работает, но камера никогда не вращается правильно. Спасибо за помощь! А также дайте мне знать, правильно ли я задаю вопрос, потому что я не совсем уверен, как это сформулировать.