学习threejs/webGL——颜色和透明度

Learning threejs / webGL - color and transparency

我正在努力通过深入研究一些代码来学习 threejs/webgl,但似乎无法找到一些解决方案。

我正在使用 ocean2 着色器 (https://github.com/mrdoob/three.js/blob/master/examples/webgl_shaders_ocean2.html)

首先-这里使用的是什么颜色?它似乎不是 HSL

 OCEAN_COLOR: new THREE.Vector3(0.004, 0.016, 0.047),
 SKY_COLOR: new THREE.Vector3(3.2, 9.6, 12.8),

其次 - 是否可以更改它的 alpha?

我正在尝试在海洋下面制作图像,或者像本例中所做的那样一起替换纹理 (http://maevabarriere.com/installation-comestible)

我知道这些都是模糊的问题,但我已经研究了好几天,似乎找不到任何答案,所以即使是在正确方向上的一点也将不胜感激。我很高兴能了解更多相关信息!

如果您是通过研究海洋着色器示例来学习 three.js,那么您就是在跳入深渊。该示例最适合已经熟悉着色器和 three.js.

的用户

SKY_COLOR 表示仅针对该示例的高动态范围 RGB 颜色。

https://github.com/mrdoob/three.js/blob/master/examples/js/shaders/OceanShaders.js

如果你想让海洋变得透明,你就必须破解着色器。

three.js中的颜色通常用THREE.Color表示。 THREE.Color 没有 alpha 组件。

three.js 中的不透明度通常由 material.opacity 指定。

three.js r.75