我一直关注this示例,使用three.js加载.obj模型。由于我需要加载多个模型,所以我尝试了这个
loader.addEventListener( 'load', function ( event ) {
var object = event.content;
object.position.y = - 80;
scene.add( object );
});
loader.load( 'obj/model1.obj' );
loader.load( 'obj/model2.obj' );
首先:我不知道这是否是正确的方法,因为我搜索但没有找到任何教程加载多个.obj模型。
第二:我希望能够在屏幕上点击不同的模型。我试过了this,这似乎不适合我。对此有何建议?
答案 0 :(得分:3)
此示例显示了加载多个模型的模式:
http://mrdoob.github.com/three.js/examples/webgl_loader_json_objconverter.html
关于检测点击的对象,根据您的型号,您可能需要将recursive
标记设置为true
:
ray.intersectObjects( objects, true );
答案 1 :(得分:1)
好吧,既然你没有提供足够的代码来完全解释你的问题,我猜你的第二部分你必须确保把对象放在一个对象数组中,如:
var objects = [];
初始化对象后:
objects.push( object );
现在你有了一个数组,你可以在其中检查实现THREE.Ray后相交的对象。