我正在 Unity 中开展一个项目,该项目使用 AR 将产品放置在现实世界中。这些产品(几何图形和 Material )从 http 服务器下载并转换为 Unity 中的游戏对象。
这些产品最初创建于 ThreeJS (不要问为什么)并且与 Unity 几何/ Material 相比具有不同的几何/ Material 结构。
我的几何体可以正常工作,但我在 Material 方面遇到了问题。 'Standard ' Unity 中的着色器不包含创建 Material 的所有参数(例如:Alpha 贴图、环境贴图、折射、位移贴图、粗糙度贴图、双面等)。
我查看了 Asset Store/GitHub 中的不同插件/库(例如 LUX 、 Bit2Good 、 Shader Sandwich 或 Simple Physical Shader ),但似乎它们也都缺少一些参数。我正在考虑自己编写 Phong/物理着色器,但这肯定需要我几周的时间才能完成。
大家有什么建议吗?
最佳答案
标准着色器中没有 alpha 贴图 - 主纹理的 alpha channel 用作 alpha 贴图。
也没有环境贴图 - 使用立方体贴图作为反射探针。
标准着色器中没有折射 - 它是标准着色器。
标准着色器中的置换贴图称为高度贴图。
粗糙度贴图 - 不符合标准(您可以获得的最接近的结果是将其反转并用作遮挡贴图)。
双面 - 不。
您需要为此编写自己的着色器。
建议是:
第 1 步:为每个属性找到一个着色器
第2步.通过复制粘贴相关代码将它们组合起来
关于unity-game-engine - Unity 中的 ThreeJS 着色器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53762548/