游戏TA入门指南PDF
本文共:7034字,预计阅读时间:18分钟
感谢作者:琥珀川的分享
第一章 从 3Ds MAX 导出模型
- 3DS MAX 单位设置。设置 3DS MAX 单位为:米(Cocos 默认单位是:米)。
- 模型 UV 需展平。最大限度利用 UV 空间。
- 为灯光烘焙制作模型的第 2 套 UV 。2U 不能有重叠。
- 3DS MAX 导出 FBX 模型设置。
- 勾选平滑组
- 有动画的话勾选动画
- 不勾选摄影机和灯光
- 勾选嵌入的媒体
- 单位选自动:米
- 轴向选 Y 轴向上
第二章 贴图制作
Cocos Creator 引擎支持 PBR 材质和纹理。
Cocos Creator 创建的材质,默认使用的是 builtin-standard.effect 着色器,又称之为 PBR 材质,PBR 材质使用 PBR 流程中的 Metal/Roughness 工作流。
在使用 PBR 材质进行渲染时,为获得正确的渲染效果,至少需要设置材质的:
- 固有色贴图(Albedo)
- 金属粗糙度贴图(Metallic Roughness)
- 法线贴图(Normal)
贴图可以使用 Photoshop、Substance 等图像软件制作。这些贴图都可以在材质资源属性面板中进行设置 。
关于 PBR 材质和贴图的详细内容,请参考文档: https://docs.cocos.com/creator/manual/zh/shader/effect-builtin-pbr.html
也可以使用 Cocos 支持的 PBR 贴图。(推荐使用这种贴图方式)
PBR 贴图是一种混合贴图。PBR Map 内的 3 个通道各包含一种贴图。
- R (AO) R 通道:环境光遮蔽
- G (Roughness) G 通道:粗糙度
- B (Metallic) B 通道:金属度
Cocos Creator 目前支持的贴图格式:
- 目前支持 JPG 、PNG 、BMP 、TGA 、HDR 格式
- 贴图尺寸:不能大于 2048 × 2048 像素
第三章 使用 Cocos Creator 创建 3D 资产
1. 在 Cocos Dashboard 创建新 Cocos 项目
01. 在官网 https://www.cocos.com/creator 下载并安装 Cocos Dashboard
使用 Cocos Dashboard 管理 Cocos Creator 引擎安装和创建项目。
02. 在 Cocos Dashboard 创建新 Cocos Creator 项目
- 点击 Project 面板
- 选择 Cocos Creator 版本
- 选择 Empty(3D) 项目模板
- 输入项目名称
- 选择项目保存在硬盘上的位置(注意:不要包含有中文或空格)
2. 创建工程项目
01. 在 assets 右键 Create —— Folder。创建新项目文件夹,并命名文件夹。
02. 创建资源文件夹,来存放模型资产和场景文件。
- Animation:存放动画文件
- Lightmap:存放烘焙的灯光贴图
- Materials:存放材质
- Models:存放模型文件
- Particles:存放粒子文件
- Prefabs:存放预制体文件
- Scenes:存放场景文件
- Textures:存放贴图文件
3. 导入模型资产到 Cocos Creator 工程
01. 将做好的模型文件,拖入到项目文件夹内的 Models 下面。Cocos Creator 会自动加载所有资产。
02. 将做好的贴图文件,拖入到项目文件夹内的 Textures 下面。
03. 贴图导入 Cocos Creator 后,设置贴图的类型。
- Albedo 、Metallic Roughness 的类型选择:texture
- Filter Mode 选择:Bilinear with Mipmaps
- Normal 贴图的类型选择:normal map
- Filter Mode 选择:Bilinear with Mipmaps
4. 创建场景
在 Scene 文件夹右键创建场景,命名为:SpaceStation,并双击打开 SpaceStation 场景。
场景目前使用的是默认设置,场景内只有一盏主光源和主摄影机以及默认天空盒。
5. 将模型资产导入场景
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 内。
模型和贴图资产会加载到场景内。
6. PBR 材质贴图制作
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
- ALPHA TEST CHANNEL:选择模板遮罩(Stencil)所在的通道(Alpha 通道或红通道)
- Alpha Threshold :调节透明度的阈值
- ALPHA TEST CHANNEL 会忽略透明贴图的渐变,边缘会显示成硬边
所以,根据项目需要选择不同的透明贴图方式。
02. 创建新材质
在 Materials 文件夹右键 Create——Material。创建新材质,并命名材质。
03. 给材质添加贴图
有两种方法添加 PBR 贴图。
1. 使用单独贴图
将制作好的 Albedo、Metallic Roughness、Normal 贴图,导入材质球的指定位置。Albedo 贴图:
Metallic Roughness 贴图:
Normal 贴图,Normal Strength 调整法线贴图强度:
2. 使用 PBR 贴图
Albedo 贴图:
PBR 贴图:
Normal 贴图:Normal Strength 调整法线贴图强度。
关于 PBR 材质导的更多信息,请参考文档。 https://docs.cocos.com/creator/manual/zh/shader/effect-builtin-pbr.html
04. PBR 材质属性设置
- Tiling Offset:模型 UV 的缩放和偏移量
- Albedo Scale:模型的固有色强度,用于控制固有色颜色对于最终颜色的影响权重
- Occlusion:环境光遮蔽系数
- Roughness:粗糙度系数
- Metallic:金属度系数
- Specular Intensity:高光强度系数
- Emissive:自发光颜色,独立于光照计算,由模型本身直接发散出的颜色
- Emissive Scale:自发光强度,用于控制自发光颜色对于最终颜色的影响权重
- Albedo 颜色可以改变贴图的颜色。会和 Albedo 贴图颜色相乘
- Albedo 颜色为默认白色时,保持贴图默认颜色
- 调整 Albedo 颜色。会直接影响贴图颜色
- Roughness:粗糙度系数控制材质的粗糙度(数值越大越粗糙,反之越光滑)
- Metallic:金属度系数制材质的金属度(1 为金属,0 为非金属)
7. 设置环境和阴影
01. 在 Hierarchy 内选择 SpaceStation 场景
02. 在 Inspector 面板,设置所需参数
- Sky Lighting Color:设置天空颜色
- Sky Illum:调节环境光亮度
- Ground Lighting Color:设置地面反射光的颜色
- Env Lighting Type:选择适合场景的类型
三种环境光类型介绍,请参考文天空盒相关文档。 https://docs.cocos.com/creator/manual/zh/concepts/scene/skybox.html
- Use HDR:若勾选该项则开启 HDR (高动态范围),若不勾选该项,则使用 LDR (低动态 范围)
- Envmap:选择天空盒贴图或使用 HDRI 环境贴图
- Reflection Convolution:点击 bake 按钮后会生成一张低分辨率的环境贴图并且会对此图进行卷积计算,卷积图用于环境反射 。也可以选择点击 remove 按钮进行删除生成的环境反射卷积图会填充到 TextureCube 的 mipmaps,在 Shader 中根据材质粗糙度采样对应层级的 mipmap,从而提供更加真实的 IBL 效果
- Skybox Material:为天空盒添加自定义的材质
- Shadow Enable:开启阴影选项,默认使用 Planar 阴影类型
Reflection Convolution:点击 bake 后效果
Reflection Convolution:点击 Remove bake 后效果
03. 光源阴影属性
默认阴影类型是:Planar 一般用于较为简单的场景。
- Enabled:是否开启阴影效果
- Type:阴影类型
- Shadow Color:设置阴影颜色
- Plane Direction:阴影接收平面的法线,垂直于阴影,用于调整阴影的倾斜度。
- Plane Heigh:阴影接收平面距离原点的高度。
注意:Planar 类型的阴影只有投射在平面上才能正常显示,不会投射在物体上,也就是说 Mesh Renderer 组件中的 Receive Shadow 属性是无效的。
- Planar 类型阴影效果
- 场景阴影类型为:Shadow Map 时
- Max Received:最多支持产生阴影的光源数量,默认为 4 个,可根据需要自行调整
- Shadow Map Size:设置阴影贴图分辨率,目前支持 Low_256x256 、Medium_512x512、 High_1024x1024 、Ultra_2048x2048 四种精度的纹理
- Shadow Map 类型阴影效果
8. 灯光制作
01. 主光源 Main Light 使用 Directional Light 来模拟太阳光
- Color:设置光源颜色
- Use Color Temperature:是否启用色温
- Color Temperature:调节色温
- Illumination:照度,单位 勒克斯(lx)
场景阴影类型为:Shadow Map 时,可以开启 DirectionaLight 的阴影选项
- Shadow Enabled:是否开启平行光阴影
- Shadow Pcf:设置阴影边缘反走样等级,目前支持 HARD、SOFT 、SOFT_2X
- Shadow Bias:设置阴影偏移值,防止 z-fiting
- Shadow Normal Bias:设置法线偏移值,防止曲面出现锯齿状
- Shadow Saturation:调节阴影饱和度,建议设置为 1.0。若需要减小方向光阴影的饱和程 度,推荐通过增加环境光来实现,而不是调节该值
- Shadow Distance:设置 Camera 可见范围内显示阴影效果的范围,阴影质量与该值的大小成反比
- Shadow Invisible Occlusion Range:设置 Camera 可见范围外的物体产生的阴影是否需要 投射到可见范围内,若需要则调大该值即可
- Enabled CSM :开启 CSM 阴影Cascaded Shadow Maps(CSM),对于近处的场景使用较高质量的阴影贴图,对于远处的场景使用较低质量的阴影贴图,在两张阴影贴图过渡的地方选择其中一张使用。 因为远处的对象 只占画面的很少一部分像素,而近处的对象占据了画面的很大一部分,这样保证了观察者在近处看到的阴影质量较高,远处的阴影质量较低。
关闭 CSM 效果
开启 CSM 效果
- Shadow Fixed Area:是否开启固定区域的阴影
- Shadow Near:设置主光源相机的近裁剪面
- Shadow Far:设置主光源相机的远裁剪面
- Shadow Ortho Size:设置主光源相机的正交视口大小,阴影质量与该值的大小成反比
02. 使用 Sphere Lights 光源
- Term:设置光照强度单位的类型
- Luminous Flux:光通量
- Color:设置光源颜色
- Use Color Temperature:是否启用色温
- Color Temperature:调节色温
- Size:设置光源大小
- Range:设置光照影响范围
- Sphere Lights 暂不支持显示阴影,期待后续版本支持
Sphere Lights 效果
03. 使用 Spot Light 光源
- Color:设置光源颜色
- Use Color Temperature:是否启用色温
- Color Temperature:调节色温
- Size:设置光源大小
- Range:设置光照影响范围
- Spot Angle:调整聚光角度,控制光照范围
Spot Light 光源阴影设置(聚光灯光阴影 已经从场景设置面板中独立出来,不再受到全局 阴影参数的影响)。
- Shadow Enabled:是否开启平行光阴影
- Shadow Pcf:设置阴影边缘反走样等级,目前支持 HARD、SOFT 、SOFT_2X
- Shadow Bias:设置阴影偏移值,防止 z-fiting
- Shadow Normal Bias:设置法线偏移值,防止曲面出现锯齿状
PCF 软阴影 百分比渐近过滤(PCF)是一个简单、常见的用于实现阴影边缘反走样的技术,通过对阴 影边缘进行平滑处理来消除阴影贴图的锯齿现象。 原理是在当前像素(也叫做片段)周围 进行采样,然后计算样本跟片段相比更接近光源的比例,使用这个比例对散射光和镜面光 成分进行缩放,然后再对片段着色,以达到模糊阴影边缘的效果。 目前 Cocos Creator 支持 硬采样、4 倍采样(SOFT 模式)、9 倍采样(SOFT_2X 模式),倍数越大,采样区域越大,阴影边缘也就越柔和。
9. 设置模型的阴影和烘焙属性
01. 模型的阴影设置
请在模型的 Mesh Renderer 组件上设置相关内容。
- Shadow Casting Mode:ON 模型产生阴影
- Receive Shadow:ON 模型接受其他物体产生的阴影
- Shadow Casting Mode:OFF 模型不会产生阴影
- Shadow Casting Mode:ON 模型产生阴影
- Receive Shadow:ON 模型会接收并显示其它物体产生的阴影效果 (该属性仅在阴影类型为 Shadow Map 时生效)。
02. 模型的 Lightmap 设置
- Bakeable:是否烘焙静态光照
- Cast Shadow:是否投射静态阴影
- Receive Shadow:是否接受静态阴影
- Lightmap Size:模型光照贴图尺寸。
注意,要生成光照贴图的模型有以下两点要求:
- 美术人员在制作模型资源时,除了模型本身的 UV,还需要制作第二套 UV,用于光 照贴图。2U 不能有重叠。
- 模型的 Materials 需要开启 HAS SECOND UV 渲染选项。
10. 烘焙光照贴图
01. 在 Hierarchy 中选中光源节点,然后在 Inspector 中设置光源组件的 Static Settings,勾选 Bakeable 属性。
- Editor Only:是否只在编辑器中生效
- Bakeable:是否烘焙静态光照
- Cast Shadow:是否投射静态阴影
02. 点击编辑器菜单栏的 项目--光照贴图,打开光照贴图面板。面板由 Scene 和 Baked 两个页面组成。
- Scene:主要用于配置生成光照贴图相关的参数
- Baked:主要用于展示生成的光照贴图及其相关信息
- Scene 页面各参数的说明如下:
参数 | 说明 |
---|---|
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 页面查看生成的光照贴图,以及文件名、尺寸等相关信 息。生成的光照贴图引擎会自动处理使用,无需开发者手动操作。
- 烘焙结果:显示烘焙后生成的光照贴图,格式为 RGBE8 可根据需要选择 R/G/B 选项查看光照贴图对应的通道
- 清空光照贴图:用于删除生成的光照贴图及相关信息
- 信息输出面板:显示生成的光照贴图的文件名、大小等相关信息
相关文章
- GPT-3组合DALL·E,60秒内搞定游戏设定和原型动画!网友看后:这游戏想玩
- qt通过OpenGL实现3d游戏开发框架
- 半年内第二块国产全功能GPU,附带首个游戏显卡!摩尔线程造芯神速,张建中“黄”气逼人
- 最佳的PDF编辑器Adobe Acrobat DC 2019 pdf编辑器全版本下载
- Acrobat Pro9 Pdf编辑器-最牛逼的PDF编辑器
- PDF工具:Adobe Acrobat 2020 Mac 版 pdf编辑器全版本下载
- 设计推特(思维游戏01)
- 阅读器Linux环境下安装PDF阅读器指南(在linux下安装pdf)
- Linux C编程入门:从PDF学习开始(linuxc编程pdf)
- 文件Linux参考手册:PDF文件版本(linux参考手册pdf)
- 和“停服”有关的游戏人生
- Linux学习入门:从PDF到实际操作(linux学习教程pdf)
- Linux运维实战PDF手册下载(linux运维pdf下载)
- Linux源码精要:PDF详解(linux源码pdf)
- MySQL入门经典:学习PDF指南(mysql入门经典pdf)
- Win10如何确认是否已修复KB5001330导致的游戏问题
- Linux技巧:实现最佳计算效率的PDF指南(linux技巧pdf)
- MySQL入门指南:PDF版(mysql入门pdf)
- 通过编写一个简单的游戏学习 C 语言
- Linux快速移植PDF大全(linux移植pdf)
- 如何使用MySQL优化技巧提高PDF文档处理效率(mysql优化pdf)
- MySQL教程PDF:完整入门指南及高级技巧(mysql教程pdf)
- Linux环境下轻松转换PDF文件(linux 转换pdf)
- Linux学习路线:入门到精通PDF完全攻略(linux入门到精通pdf)
- 玩转MySQL:游戏开发者必须掌握的数据库知识(mysql游戏)
- 鸟哥贡献:分享Linux私房菜PDF版本阅读(鸟哥的linux私房菜pdf下载)
- 【MySQL故障排除指南——PDF版】(mysql排错指南pdf)
- Linux基础入门:从PDF学习开始(linux基础教程pdf)
- Oracle初学者指南从PDF入手(oracle 入门pdf)
- 改善游戏效率Redis内存设置分析(游戏redis内存设置)
- 学习Redis从PDF指南入门(学习redis pdf)
- Oracle存储PDF文档的最佳方法(oracle保存pdf)
- Redis高级应用从PDF到实际实战(redis高级 pdf)
- Oracle 发布新款 PDF 插件,更多实用功能迎来突破(oracle pdf插件)