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

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

价格 免费

skinned Mesh Renderer  主要是渲染人物

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

 

[展开全文]

换装思路:

1、替换Mesh

2、绑定新的骨骼

3、替换材质

[展开全文]

换装需求

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

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

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

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

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

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

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

 

 

[展开全文]

模型三大组成部分:

骨骼 网格 材质

 

换装原理:

换掉旧mesh→新mesh绑定新骨骼→更新材质

[展开全文]

模型三大组成部分:

骨骼 网格 材质

 

换装原理:

换掉旧mesh,新mesh绑定新骨骼,更新材质

[展开全文]

1、字典存储数据

2、 

[展开全文]

加载一个带有所有衣服的model,

再加载一个只带有位置信息的target,

获取target骨骼包括自身所有的位置信息。

 

[展开全文]

GetComponentsINCHildren 这个api包含自身。

[展开全文]

换装,

需要替换mesh网格

ca

[展开全文]

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

 

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

[展开全文]

换mesh同时换骨骼(动态的人物),静态的人物换mesh就行了

[展开全文]

学到第五课:换装原理

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

 

[展开全文]

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

[展开全文]

授课教师

SIKI学院老师

课程特色

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