gpt4 book ai didi

javascript - 如何将着色器添加到从 OBJMTLLoader 加载的 THREE.Object3D

转载 作者:行者123 更新时间:2023-11-29 09:53:58 25 4
gpt4 key购买 nike

我使用 THREE.OBJMTLLoader 加载了一个模型.

var loader = new THREE.OBJMTLLoader();
loader.addEventListener('load', function(event) {
var mesh = event.content;
scene.add(mesh);
});
loader.load('model/machine.obj', 'model/machine.mtl');

我需要对这个模型应用顶点和片段着色器。如何做到这一点?

最佳答案

除了 Gero3 的答案之外,这将确保内容中的所有网格都将获得正确的 Material :

var material = new THREE.ShaderMaterial( {

uniforms: shader.uniforms,
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader

} );

var object = event.content;
object.traverse( function ( child ) {

if ( child instanceof THREE.Mesh ) {

child.material = material;

}

} );
scene.add( object );

关于javascript - 如何将着色器添加到从 OBJMTLLoader 加载的 THREE.Object3D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16249343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com