blender 绑骨rigify卡顿优化

blender不是游戏引擎,没有设计性能分析工具,有的话也只能在专业的调试工具(如VisualCode MSVC)里下载源码编译一遍才行。
那么就从做对照试验开始吧

卡顿因素:

https://docs.blender.org/manual/en/2.79/render/blender_render/optimizations/performance.html

而本次实验得出:

  1. 删除物体与骨骼自定义属性,这与blender内第三方插件的实时计算有关 (一个完整的HumanRig-rigify 有1000条骨骼)

  2. 分离物理骨骼与角色控制骨骼,做2个独立的物体,用约束器同步物理效果

  3. 修改器堆栈:尽量应用,只剩一个骨架修改器;
    可使用SKkeeper,保留形变键shapeKey同时应用修改器
    blender应该引入cached modifier机制,对参与运算的修改器自动做一个缓存(如果要用修改器做关键帧动画,则更应该缓存这些顶点)

  4. 高密度网格(本次没有出现)

  5. 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 许可协议进行许可。

posted @   Nolca  阅读(373)  评论(0编辑  收藏  举报
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 ⏩intro 山姆精
  2. 2 🎸吉他 马叉
  3. 3 ☁升调 山姆精
  4. 4 🐦Flutter Virtual Riot/Madi
  5. 5 🎶纯律 山姆精
  6. 6 👻yeah~Color Bass! VR
🎸吉他 - 马叉
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.
点击右上角即可分享
微信分享提示