一个obj文件中包含三个js Access对象
Three js Access objects contained in an obj file
我需要加载一个obj文件,并在一瞬间将不同的材质应用于obj文件中包含的零件。
我使用我在三个js示例中找到的OBJLoader加载带有此代码的OBJ文件:
var loader = new THREE.OBJLoader( manager );
loader.load( '../includes/open.obj', function ( object ) {
console.log(object);
object.name = "object_name";
object.traverse( function ( child ) {
if ( child instanceof THREE.Mesh ) {
child.geometry.computeVertexNormals();
}
} );
scene.add( object );
} );
我可以为整个obj模型指定一种材质,但不能为模型的各个部分指定不同的材质。
我试着在控制台中检查对象结构,但结果只有一个子对象。
查看OBJLoader2,它似乎应该返回不同对象中的模型部分,但它在three.min.js的第185行给了我一个错误"undefined不是函数"。
有人能帮我吗?我真的解决不了。
感谢
不确定我是否正确理解了这个问题,所以如果这不是你想要的答案,请告诉我。
请修改每个孩子的材质属性。
var childCounter = 0;
var loader = new THREE.OBJLoader( manager );
loader.load( '../includes/open.obj', function ( object ) {
console.log(object);
object.name = "object_name";
object.traverse( function ( child ) {
if ( child instanceof THREE.Mesh ) {
if(childCounter == 0) {
child.material = new THREE.MeshLambertMaterial( { color: 0x00ff00, shading: THREE.FlatShading} );
}
else {
child.material = new THREE.MeshLambertMaterial( { color: 0x0000ff, shading: THREE.FlatShading, transparent: true, opacity: 0.5} );
}
child.geometry.computeVertexNormals();
scene.add(child);
childCounter++;
}
} );
});
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 强制模板刷新ember.js
- 如何编写HTML输入的JS内联
- Angular JS IE9 Hashbang url rewriting
- 使用JS将数组转换为json对象
- Node.js v6.2.0类扩展不是函数错误
- 使用 node.js 设置 Microsoft Access 数据库连接
- Angular JS$http Access-Control-Allow-Origin中的Credentials和通配符
- JS SDK facebook API pass access token
- 一个obj文件中包含三个js Access对象
- node.js中的Access属性
- require js中的Access方法
- Access-Control-Allow-Origin on node.js WITHOUT Express.js
- Express JS: No 'Access-Control-Allow-Origin'标头存在于请求的
- Js歌珥.没有& # 39;Access-Control-Allow-Origin& # 39;
- Angular JS发送base64数组到NodeJs server- Allow-Access-Control-Ori
- Knockout JS - viewModel access