Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何创建自定义的3.0网格标准材质?_Javascript_Three.js - Fatal编程技术网

Javascript 如何创建自定义的3.0网格标准材质?

Javascript 如何创建自定义的3.0网格标准材质?,javascript,three.js,Javascript,Three.js,我希望创建一个与MeshStandardMaterial相同的具有三个.js的材质。 我之所以想这样做,是因为我需要它的所有特性,除了对GLSL代码的一些小更改 我尝试使用ShaderMaterial重新创建MeshStandardMaterial WAFFLE.StandardMaterial = function( parameters ) { parameters.uniforms = THREE.UniformsUtils.merge( [ THREE.UniformsLib.

我希望创建一个与MeshStandardMaterial相同的具有三个.js的材质。 我之所以想这样做,是因为我需要它的所有特性,除了对GLSL代码的一些小更改

我尝试使用ShaderMaterial重新创建MeshStandardMaterial

WAFFLE.StandardMaterial = function( parameters ) {

parameters.uniforms = THREE.UniformsUtils.merge( [
    THREE.UniformsLib.common,
    THREE.UniformsLib.aomap,
    THREE.UniformsLib.lightmap,
    THREE.UniformsLib.emissivemap,
    THREE.UniformsLib.bumpmap,
    THREE.UniformsLib.normalmap,
    THREE.UniformsLib.displacementmap,
    THREE.UniformsLib.roughnessmap,
    THREE.UniformsLib.metalnessmap,
    THREE.UniformsLib.fog,
    THREE.UniformsLib.lights,
    {
        emissive: { value: new THREE.Color( 0x000000 ) },
        roughness: { value: 0.5 },
        metalness: { value: 0 },
        envMapIntensity: { value: 1 } // temporary
    }
] );

parameters.vertexShader = THREE.ShaderChunk.meshphysical_vert;
parameters.fragmentShader = THREE.ShaderChunk.meshphysical_frag;

THREE.ShaderMaterial.call( this, parameters );

}

WAFFLE.StandardMaterial.prototype = Object.create( THREE.ShaderMaterial.prototype );
WAFFLE.StandardMaterial.prototype.constructor = WAFFLE.StandardMaterial;
到目前为止我还没有成功


如何重新创建MeshStandardMaterial?

您可以按照WestLangley的建议进行,但我认为这将改变MeshStandardMaterial的att实例