Unity3D游戏开发标准教程第08章-模型与动课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Unity3D游戏开发标准教程第08章-模型与动课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Unity3D 游戏 开发 标准 教程 08 模型 课件
- 资源描述:
-
1、 第1页8.1.1主流3D建模软件的介绍Autodesk 3D Studio MaxAutodesk MayaCinema 4D第2页8.1.1主流3D建模软件的介绍Autodesk 3D Studio MaxAutodesk MayaCinema 4D第3页8.1.2Unity与建模软件单位的比例关系为了让模型在导入为了让模型在导入Unity后能够保持其本来的尺寸,就需要调整建后能够保持其本来的尺寸,就需要调整建模软件的系统单位或者尺寸。在模软件的系统单位或者尺寸。在3D建模软件中,应尽量使用建模软件中,应尽量使用“米米”制单位。表制单位。表8-1中展示了建模软件的系统单位在设置成中展示了建
2、模软件的系统单位在设置成“米米”制单制单位后,与位后,与Unity系统单位的对应比例。系统单位的对应比例。建模软件建模软件内部米制尺寸/m导入Unity中的尺寸/m与Unity单位的比例关系3ds Max10.01100:1Maya11001:100Cinema 4D11001:100第4页8.1.2Unity与建模软件单位的比例关系下面将以下面将以3ds Max为例,介绍一下参数设置调整的过程为例,介绍一下参数设置调整的过程 (1)打开)打开3ds Max软件后,打开软件后,打开“自定义自定义”菜单下的菜单下的“单位设置单位设置”选项,如图选项,如图8-1所示。所示。(2)在弹出的)在弹出的
3、“单位设置单位设置”对话框中,将对话框中,将“显示单位比例显示单位比例”下的下的“公制公制”选项修改为选项修改为“厘米厘米”。如图。如图8-2所示。所示。(3)点击对话框顶部的)点击对话框顶部的“系统单位设置系统单位设置”按钮,在弹出的按钮,在弹出的“系统单位设置系统单位设置”对话框中将单位修改为对话框中将单位修改为“厘米厘米”,如图,如图8-3所示。修改完成后单击确定完成参数设置调整。所示。修改完成后单击确定完成参数设置调整。 图8-1 自定义菜单图8-2 单位设置菜单图8-3 系统单位设置菜单第5页8.1.3将3D模型导入Unity下面以下面以3ds Max为例,为读者演示一遍从建模到将模
4、型导入为例,为读者演示一遍从建模到将模型导入Unity的过程。具体步骤如下。的过程。具体步骤如下。(1)首先打开)首先打开3ds Max,点击右侧,点击右侧“AEC Extended”(AEC 扩展)中扩展)中“Foliage”(树)(树)按钮,在下方的列表中的模型中任意选择一种,创建一个树模型。如图按钮,在下方的列表中的模型中任意选择一种,创建一个树模型。如图8-4所示,这时就所示,这时就完成了一个最基本的建模工作。完成了一个最基本的建模工作。 第6页8.1.3将3D模型导入Unity(2)点击窗口左上角的)点击窗口左上角的3ds Max标志,标志,打开下拉菜单。单击导出选项,如图打开下拉菜
5、单。单击导出选项,如图8-5所示。然后会弹出对话框,选择导出所示。然后会弹出对话框,选择导出的路径并且为导出的文件命名(注意保的路径并且为导出的文件命名(注意保存类型选择存类型选择.FBX),点击保存按钮即),点击保存按钮即可导出。可导出。(3)将模型导入)将模型导入Unity中,点击中,点击Unity中菜单栏单击中菜单栏单击“Assets”“Import New Assets.”,会弹出导入资源对话,会弹出导入资源对话框,按照模型的路径找到并选中模型,框,按照模型的路径找到并选中模型,点击导入按钮,完成导入。导入的模型点击导入按钮,完成导入。导入的模型会保存在会保存在Assets文件夹中,开
6、发者可文件夹中,开发者可以在以在Assets面板中查看以及使用。面板中查看以及使用。第7页8.2.1网格过滤器 (Mesh Filter)网格过滤器中有一个重要的属性网格过滤器中有一个重要的属性“Mesh”,用于,用于储存物体的网格数据,它可以从资源中拿出网格并储存物体的网格数据,它可以从资源中拿出网格并将网格传递给将网格传递给网格渲染器网格渲染器 (Mesh Renderer) ,并在,并在屏幕上渲染。在导入模型资源时,屏幕上渲染。在导入模型资源时,Unity 会自动创会自动创建一个建一个网格过滤器网格过滤器,如图,如图8-6所示。所示。图8-6 网格过滤器组件第8页8.2.2Mesh属性和
7、方法介绍(1)Mesh中有一些用于储存物体的网格数据的属性,这些属性主要用于储存网格中各中有一些用于储存物体的网格数据的属性,这些属性主要用于储存网格中各种数据,并且均以数组的形式出现,详细说明如表种数据,并且均以数组的形式出现,详细说明如表8-2所示。所示。属性说明属性说明vertices网格的顶点数组normals网格的法线数组tangents网格的切线数组uv网格的基础纹理坐标uv2如果存在,这是为网格设定的第二个纹理坐标subMeshCount子网格的数量。每种材质都有一个独立的网格列表bounds网格的包围体colors网格的顶点颜色数组triangles包含所有三角形顶点索引的数组
8、vertexCount网格中顶点的数量(只读)boneWeights每个顶点的骨骼权重bindposes绑定的姿势。每个索引绑定的姿势使用具有相同索引的骨骼第9页8.2.2Mesh属性和方法介绍(2)Mesh中有生成或修改物体网格的方法,这些方法主要用于中有生成或修改物体网格的方法,这些方法主要用于设置储存网格各种数据,并且均以数组的形式出现,详细说明如设置储存网格各种数据,并且均以数组的形式出现,详细说明如表表8-3所示。所示。方法说明方法说明Clear清空所有顶点数据和所有三角形索引RecalculateBounds重新计算从网格包围体的顶点RecalculateNormals重新计算网格
9、的法线Optimize显示优化的网格GetTriangles返回网格的三角形列表SetTriangles为网格设定三角形列表CombineMeshes组合多个网格到同一个网格第10页8.2.3Mesh的使用(1)首先创建一个工程项目,并命名为)首先创建一个工程项目,并命名为“BNUMeshes”。然后创。然后创建地形。建地形。 (2)创建水。选中)创建水。选中“Assets”文件夹,右键选择文件夹,右键选择Import PackageWater(Pro Only)导入标准水资源包,如图导入标准水资源包,如图8-7所示。所示。然后拖拽然后拖拽Daylight Water到场景中,并调整水和地形的
10、位置参数,到场景中,并调整水和地形的位置参数,如图如图8-9和图和图8-10所示,最终实现如图所示,最终实现如图8-8的位置效果。的位置效果。图8-9 水位置参数图8-10 地形位置参数第11页8.2.3Mesh的使用 图8-7 导入标准水资源包图8-8 地形与水面的位置第12页8.2.3Mesh的使用(3)创建两个空对象,分别命名为)创建两个空对象,分别命名为“Expansion”和和“Triangle”,具体步骤为,具体步骤为“GameObject”“Create Empty”,如图,如图8-11所示。然后两个空对象添加网格过滤器,所示。然后两个空对象添加网格过滤器,先选中对象然后单击菜单
11、先选中对象然后单击菜单“Component” “Mesh” “Mesh Filter”为对象添加网格为对象添加网格过滤器,如图过滤器,如图8-12所示。所示。 图8-11 创建空对象 图8-12 添加网格过滤器第13页8.2.3Mesh的使用(4)下面向两个空对象的网格过滤器组件中添加网格属性。将)下面向两个空对象的网格过滤器组件中添加网格属性。将“AssetsMeshes”文件文件夹下的夹下的“Triangle.FBX”和和“Expansion.FBX”模型文件中的网格模型文件中的网格“Box01”,如图,如图8-13,分别拖拽到分别拖拽到“Expansion”和和“Triangle”对象的
12、网格过滤器组件的对象的网格过滤器组件的“Mesh”属性中,如属性中,如图图8-14所示。所示。 图8-13模型文件中的网格“Box01” 图8-14 网格过滤器组件第14页8.2.3Mesh的使用(5)创建一个空对象,并且命名为)创建一个空对象,并且命名为“Obj1”,调整该对象的位置和大小,具体参数如图,调整该对象的位置和大小,具体参数如图8-15所示。然后为所示。然后为“Obj1”对象添加网格过滤器和网格渲染器,具体步骤为选中对象然对象添加网格过滤器和网格渲染器,具体步骤为选中对象然后单击菜单后单击菜单“Component” “Mesh” “Mesh Renderer”为对象添加网格渲染器
13、,为对象添加网格渲染器,如图如图8-16所示。所示。 图8-15 “Obj1”对象的位置和大小图8-16 添加网格渲染器第15页8.2.3Mesh的使用(6)然后)然后“Obj1”对象添加纹理。将对象添加纹理。将“AssetsTextures”文件夹下的文件夹下的“wenli.tga”纹理文件拖拽到纹理文件拖拽到“Obj1”对象上,然后按照相同的方法再创建对象上,然后按照相同的方法再创建4个对象,并分别命名为个对象,并分别命名为“Obj2”、“Obj3”、“Obj4”、“Obj5”,拖拽后,拖拽后的五个对象的网格渲染器的的五个对象的网格渲染器的“material”属性就均被设置为属性就均被设置
14、为“wenli”材质材质 ,如,如图图8-17所示。所示。图8-17 “Obj1”对象的网格渲染器组件 第16页8.2.3Mesh的使用(7)单击鼠标右键,在弹出的菜单中选择)单击鼠标右键,在弹出的菜单中选择“Create”“C# Script”创建脚本。命名为创建脚本。命名为“BNUMesh.cs”,然后双击打开脚本,开始,然后双击打开脚本,开始“BNUMesh.cs”脚本的编写,本脚本主要脚本的编写,本脚本主要用于通过控制网格属性来实现物体变形的效果用于通过控制网格属性来实现物体变形的效果 4 public class BNUMesh : MonoBehaviour 5 Mesh mesh
15、;/物体的网格对象物体的网格对象6 int time;/用于记录时间用于记录时间7 public GameObject g;/包含网格的对象数组包含网格的对象数组8 Mesh m;/网格对象数组网格对象数组9 public List vertice;/网格的顶点数组网格的顶点数组10 public List triangle;/包含所有三角形顶点索引的数组包含所有三角形顶点索引的数组11 public List uv;/网格的基础纹理坐标网格的基础纹理坐标12 public List normal;/网格的法线数组网格的法线数组13 public List tangent;/网格的切线数组网格
16、的切线数组14 bool bian = true;/物体一次变形是否完成物体一次变形是否完成15 int s=0;/物体变形形状标志位物体变形形状标志位第17页8.2.3Mesh的使用(8)在)在“BNUMesh.cs”脚本中脚本中Start方法的主要功能是系统通过方法的主要功能是系统通过在场景加载时调用此方法来实现物体网格的细化,在场景加载时调用此方法来实现物体网格的细化,Start方法的具方法的具体代码如下。详见课本体代码如下。详见课本(9)在)在“BNUMesh.cs”脚本中脚本中Update方法的主要功能是系统通方法的主要功能是系统通过调用此方法来不断改变网格数据使物体不断变形过调用此
17、方法来不断改变网格数据使物体不断变形 。第18页8.2.3Mesh的使用(10)将脚本)将脚本“BNUMesh.cs”分别拖拽到上面创建的六个游戏对分别拖拽到上面创建的六个游戏对象上。然后单击游戏对象,在属性查看器中可看到脚本组件的内象上。然后单击游戏对象,在属性查看器中可看到脚本组件的内容,然后设置参数,如图容,然后设置参数,如图8-18所示。所示。图8-18 脚本参数设置第19页8.2.3Mesh的使用(11)单击游戏运行按钮,观察效果。在)单击游戏运行按钮,观察效果。在Game窗口中可以看到地窗口中可以看到地形和不断变形的六个物体。如图形和不断变形的六个物体。如图8-19和图和图8-20
18、所示。所示。 图8-19 案例运行效果图1图8-20 案例运行效果图2第20页Avatar是是Mecanim动画系统中自带的人形骨骼结构与模型文件中动画系统中自带的人形骨骼结构与模型文件中的骨骼结构之间的映射,将带有动画的模型文件资源导入的骨骼结构之间的映射,将带有动画的模型文件资源导入Unity 3D后,系统会自动为模型文件生成一个后,系统会自动为模型文件生成一个Avatar文件作为其子对象,文件作为其子对象,如图如图8-21所示。所示。图8-21 Avatar文件图第21页8.3.1Avatar的创建单击刚刚的人形角色模型文件,在单击刚刚的人形角色模型文件,在Inspector视口中选择视
19、口中选择Rig选项,如图选项,如图8-22所示。单击所示。单击Aimation Type下拉按钮,选择下拉按钮,选择Humanoid选项,然后点击选项,然后点击Apply按钮,视口变成如图按钮,视口变成如图8-23所示。完成后该模型文件已经被设置为人形角色模型,并且系统会为其创建所示。完成后该模型文件已经被设置为人形角色模型,并且系统会为其创建Avatar文文件。件。8-22 Rig选项图8-23 Humanoid模式第22页8.3.2Avatar的配置(1)在)在Assets面板中单击模型文件下子对象面板中单击模型文件下子对象Avatar文件,然后单击文件,然后单击Inspector面板中的
20、面板中的“Configure Avatar”按钮,如图按钮,如图8-24所示。此时所示。此时系统会关闭原场景窗口,进入系统会关闭原场景窗口,进入Avatar的配置窗口。的配置窗口。配置窗口是系统开启的一个临时配置窗口是系统开启的一个临时Scene视口,并视口,并且配置结束后该临时窗口会自动关闭。且配置结束后该临时窗口会自动关闭。 图8-24 图8-25 第23页8.3.2Avatar的配置(2)配置窗口的)配置窗口的Scene窗窗口中会出现导入人物模型的口中会出现导入人物模型的骨骼,如图骨骼,如图8-26所示。右侧所示。右侧为为Avatar的的Inspector面板,面板,配置窗口与平时开发用
21、的配置窗口与平时开发用的Scene窗口相同,更改窗口相同,更改Inspector中的参数后也会中的参数后也会改变显示在改变显示在Scene视口中的视口中的模型。模型。图8-26 Scene视口第24页8.3.2Avatar的配置(3)在配置窗口右侧的)在配置窗口右侧的Avatar配配置面板中可以按部位对人形角色模置面板中可以按部位对人形角色模型进行配置,此面板中共分为型进行配置,此面板中共分为“Body”、“Head”、“Left Hand”和和“Right Hand”四个方面,四个方面,分别对应四个按钮,如图分别对应四个按钮,如图8-25所示。所示。点击不同的按钮会出现不同部位的点击不同的按
22、钮会出现不同部位的骨骼配置窗口,并且各个部位的配骨骼配置窗口,并且各个部位的配置互不影响,如图置互不影响,如图8-27和图和图8-28所所示。示。图8-27 头部骨骼配置窗口图8-28手部骨骼配置窗口第25页8.3.2Avatar的配置(4)一般情况下开发者创建了)一般情况下开发者创建了Avatar后后Uniy 3D都会对其正确的都会对其正确的初始化,但有时候如果出于模型文初始化,但有时候如果出于模型文件本身的问题,件本身的问题,Unity 3D 无法识别无法识别到每个部位相应的骨骼,此时错误到每个部位相应的骨骼,此时错误部位就会呈现红色,如图部位就会呈现红色,如图8-29所示。所示。图8-2
23、9 错误部位呈红色 第26页8.3.2 Avatar的配置(5)开发者此时需要手动更改错误)开发者此时需要手动更改错误部位的骨骼。首先在部位的骨骼。首先在Hierarchy窗口窗口的骨骼列表中找到正确的骨骼,如的骨骼列表中找到正确的骨骼,如图图8-30所示。然后将正确的骨骼拖所示。然后将正确的骨骼拖拽到拽到Inspector视口中该骨骼相对应视口中该骨骼相对应的位置上,若拖拽到正确位置后,的位置上,若拖拽到正确位置后,错误的部位会变回绿色,错误的部位会变回绿色,Avatar的的也就配置完成了。也就配置完成了。图8-30 Hierarchy窗口中的骨骼列表第27页8.3.3Muscle的配置(1
展开阅读全文