1
로드 3dObject 작동하지 감지를 클릭 레이 캐스트threejs 내가 .OBJ 파일을로드
click: function(event){
this.mouse.x = (event.clientX/window.innerWidth) * 2 - 1;
this.mouse.y = - (event.clientY/window.innerHeight) * 2 + 1;
var vector = new THREE.Vector3(this.mouse.x, this.mouse.y, 1).unproject(this.camera);
this.raycaster.set(this.camera.position, vector.sub(this.camera.position).normalize());
console.log(this.scene.children);
var intersects = this.raycaster.intersectObjects(this.scene.children);
if (intersects.length > 0) {
console.log("hitting something");
}
},
이 메시에 잘 작동하지만에 로드 된 3DObject가이 스크린에 표시되어있는 동안 :
[THREE.Mesh, THREE.Line, THREE.PointLight, --> THREE.Object3D <-- ]0: THREE.Mesh__webglActive: true__webglInit: true_listeners: Object_modelViewMatrix: THREE.Matrix4_normalMatrix: THREE.Matrix3castShadow: falsechildren: Array[0]eulerOrder: (...)frustumCulled: truegeometry: THREE.IcosahedronGeometryid: 4material: THREE.MeshBasicMaterialmatrix: THREE.Matrix4matrixAutoUpdate: truematrixWorld: THREE.Matrix4matrixWorldNeedsUpdate: falsename: ""parent: THREE.Sceneposition: THREE.Vector3quaternion: THREE.QuaternionreceiveShadow: falserenderDepth: nullrotation: THREE.EulerrotationAutoUpdate: truescale: THREE.Vector3type: "Mesh"up: THREE.Vector3useQuaternion: (...)userData: Objectuuid: "46D85379-A9CE-4221-A599-39D13EE4CB34"visible: true__proto__: Object1: THREE.Line2: THREE.PointLight3: THREE.Object3D
무언가가로드를 위해 다른 것을 필요로한다고 알려줍니다. 3dObjects. 그러나 나는 그게 무엇인지에 대해서는 전혀 모른다. 제 아이디어는 광선 캐스팅이 교차점의 꼭지점을 찾고 그것이 큐브 메쉬인지 또는 3dObject 메쉬인지는 중요하지 않습니다. 아무도 아이디어가 있니?
감사 r.69 같은 재귀 플래그를 전달해야합니다. – hobs