blender 绑骨rigify卡顿优化
blender不是游戏引擎,没有设计性能分析工具,有的话也只能在专业的调试工具(如VisualCode MSVC)里下载源码编译一遍才行。
那么就从做对照试验开始吧
卡顿因素:
https://docs.blender.org/manual/en/2.79/render/blender_render/optimizations/performance.html
而本次实验得出:
-
删除物体与骨骼的自定义属性,这与blender内第三方插件的实时计算有关 (一个完整的HumanRig-rigify 有1000条骨骼)
-
分离物理骨骼与角色控制骨骼,做2个独立的物体,用约束器同步物理效果
-
修改器堆栈:尽量应用,只剩一个骨架修改器;
可使用SKkeeper,保留形变键shapeKey同时应用修改器
blender应该引入cached modifier
机制,对参与运算的修改器自动做一个缓存(如果要用修改器做关键帧动画,则更应该缓存这些顶点) -
高密度网格(本次没有出现)
-
blender应该允许playback回放超过60fps(可能开了垂直同步,关不掉的那种),如果允许每秒无回放帧率限制,blender就能做实时转播了(要把视图降噪关掉,重影)
物理骨骼分离后,从5fps→15fps
本次发现删除VRM和MMD的自定义属性,从15fps→30fps
应用修改器后30fps→45fps
删除shapekey没有提升
删除物理模拟后45→47fps
使用以下脚本删除自定义属性
import bpy for bone in bpy.context.active_object.pose.bones: d=[] for prop in bone.keys(): d.append(prop) for prop in d: try: del bone[prop] except: print(prop) pass for obj in bpy.context.selected_objects: d=[] for prop in obj.keys(): d.append(prop) for prop in d: try: del obj[prop] except: print('\t\t\t',prop) pass
本文作者:Nolca
本文链接:https://www.cnblogs.com/nolca/p/17477334.html
版权声明:本作品采用 收益分享revenue sharing 许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步