嗨,我正在尝试使用threejs做看似简单的着色。我正在使用O'reilly撰写的《跑步与跑步》一书。
一切正常,直到我尝试这样做:
var shader = THREE.ShaderLib["normal"];
var uniforms = THREE.UniformsUtils.clone(shader.uniforms);
uniforms["tNormal"].texture = normalMap;
uniforms["tDiffuse"].texture = surfaceMap;
uniforms["tSpecular"].texture = specularMap;
这总是抛出此错误:
TypeError:uniforms.normal未定义
[中断此错误]
Uniforms [“normal”]。texture = normalMap;
我已经在线浏览了一段时间,但不确定要解决此问题需要更改哪种语法。
任何帮助表示赞赏。
最佳答案
我认为应该像这样:
uniforms["tNormal"] = {
texture: normalMap
};
与
tDiffuse
和tSpecular
相同。