Unity: 自定义角色中的蒙皮网格替换
来源:互联网 发布:linux安装的命令 编辑:程序博客网 时间:2024/05/27 01:25
Unity允许运行时替换SkinnedMeshRenderer的网格来实现自定义角色部件,分两种情况Optimize Game Objects 于 Nonoptimized GameObjects
Optimize Game Objects是模型Rig选项,开启后骨架不会在场景中存在,而是放入了内部存储。这种情况下只需简单替换mesh就行,不需要重新设置骨骼信息
public static void ReplaceSkinnedMeshOptimized(SkinnedMeshRenderer src, SkinnedMeshRenderer dst){ dst.sharedMaterials = src.sharedMaterials; dst.sharedMesh = src.sharedMesh; dst.localBounds = src.localBounds;}
对于没有优化的Rig 需要重新设置骨骼信息
public static void ReplaceSkinnedMeshNonOptimized(SkinnedMeshRenderer src, SkinnedMeshRenderer dst){ Dictionary<string, Transform> skeleton = new Dictionary<string, Transform>(); Transform[] allTrans = dst.transform.GetComponentsInChildren<Transform>(true); foreach (var item in allTrans) { skeleton[item.name] = item; } dst.sharedMaterials = src.sharedMaterials; dst.sharedMesh = src.sharedMesh; Transform[] bones = new Transform[src.bones.Length]; for (int ii = 0; ii < bones.Length; ii++) { bones[ii] = skeleton[src.bones[ii].name]; } dst.bones = bones; dst.rootBone = skeleton[src.rootBone.name]; dst.localBounds = src.localBounds;}
1 0
- Unity: 自定义角色中的蒙皮网格替换
- unity蒙皮网格的换装实现
- 角色骨架蒙皮与Unity插件的结合运用
- 蒙皮的网格渲染器
- 【Unity&DragonBones】像素角色人物骨骼动画教程(四)蒙皮骨骼动画使得角色动作更流畅
- unity-----角色属性面板中的角色渲染
- 3DMAX 4角色蒙皮
- Unity中的网格与材质球合并
- Unity中的网格与材质球合并
- Unity中的自定义鼠标
- Unity脚本模板自定义字符串替换
- [Unity&网格移动]NavMeshAgent寻路 怎么样使得角色移动的角速度不影响移动
- D3D9中的蒙皮骨骼动画
- 蒙皮
- Spine之七——网格和蒙皮
- unity中的jsp函数 控制角色移动transform.Translate
- Unity中的角色属性芒星比例图
- 【Unity】Unity Mesh 网格合并
- OSG矩阵运算
- 网站开发系统平台
- Generate DDL
- Java-理解Java虚拟机
- 权限控制: 包括功能的权限控制,比如说时空分析的权限控制
- Unity: 自定义角色中的蒙皮网格替换
- ORACLE高级查询
- Reachability算法
- 事务和锁机制是什么关系
- IOS-自动布局和视图化语言2
- HDU 5293(ZYB's Tree-DP)
- Maven简介(六)——Dependency
- 16进制颜色的使用
- win10 Apache64位安装