Appearance
材质制作指南
在编辑器中我们提供了一些预设材质库支持在我们的 Native 自研引擎和 Unity 同时使用
1 shader
在 Assets 中搜索 i3dshaders 可以找到我们预先写好的一些材质 shader
i3dShader名称 | 简介 | 对应UnityShader |
---|---|---|
SpecialStandard | 洞见自研PBRShader,在一个Shader里能够处理金属非金属、半透明、清漆等多种效果。具体使用方法将在下面讲解。 | 无 |
Standard | 不透明物体的PBR渲染 金属/粗糙度工作流 | Standard Rendering Mode[Opaque] |
Standard Cutout | 适合渲染部分透明物体的PBR效果 通过设置CutoffValue实现透明度低于一定值就直接剔除,可以用来做树叶的效果。 金属/粗糙度工作流 | Standard Rendering Mode[Cutout] |
Standard Fade | 半透明物体的PBR渲染 修改Color里的a,效果就是直接影响最终的透明度,a调为0时物体完全不可见。 金属/粗糙度工作流 | Standard Rendering Mode[Fade] |
Standard Transparent | 半透明物体的PBR渲染 修改Color里的a,效果是只影响固有色的透明度,还会保留物体的材质特性,物体的高光和反射不受透明度的影响。 金属/粗糙度工作流 | Standard Rendering Mode[Transparent] |
Standard Specular | 不透明物体的PBR渲染 镜面反射/光泽度工作流 | Standard (Specular setup) Rendering Mode[Opaque] |
Standard Specular Cutout | 适合渲染部分透明物体的PBR效果 类似上述Standard Cutout 镜面反射/光泽度工作流 | Standard(Specular setup) Rendering Mode[Cutout] |
Standard Specular Fade | 半透明物体的PBR渲染 类似上述Standard Fade 镜面反射/光泽度工作流 | Standard(Specular setup) Rendering Mode[Fade] |
Standard Specular Transparent | 半透明物体的PBR渲染 类似上述Standard Transparent 镜面反射/光泽度工作流 | Standard(Specular setup) Rendering Mode[Transparent] |
2 材质库
在下图目录中有我们预设的一些材质球可以直接使用
PBR材质
PBR 材质,或者说 Standard 材质,用于实现真实材质的光照渲染效果。请在「Shader」下拉列表中选择 i3dEngine 下的选项,如下图。
![]() | ![]() |
---|
下面着重介绍Special Standard的使用方法
编辑器中内置了常用材质案例 Demo,真机实拍如下:
所用模型都是一个最简单的球体,只是附上了很少的几张贴图,调整各项参数即可达到多样的效果。
SpecialStandard 材质界面图示及说明如下:
![]() | - Rendering Mode: 有如下 4 个选项,效果与上述 Standard 系列中的 Rendering Mode一一对应,其中 AlphaTest 对应 Cutout - Albedo: 固有色/漫反射颜色 - Metallic/Smoothness: 金属度和光滑度,金属度取贴图的 R 通道,光滑度取贴图的 A 通道 - Normal Map: 法线贴图 - Occlusion: 环境光遮蔽贴图 - Emission: 自发光,默认关闭,开启后颜色和贴图设置才会出现 - ShadowMap PCF Soft: PCF 软阴影效果,用于接收阴影的物体,开启后计算量会增大,谨慎勾选。 - Use Refraction: 暂未启用 - Use Clear Coat: 清漆涂层效果,默认关闭,开启后设置项才会出现 - Clear Coat 值设置在 0 - 1 - ClearCoat Roughness 对于很光滑的物体,推荐设置小于 0.1 的值,边缘反射的效果会更明显 - Normal Map 表面涂层的法线贴图,建议设置一些细节性的凹凸感例如划痕,涂层效果会很好 - Culling Mode: 面剔除模式,默认为剔除背面,可以选择正面剔除或不剔除。不剔除双面都会渲染,谨慎选择 |
---|
下图展示了 4 种清漆涂层的效果。
例如这个红色球,仔细观察可以发现上面有一层带有划痕的涂层效果,达到一种较为真实的橡胶质感。
对于半透明模式,如 Fad e或 Transparent,材质内置了多种混合模式,当选择了这两个模式后混合模式就会在下面出现。
Transparency 用于调整整体的透明度。
Blending Mode 用于选择不同的混合模式,具体选项参考 PhotoShop 中图层混合或下文中粒子材质的混合效果。
选择不同的混合模式以及 AlphaTest(即Cutout)示例效果如下:
注意,AlphaTest 模式并不是模型本身是镂空的,而是通过控制 Albedo 贴图的透明度达到剔除部分三角面的效果。不过目前暂不支持 AlphaTest 的阴影镂空。
Unlit 材质
Unlit 材质用于制作不需要光照的渲染效果,例如纯贴图或者和颜色的渲染。
我们支持 Unity 内置的 4 个 Unlit Shader,在 Shader 下拉列表里选择 Unlit 下的选项。
其中 Transparent Cutout 类似上述 StandardShader 里的 AlphaTest,实现根据透明度抠图的效果。
![]() | ![]() |
---|
自定义Shader
自定义 Shader 一般通过 Shader Editor 制作或者写 ShaderLab 实现。需要注意的是,由于 SurfaceShader 基于 PBR 光照渲染,即使自定义 Shader 本身不复杂,最终运行时也会进行全套的 PBR 光照计算。所以,出于对性能的优化考虑,对于不需要接收光照的个性化 Shader,强烈推荐基于 UnlitShader 进行制作或编写。
导出时我们的编辑器能够自动对自定义Shader进行编译并导出。由于我们的自研渲染引擎需要广泛兼容高中低端机型,对于一些特性可能不支持,导出过程中如果编译Shader出错,请联系我们的技术支持团队。
粒子材质
考虑移动端 AR 内容的性能优化,我们不支持在粒子中使用光照。因此请在 Shader 下拉列表中选择 Legacy Shader -> Particles下的选项。
![]() | ![]() | ![]() |
---|
根据内容效果请选择如下 shader:
Additive Multiply | 加倍叠加,与后面的颜色叠加后呈现非常亮的效果 |
---|---|
Additive | 普通叠加,颜色叠加后会亮一些 |
Additive (Soft) | 柔和叠加,效果比普通叠加更加柔和 |
Alpha Blended | 透明度混合,正常的颜色混合效果 |
Multiply | 颜色相乘,效果会偏深偏暗,色彩浓重一些 |
Multiply(Double) | 双倍相乘,色彩比上面的Multiply更浓重 |