我在搅拌机中做了一个简单的 3d 模型并将其导出到 .obj 文件。现在我正在使用 three.js 加载它,并且我希望名称中包含字符串“可点击”的对象在点击时在 Y 轴上移动。
您可以在这里查看:http: //three.parkz.cz/shop.html
问题是从对象名称(我在搅拌机中设置)解析的信息与正确的对象不对应。
加载和解析:
var loader = new THREE.OBJMTLLoader();
loader.addEventListener('load', function(event) {
object = event.content;
object.name = 'CustomObjects';
for(var i = 0; i < object.children.length; i++) {
//console.log(object.children[i]);
var properties = object.children[i].name.split('_');
if(properties[1] == 'clickable') {
object.children[i].clickable = true;
} else object.children[i].clickable = false;
}
object.rotation.x = 0.5;
object.rotation.y = 0.5;
scene.add(object);
});
loader.load('shop.obj', 'shop.mtl');
例如,中心的两个立方体(称为“005_kiosek”和“010_kiosek2”)不应该是可点击的,但它们是!您可以打开控制台,单击它后,您可以看到它们被错误地命名为“004_clickable”和“009_clickable”!
这是我的搅拌机文件:http ://three.parkz.cz/shop.blend
是javascript方面的问题还是blender导出错误?
先感谢您!
马丁
PS:有谁知道为什么简单的网格(绿色和蓝色)渲染得不好?