3
我使用THREE.OBJLoader()加載.obj文件,並在將其添加到屏幕後將myobj []數組中的每個對象推入。THREE.js跟蹤模型(對象)
var myObjs = [];
var loader = new THREE.OBJLoader();
loader.addEventListener('load', function (event) {
var object = event.content;
object.position.x=xpos;
object.position.y = ypos;
scene.add(object);
teeth.push(object);
});
loader.load('obj/myobj1.obj');
loader.load('obj/myobj2.obj');
loader.load('obj/myobj3.obj');
我可以檢查對象是否被點擊或不使用下面的代碼:
function onDocumentMouseDown(event) {
event.preventDefault();
var vector = new THREE.Vector3((event.clientX/window.innerWidth) * 2 - 1, - ( event.clientY/window.innerHeight) * 2 + 1, 0.5);
projector.unprojectVector(vector, camera);
var ray = new THREE.Ray(camera.position, vector.subSelf(camera.position).normalize());
var intersects = ray.intersectObjects(teeth, true);
if (intersects.length > 0) {
intersects[0].object.position.z=50;
}
到目前爲止好。現在我無法弄清楚的是如何跟蹤myobjs []數組中的哪個對象是單擊的,或者我應該說我怎樣才能在myobjs數組中映射intersects [0] .object。
問候, ZB