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
带画布渲染器的three.js渐变_Three.js - Fatal编程技术网

带画布渲染器的three.js渐变

带画布渲染器的three.js渐变,three.js,Three.js,我知道使用webgl渲染器,我可以在材质上使用顶点颜色来创建线性渐变。根据文档,这对画布渲染器不起作用。我如何回到画布渲染器上,仍然有渐变?我希望它受到环境照明的影响,因此我不能依赖于图像纹理。是的,CanvasRenderer不支持MeshLambertMaterial和漫反射纹理的组合 如果您所关心的只是环境光,那么您可以对纹理使用MeshBasicMaterial,并动态地将纹理变暗以模拟环境光着色。(实际上,您可以通过这种方式模拟任何照明。) 注意,这是一个真正的黑客 创建基于环境光修改

我知道使用webgl渲染器,我可以在材质上使用顶点颜色来创建线性渐变。根据文档,这对画布渲染器不起作用。我如何回到画布渲染器上,仍然有渐变?我希望它受到环境照明的影响,因此我不能依赖于图像纹理。

是的,
CanvasRenderer
不支持
MeshLambertMaterial
和漫反射纹理的组合

如果您所关心的只是环境光,那么您可以对纹理使用
MeshBasicMaterial
,并动态地将纹理变暗以模拟环境光着色。(实际上,您可以通过这种方式模拟任何照明。)

注意,这是一个真正的黑客

创建基于环境光修改纹理的函数。(
image
是您案例中的无阴影渐变。)

然后,在渲染循环中,更新纹理

applyAmbient( mesh, textureImage, ambientFactor );
mesh.material.map.needsUpdate = true; // important!
jsfiddle:


three.js r.62

是,
CanvasRenderer
不支持
MeshLambertMaterial
和漫反射纹理的组合

如果您所关心的只是环境光,那么您可以对纹理使用
MeshBasicMaterial
,并动态地将纹理变暗以模拟环境光着色。(实际上,您可以通过这种方式模拟任何照明。)

注意,这是一个真正的黑客

创建基于环境光修改纹理的函数。(
image
是您案例中的无阴影渐变。)

然后,在渲染循环中,更新纹理

applyAmbient( mesh, textureImage, ambientFactor );
mesh.material.map.needsUpdate = true; // important!
jsfiddle:


three.js r.62

是,
CanvasRenderer
不支持
MeshLambertMaterial
和漫反射纹理的组合

如果您所关心的只是环境光,那么您可以对纹理使用
MeshBasicMaterial
,并动态地将纹理变暗以模拟环境光着色。(实际上,您可以通过这种方式模拟任何照明。)

注意,这是一个真正的黑客

创建基于环境光修改纹理的函数。(
image
是您案例中的无阴影渐变。)

然后,在渲染循环中,更新纹理

applyAmbient( mesh, textureImage, ambientFactor );
mesh.material.map.needsUpdate = true; // important!
jsfiddle:


three.js r.62

是,
CanvasRenderer
不支持
MeshLambertMaterial
和漫反射纹理的组合

如果您所关心的只是环境光,那么您可以对纹理使用
MeshBasicMaterial
,并动态地将纹理变暗以模拟环境光着色。(实际上,您可以通过这种方式模拟任何照明。)

注意,这是一个真正的黑客

创建基于环境光修改纹理的函数。(
image
是您案例中的无阴影渐变。)

然后,在渲染循环中,更新纹理

applyAmbient( mesh, textureImage, ambientFactor );
mesh.material.map.needsUpdate = true; // important!
jsfiddle:


three.js r.62

你是指你写的内容吗?仅限环境?如果是这样,您可以使用
网格.BasicMaterial
,使用纹理表示渐变,并在环境光变暗时动态变暗纹理。为了澄清,我为场景提供了一个改变亮度的环境光。使用webgl渲染器,图像纹理受该亮度的影响。当它返回到cavas渲染器时,它们不是。我假设这是某种画布渲染器限制。除了使用环境光,我如何在飞行中使其变暗?当你说纹理时,我假设一个图像-我对Three.Js是新手,基本上我想要一个线性渐变的材质,它可以受到两个渲染器的照明的影响。另外,我可以手动操作,只要我可以保持它与环境光(tweed)同步。你是说你写的——仅环境光吗?如果是这样,您可以使用
网格.BasicMaterial
,使用纹理表示渐变,并在环境光变暗时动态变暗纹理。为了澄清,我为场景提供了一个改变亮度的环境光。使用webgl渲染器,图像纹理受该亮度的影响。当它返回到cavas渲染器时,它们不是。我假设这是某种画布渲染器限制。除了使用环境光,我如何在飞行中使其变暗?当你说纹理时,我假设一个图像-我对Three.Js是新手,基本上我想要一个线性渐变的材质,它可以受到两个渲染器的照明的影响。另外,我可以手动操作,只要我可以保持它与环境光(tweed)同步。你是说你写的——仅环境光吗?如果是这样,您可以使用
网格.BasicMaterial
,使用纹理表示渐变,并在环境光变暗时动态变暗纹理。为了澄清,我为场景提供了一个改变亮度的环境光。使用webgl渲染器,图像纹理受该亮度的影响。当它返回到cavas渲染器时,它们不是。我假设这是某种画布渲染器限制。除了使用环境光,我如何在飞行中使其变暗?当你说纹理时,我假设一个图像-我对Three.Js是新手,基本上我想要一个线性渐变的材质,它可以受到两个渲染器的照明的影响。另外,我可以手动操作,只要我可以保持它与环境光(tweed)同步。你是说你写的——仅环境光吗?如果是这样,您可以使用
网格.BasicMaterial
,使用纹理表示渐变,并在环境光变暗时动态变暗纹理。为了澄清,我为场景提供了一个改变亮度的环境光。使用webgl渲染器,图像纹理受该亮度的影响。当它返回到cavas渲染器时,它们不是。我假设这是某种画布渲染器限制。除了使用环境光,我如何在飞行中使其变暗?当你说纹理时,我假设是一幅图像——我对Three.Js是新手,基本上我想要一种线性渐变的材质,它可以受到两种渲染的照明的影响