我正在构建一个类似threeJs编辑器的应用程序。我有四个摄像头,每个摄像头的名称不同,并且位置不同,其中一个摄像头是
cameras['home'] = new THREE.CombinedCamera(window.innerWidth / 2, window.innerHeight / 2, 70, 1, 1000, -500, 1000);
cameras['home'].lookAt(centerPoint);
当我使用raycaster处理选定的相机时
raycaster.setFromCamera(mouse, selectedCamera);
var intersects = raycaster.intersectObjects([sceneObjects], true);
它抛出了我的错误
'THREE.Raycaster: Unsupported camera type.'
我从
编辑了Three.jsRaycaster.prototype = {
...
setFromCamera: function ( coords, camera ) {
if ( (camera && camera.isPerspectiveCamera) ) {
到下面
if ( (camera ) ) {
即使雷卡斯特工作正常。我只是想知道为什么相机不能用于CombinedCamera
答案 0 :(得分:1)
我认为原因就在错误信息中:Raycaster代码目前不支持CombinedCamera。只是提醒一下,CombinedCamera实际上是两个摄像头:一个是正视和一个透视。
您可以尝试使用setFromCamera(selectedCamera.cameraP)或setFromCamera(selectedCamera.cameraO),但我还没有对此进行测试。