13526人加入学习
(74人评价)
Unity换装系统

制作完成于 2018-01-13 本教程基于 Unity 2017.2开发完成版

价格 免费

1.定义人物资源Model girlSource和骨架物体girlTarget(用来换装人)

2.创建字典用来存储人物资源模型的部位模型 (小女孩所有的资源信息,string类型,创建两个字典)

3.transform类型的一整套骨骼信息(所有的骨骼都是transform类型的来进行骨骼绑定,遍历自身来获取所有的骨骼信息)

4.创建一个人物模型的初始化的方法InstantiateSource

直接加载小女孩的游戏资源物体 FemaleModel

5.定义资源模型的位置信息girlSourceTrans并初始化girlSourceTrans = girlSource.

6.创建一个换装的人的方法InstantiateTarget的方法。

7.声名

 

[展开全文]

Skinned Mesh Renderer-蒙皮网格渲染器(继承Renderer组件,主要用于人物渲染)

主要包含三大部分:

      1.Mesh

      2.Root Bone

      3.Materials

动态-换装原理:首先更换Mesh,之后将更换后的Mesh与骨骼进行绑定,之后再更换材质

静态-换装原理:只需要

[展开全文]

性别转换有Bug,连续点同样的框会转换角色

[展开全文]

SkinnedMeshRenderer[] parts = girlSourceTrans.GetComponentsInChildren<SkinnedMeshRenderer>();

 

老师您好,我问一下我用的VS也是2017,但是这行代码就是出错,说检测到无法检测代码,求解答

[展开全文]

学到第五课:换装原理

电脑截图:Win标志+Shift+S

 

[展开全文]

定义两个参数,部位名字和骨骼对应的编号,在找到对应部位的骨骼

[展开全文]

换装原理:

  更换完Mesh之后我们要将骨骼重新分配一下  ,

人物如果是静态的,直接更换Mesh就可以,如果

 

[展开全文]

当物体被设置为false时,可以通过transform组件访问物体上的组件

[展开全文]

skinnedmeshrender里的bones方法可以获得绑定的骨骼

 

换装步骤:骨骼、材质、sharedmesh

[展开全文]

生成出来的人物不会动是因为人物prefab的animation中的culling type设置为base on renderers,改成always即可

[展开全文]

skinned Mesh Renderer  主要是渲染人物

一个mash不一定只绑定一根骨骼

 

[展开全文]

网格 就是外形

骨骼 绑定网格的 用来做动画

材质 表面的材质

[展开全文]

换装需求

1、建立一个GameObject类型的资源模型

2、建立一个Gameobject类型的骨架物体 也就是换装的新的人物模型

3、创建一个字典 字典是个嵌套字典 第二个参数类型是skinnedmeshrenderer为参数的

4、定义一个数组 数组就是用来存放骨骼信息的

5、根据服务器传来的性别信息 生成对应的人物预制体以及人物模型对应的骨架预制体然后获取他身上的所有骨骼信息

6、新建一个skinnedMeshRenderer类型的数组用于所加载出来的预制体身上所有的包含skinnedMeshRenderer组件的进行存储 并遍历进行拆分

7、再建立一个字典用于存储换装物体身上的skmd的信息 如果字典里边没有存储该骨骼名称的话 就新建一个物体把对应的骨骼名称赋值 然后设置成换装的新的骨骼下的子物体 然后把所有的skmd信息数据存放在字典里

 

 

[展开全文]

based on renderers 

当渲染不可用 就会禁用掉

Always Animate 

在屏幕外同样会播放

[展开全文]

授课教师

SIKI学院老师

课程特色

图文(1)
下载资料(1)
视频(18)