gpt4 book ai didi

javascript - Three.js MeshPhongMaterial normalScale 抛出错误

转载 作者:行者123 更新时间:2023-11-29 14:41:35 25 4
gpt4 key购买 nike

我有一个名为“material”的 MeshPhongMaterial,如下所示:

var material = new THREE.MeshPhongMaterial({
map: THREE.ImageUtils.loadTexture('assets/images/8k-earth-diffuse.jpg'),
normalMap: THREE.ImageUtils.loadTexture('assets/images/8k-earth-normal.jpg'),
normalScale: (0.1, 0.1),
specularMap: THREE.ImageUtils.loadTexture('assets/images/8k-earth-spec.png'),
specular: new THREE.Color('grey')
});

一切正常并得到应用,包括贴图和法线贴图。问题是,当我尝试添加 normalScale 属性时,它会抛出以下错误:

Uncaught TypeError: Failed to execute 'uniform2fv' on 'WebGLRenderingContext': No function was found that matched the signature provided.

我之前使用过 normalScale 并使用了正确的语法,直到最近它一直在工作。没有 normalScale 一切都很好。我正在使用修订版 77。我的问题是为什么会发生这种情况以及导致此错误的原因是什么?如何在 three.js 不抛出错误的情况下使用 normalScale?我已经使用 Chrome DevTools 获取在 three.js 源中引发错误的行:

if ( v.x === undefined ) gl.uniform2fv( this.addr, v );

最佳答案

您没有正确设置 normalScale:

var material = new THREE.MeshPhongMaterial( {

normalMap: THREE.ImageUtils.loadTexture('assets/images/8k-earth-normal.jpg'),

normalScale: new THREE.Vector3( 0.1, 0.1 );

) };

或者,在实例化 Material 之后:

material.normalScale.set( 0.1, 0.1 );

three.js r.77

关于javascript - Three.js MeshPhongMaterial normalScale 抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37646394/

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