Unity中的ThreeJS着色器

时间:2018-12-13 13:05:17

标签: unity3d three.js shader hlsl phong

我正在Unity中进行一个项目,该项目使用AR将产品放置在现实世界中。这些产品(几何形状和材质)是从http服务器下载的,并在Unity中转换为游戏对象。

这些产品最初是在ThreeJS中创建的(不用问为什么),并且与Unity几何/材质相比具有不同的几何/材质结构。

我可以使用几何图形,但是我在材料方面遇到了麻烦。 Unity中的“ Standard”着色器并不包含用于创建材质的所有参数(例如:alpha贴图,环境贴图,折射,位移贴图,粗糙度贴图,双面等。)

我看过Asset Store / GitHub中的不同插件/库(例如LUXBit2GoodShader SandwichSimple Physical Shader),但看起来它们是都缺少一些参数。我正在考虑自己编写Phong / Physical着色器,但这肯定要花几个星期才能完成。

你们有什么建议吗?

1 个答案:

答案 0 :(得分:3)

“标准”着色器中没有Alpha贴图-主纹理的Alpha通道用作Alpha贴图。

也没有环境贴图-将多维数据集贴图用作反射探针。

标准着色器中没有折射-这是标准着色器。

标准着色器中的位移图称为高度图。

粗糙度图-不是标准的(可以得到的最接近的是将其反转并用作遮挡图)。

双面-不。

您需要为此编写自己的着色器。

建议是:

步骤1。为每个属性找到一个着色器

第2步。通过粘贴相关代码来合并它们