- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实时骨骼合并介绍
方案选择 骨骼合并最终方案 添加创建Merged CharModel的中间流程。 增加Merged CharModel的Cache管理池。 * 骨骼合并流程 Rope配置方案 装备配置数据中添加MergeSkeleton键值 确保Rope绑定的骨骼在模型数据中的存在 骨骼命名按装备部位区分,防止同名骨骼冲突 * 骨骼合并流程 预解析流程 换装时,获得绑定装备组合。 解析每个装备数据定义文件(.cdf),获得MergeSkeleton键值。 键值为1时,将该数据文件加入骨骼合并列表中。 当收集的骨骼合并列表不为空时,进入下个合并数据环节,否则直接跳过骨骼合并流程。 * 骨骼合并流程 骨骼合并流程主要包括: Rope配置数据合并 Rope骨骼结构数据合并 骨骼合并在创建角色模型(CharModel)的时候进行。 骨骼合并基于文件预处理数据 Rope配置:CDF文本数据 骨骼数据:CContentCGF数据 * 骨骼合并流程 合并Rope配置数据 * 骨骼合并流程 合并骨骼数据流程 基于骨骼名字(Hash码)检索。 寻找共同的父(Parent)节点。 如父节点存在,则在主骨架的父节点下添加新的子(Child)节点树。 不存在则继续向上检索,并扩展子节点树。 * 骨骼合并流程 骨骼合并图解 * 骨骼合并流程 创建新的合并角色模型(CharacterModel) 动画数据共享 创建新的合并角色实例(CharacterInstance) 创建Skeleton Pose和Skeleton Anim 物理化Rope Entity 代替原来的角色实例 * 优化方案 骨骼合并流程留下的坑 破坏模型数据的共享机制 重新创建角色实例导致的换装流程性能下降 模型数据拷贝导致的内存增长 ….. 这只是开始…… * 优化方案 内存问题分析 由于基础角色模型数据共享机制被破坏。每创建一个角色实例(Character Instance)就有可能产生和维护新的角色模型数据,内存压力大。 如何优化角色模型数据内存 角色模型数据分析: 骨架结构数据:必须保留 动画数据: 共用数据,可考虑共享 蒙皮网格数据:基础骨骼数据不需要蒙皮数据 * 优化方案 模型动画数据共享机制 CE原有框架 CharacterModel与AnimationSet(动画数据)是一一对应的 CharacterModel是可共享的,对应的动画数据也是可共享的 骨骼合并之后 CharacterModel的共享被破坏,动画数据成为内存占用的重灾区。采用动画数据共享机制尤为重要。 * 优化方案 模型动画共享机制 动画模型数据改为智能指针形式。 在创建第一个基础骨架数据模型时初始化对应动画数据。 此后创建的数据里只需要使用智能指针引用动画数据即可。 限制条件 需要合并的骨骼必须是Rope骨骼。 * 优化方案 不做SkinMesh的合并 简化模型合并算法: 由于基础骨骼模型不包括Skin Mesh,仅涉及骨骼合并,装备模型上的Skin Mesh不需要参与合并。 SkinMesh可以通过Skin Attachment(即换装流程)绑定角色实例,避免不必要的内存开销和数据拷贝。 * 优化方案 性能问题分析 创建角色流程中增加了骨骼合并流程,增加了CPU开销。 例如:城镇中大量角色的进入和退出。 换装流程会涉及到重新创建角色的流程。 例如:角色在商城/锻造都涉及到频繁的装备切换。 骨骼合并流程导致创建角色的流程开销更大,执行更频繁,导致客户端卡顿。对应的优化不可避免。 * 优化方案 优化的着眼点: 减少创建角色实例的次数 城镇角色频繁进出的情况 角色实体缓存功能 (Entity Cache) 角色频繁换装的情况 装备数据预处理,剔除不必要的骨骼合并流程 减少创建角色流程的开销 骨骼合并阶段 合并模型数据缓存机制。 * 优化方案 合并模型数据缓存机制 以一套装备为单位,缓存Merged Model数据。 每套装备的键值取自装备内每个模型文件名的Hash码列表。 换装时,先从缓存中寻找已创建的模型数据,跳过骨骼合并流程。 * 优化方案 其他优化手段: 多线程后台加载 减少主线程骨骼合并的开销。 在角色未创建之前,只显示默认内衣套。 延迟换装 主要是针对城镇其他玩家的换装 控制换装的频率,减少单位时间内创建次数。 优化永无止境。。。 * 总结 好处 解决了原框架内rope配置的数量限制。 减少了rope骨骼的资源占用。 多出来的骨骼资源用于捏脸,表情动画。 扩大了rope骨骼的使用范围。 用于头发,袖子,裙摆等。 美术制作Pipeline更加方便快捷。 * 总结 坏处 破坏了CE原有的模型共享机制,带来一系列内存开销和性能下降的严重问题。 改变了模型加载框架结构,造成暂时的功能后退和大量bug。对项
您可能关注的文档
- 生物污泥管理体系的框架结构.pdf
- 生物为什么会演化出产生老化的机制.ppt
- 生物质炭修复重金属及有机物污染土壤的研究进展①.pdf
- 生涯探索 职涯探索与选择 - 嘉南药理大学学生辅导中心.ppt
- 生涯规划性格探索.ppt
- 生涯规划 - 浙江省兰溪市第一中学.ppt
- 声誉信息对融资规模的影响 - 金融研究中心 - 湖北经济学院.doc
- 省残联信息化建设与运维(备份及安全设备).doc
- 省工商联调研组来我市专题调研非公党建情况和走访 - 东营市工商联.doc
- 省降成本优环境专项行动领导小组2017年工作要点及各精准帮扶专项 .pdf
- 2025广东深圳市宝安区中英公学高薪诚聘小学、初中各科优秀教师笔试备考试题及答案解析.docx
- 2025春季中核集团核理化院校园招聘笔试备考试题及答案解析.docx
- 2025江苏旅游职业学院长期招聘高层次人才23人笔试备考试题及答案解析.docx
- 2025年湖南衡阳市农商银行系统员工招聘114人笔试备考试题及答案解析.docx
- 2025年淄博周村区事业单位公开招聘教师(9人 )笔试备考试题及答案解析.docx
- 2025河南洛阳博物馆讲解员招聘10人笔试备考试题及答案解析.docx
- 2025年华北理工大学附属医院招聘工作人员210名笔试备考试题及答案解析.docx
- 2025江苏南京市景明佳园小学招聘编外教师1人笔试备考试题及答案解析.docx
- 2025春季中核集团中辐院校园招聘笔试备考试题及答案解析.docx
- 2025年中核嘉华公司春季招聘66人笔试备考试题及答案解析.docx
最近下载
- Hi5622V100 (海思AX3000低成本路由器wifi芯片)用户指南.pdf
- 2023年保安员笔试考前题库500题(含答案).pdf VIP
- 2024年联通智家工程师(初级)认证理论备考试题库(附答案).pdf VIP
- 2012款陆风X8_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.doc
- 2024年中考数学压轴题型(安徽专用)专题08 解答题压轴题(几何综合(一)(学生版).docx
- 三农村劳动力转移就业职业技能培训方案.doc VIP
- 2016年大学日语专业四级考试真题.doc VIP
- 三农村劳动力转移培训指导书.doc VIP
- (完整版)军事地形学.pptx
- 联通智家工程师初级认证理论备考试题及答案.doc VIP
文档评论(0)