0
不知道這是否可能,但在three.js中使用ShaderToon.js,是否有uBaseColor值透明?並保持uLineColor值不透明?無論如何要使uBaseColor值透明? Three.js && ShaderToon.js
function createShaderMaterial(id, light, ambientLight) {
var shader = THREE.ShaderToon[ id ];
var u = THREE.UniformsUtils.clone(shader.uniforms);
var vs = shader.vertexShader;
var fs = shader.fragmentShader;
var material = new THREE.ShaderMaterial({ uniforms: u, vertexShader: vs, fragmentShader: fs });
material.uniforms.uDirLightPos.value = light.position;
material.uniforms.uDirLightColor.value = light.color;
material.uniforms.uAmbientLightColor.value = ambientLight.color;
return material;
}
geometry = new THREE.TorusKnotGeometry(106.68, 200, 12, 2, 8.44, 5.4, 1);
material = createShaderMaterial("dotted", directionalLight, ambientLight);
material.uniforms.uBaseColor.value.setHex(0xffffff); // want this to be transparent
material.uniforms.uLineColor1.value.setHex(0x0000);
mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
我看,完美,thnx這麼多:) – Nick