【发布时间】:2019-05-14 17:03:23
【问题描述】:
我正在 Unity 中开展一个项目,该项目使用 AR 将产品放置在现实世界中。这些产品(几何和材质)从 http 服务器下载并在 Unity 中转换为游戏对象。
这些产品最初是在 ThreeJS 中创建的(不要问为什么),并且与 Unity 几何体/材料相比具有不同的几何体/材料结构。
我得到了几何图形,但我遇到了材料问题。 Unity 中的“Standard”着色器不包含创建材质的所有参数(如:alpha 贴图、环境贴图、折射、置换贴图、粗糙度贴图、双面等)。
我查看了 Asset Store/GitHub 中的不同插件/库(例如 LUX、Bit2Good、Shader Sandwich 或 Simple Physical Shader),但似乎它们都缺少一些参数。我正在考虑自己编写 Phong/Physical 着色器,但这肯定需要我几个星期才能完成。
大家有什么建议吗?
【问题讨论】:
-
编写基本的
Phong着色器不应该花费太长时间;网络上有很多与您提到的参数相关的数学示例。我也会看看FX Composer from NVIDIA。它可能会加快该过程,因为您可以实时查看着色器中的变化,唯一的缺点是 NVIDIA 不再为其提供支持。 -
Blinn-Phong 着色器确实应该很容易实现。我更担心物理着色器。我想知道是否有人有相同的想法在 Unity 中实现 ThreeJS 材料并将代码放在 GitHub(或 AssetStore)中。
-
模型是如何格式化的?您是否考虑过将模型转换为更标准的格式,已经有像 GLTF 这样的加载器?
标签: unity3d three.js shader hlsl phong