本文共:7034字,预计阅读时间:18分钟
感谢作者:琥珀川的分享
Cocos Creator 引擎支持 PBR 材质和纹理。
Cocos Creator 创建的材质,默认使用的是 builtin-standard.effect 着色器,又称之为 PBR 材质,PBR 材质使用 PBR 流程中的 Metal/Roughness 工作流。
在使用 PBR 材质进行渲染时,为获得正确的渲染效果,至少需要设置材质的:
贴图可以使用 Photoshop、Substance 等图像软件制作。这些贴图都可以在材质资源属性面板中进行设置 。
关于 PBR 材质和贴图的详细内容,请参考文档: https://docs.cocos.com/creator/manual/zh/shader/effect-builtin-pbr.html
也可以使用 Cocos 支持的 PBR 贴图。(推荐使用这种贴图方式)
PBR 贴图是一种混合贴图。PBR Map 内的 3 个通道各包含一种贴图。
Cocos Creator 目前支持的贴图格式:
01. 在 assets 右键 Create —— Folder。创建新项目文件夹,并命名文件夹。
02. 创建资源文件夹,来存放模型资产和场景文件。
01. 将做好的模型文件,拖入到项目文件夹内的 Models 下面。Cocos Creator 会自动加载所有资产。
02. 将做好的贴图文件,拖入到项目文件夹内的 Textures 下面。
03. 贴图导入 Cocos Creator 后,设置贴图的类型。
在 Scene 文件夹右键创建场景,命名为:SpaceStation,并双击打开 SpaceStation 场景。
场景目前使用的是默认设置,场景内只有一盏主光源和主摄影机以及默认天空盒。
01. 导入不带贴图的 FBX 模型文件。
将SpaceStation_G,FBX 模型文件,拖入到 Hierarchy 内。模型资产会加载到场景内。
02. 使用 FBX 智能材质导入带贴图的 FBX 模型文件
FBX 智能材质导入是模型导入器中辅助转换材质的一个功能,它可以将各种 DCC(Digital Content Creation)工具导出到模型中的部分标准材质直接映射到 Cocos Creator 的内置材质中,尽量还原美术在 DCC 工具中看到的材质效果。
FBX 智能材质导入支持以下 DCC 工具和材质。
Softwar | Phong | PBR |
---|---|---|
3ds Max | Standard(legacy) | Physical Material |
Blender | N/A | Principled BSDF |
C4D | Standard | N/A |
Maya | Lambert/Blinn/Phong | Standard Surface |
关于 FBX 智能材质导入的更多信息,请参考文档。 https://docs.cocos.com/creator/manual/zh/importer/materials/fbx-materials.html
FBX 模型和贴图导入 Cocos Creator 以后,将 SpaceStation_G,FBX 模型文件,拖入到 Hierarchy 内。
模型和贴图资产会加载到场景内。
01. PBR 材质制作
默认导入 FBX 模型自带的材质 Effect 格式为:dcc/imported-specular-glossiness 格式。
我们要先改为常用的格式:builtin-standard
不透明物体的材质选择:0-opaque
透明物体的材质选择:1-transparent
如果要使用透明材质,固有色贴图 (Albedo) 需要包含 Alpha 透明通道。
不透明物体的材质(0-opaque)效果:
透明物体的材质(1-transparent)效果:
固有色贴图(Albedo)包含 Alpha 透明通道
另一种制作透明材质的方法:使用 USE ALPHA TEST
所以,根据项目需要选择不同的透明贴图方式。
02. 创建新材质
在 Materials 文件夹右键 Create——Material。创建新材质,并命名材质。
03. 给材质添加贴图
有两种方法添加 PBR 贴图。
将制作好的 Albedo、Metallic Roughness、Normal 贴图,导入材质球的指定位置。Albedo 贴图:
Metallic Roughness 贴图:
Normal 贴图,Normal Strength 调整法线贴图强度:
Albedo 贴图:
PBR 贴图:
Normal 贴图:Normal Strength 调整法线贴图强度。
关于 PBR 材质导的更多信息,请参考文档。 https://docs.cocos.com/creator/manual/zh/shader/effect-builtin-pbr.html
04. PBR 材质属性设置
01. 在 Hierarchy 内选择 SpaceStation 场景
02. 在 Inspector 面板,设置所需参数
三种环境光类型介绍,请参考文天空盒相关文档。 https://docs.cocos.com/creator/manual/zh/concepts/scene/skybox.html
Reflection Convolution:点击 bake 后效果
Reflection Convolution:点击 Remove bake 后效果
03. 光源阴影属性
默认阴影类型是:Planar 一般用于较为简单的场景。
注意:Planar 类型的阴影只有投射在平面上才能正常显示,不会投射在物体上,也就是说 Mesh Renderer 组件中的 Receive Shadow 属性是无效的。
01. 主光源 Main Light 使用 Directional Light 来模拟太阳光
场景阴影类型为:Shadow Map 时,可以开启 DirectionaLight 的阴影选项
关闭 CSM 效果
开启 CSM 效果
02. 使用 Sphere Lights 光源
Sphere Lights 效果
03. 使用 Spot Light 光源
Spot Light 光源阴影设置(聚光灯光阴影 已经从场景设置面板中独立出来,不再受到全局 阴影参数的影响)。
PCF 软阴影 百分比渐近过滤(PCF)是一个简单、常见的用于实现阴影边缘反走样的技术,通过对阴 影边缘进行平滑处理来消除阴影贴图的锯齿现象。 原理是在当前像素(也叫做片段)周围 进行采样,然后计算样本跟片段相比更接近光源的比例,使用这个比例对散射光和镜面光 成分进行缩放,然后再对片段着色,以达到模糊阴影边缘的效果。 目前 Cocos Creator 支持 硬采样、4 倍采样(SOFT 模式)、9 倍采样(SOFT_2X 模式),倍数越大,采样区域越大,阴影边缘也就越柔和。
01. 模型的阴影设置
请在模型的 Mesh Renderer 组件上设置相关内容。
02. 模型的 Lightmap 设置
注意,要生成光照贴图的模型有以下两点要求:
01. 在 Hierarchy 中选中光源节点,然后在 Inspector 中设置光源组件的 Static Settings,勾选 Bakeable 属性。
02. 点击编辑器菜单栏的 项目--光照贴图,打开光照贴图面板。面板由 Scene 和 Baked 两个页面组成。
参数 | 说明 |
---|---|
MSAA | 多重采样,可选值包括:1 、2 、4 、8 |
Resolution | 生成的光照贴图的分辨率,可选值包括:128 、256 、512 、1024 、2048 |
GIScale | 全局光照缩放系数 |
GISamples | 全局光照采样系数 |
Bounces | 光照反弹次数 |
AOLevel | AO (Ambient Occlusion,环境光遮蔽) 级别 |
AOStrength | AO 强度 |
AORadius | AO 半径 |
AOColor | AO 颜色 |
点击生成光照贴图按钮,生成光照贴图。
引擎需要先指定一个光照贴图存放位置,这个可以自己指定。
光照贴图烘焙完成后,可以在 Baked 页面查看生成的光照贴图,以及文件名、尺寸等相关信 息。生成的光照贴图引擎会自动处理使用,无需开发者手动操作。
本文分享自 Creator星球游戏开发社区 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!