5 Optimize Transform Hierarchy Hierarchy上的一个选项,Optimize Transform Hierarchy,可以删除transform节点,减少CPU计算,这个优化可以在CPU瓶颈下,进行优化 AnimatorUtility.OptimizeTransformHierarchy 此函数将删除 GameObject 下的所有变换层次结构,动画师将直接将变换矩阵写入皮肤网格矩阵,从而节省大量 CPU 周期。 您可以选择...
需求:角色模型换装,角色模型由多个部位组合而成,暴露的骨骼节点非常多,可以通过AnimatorUtility.OptimizeTransformHierarchy接口进行优化。 但是Unity 提供的接口AnimatorUtility.OptimizeTransformHierarchy里面有一些坑,我在这里进行讲解。 接口定义:public static void OptimizeTransformHierarchy(GameObject go, string[] exposedT...
可以提高角色动画性能, 但有些情况下会造成角色动画错误,这个选项可以尝试开启但要看表现效果而定。 注意如果你的角色是可以换装的,在导入时不要开启此选项,但在换装后在运行时在代码中通过调用AnimatorUtility.OptimizeTransformHierarchy接口仍然可以达到此选项效果。 1.4.7 考虑使用API剔除动画资源的Scale曲线和压缩动画...
勾选Optimize Game Object可以提高角色动画的性能,但是在某些情况下可能会导致角色动画出现问题,是否勾选要看动画效果而定。如果角色模型是可以换装的,则在导入该模型后不要勾选这个选项,而可以在游戏运行时,该角色换装后,通过AnimatorUtility.OptimizeTransformHierarchy来勾选这个选项。对于Animation选项卡,如果模型不需要...
但是没有找到获取exposedTransforms的方法,所以GameObject在被DeoptimizeTransformHierarchy之后无法还原。一种的思路是在调用DeoptimizeTransformHierarchy之前记录子Transform,并且去掉包含SkinnedMeshRender的Transform,使用这些Transform来当做exposedTransforms。但是这种方式不精确,对模型有限制。
class in UnityEngine 描述 用于动画器操作的各种实用程序。 静态函数 DeoptimizeTransformHierarchy该函数将在 GameObject 下重新创建所有变换层级视图。 OptimizeTransformHierarchy该函数将删除 GameObject 下的所有变换层级视图,动画器会将变换矩阵直接写入皮肤网格矩阵,从而节约大量 CPU 周期。
可以提高角色动画性能, 但有些情况下会造成角色动画错误,这个选项可以尝试开启但要看表现效果而定。注意如果你的角色是可以换装的,在导入时不要开启此选项,但在换装后在运行时在代码中通过调用AnimatorUtility.OptimizeTransformHierarchy接口仍然可以达到此选项效果...
除了在ImportSetting中进行配置,在运行时通过代码调用AnimatorUtility.OptimizeTransformHierarchy接口仍然可以达到此选项效果。·Anim.CompressionOff:不压缩,质量最高,内存消耗最大; Keyframe Reduction:减少冗余关键帧,减小动画文件大小和内存大小; Keyframe Reduction and Compression:减小冗余关键帧的同时,对关键帧存储数据进...
如果当前的绑定是AnimatorUtility.OptimizeTransformHierarchy优化的。 Animator.layerCount 层数 该动画器控制器的层数 Animator.leftFeetBottomHeight 左脚底高度 获得左脚底的高度 void LateUpdate() { if(animator) { Vector3 leftFootT = animator.GetIKPosition(AvatarIKGoal.LeftFoot); Quaternion leftFootQ = an...
.OptimizeTransformHierarchypublic static void OptimizeTransformHierarchy (GameObject go, string[] exposedTransforms); 参数 go 要优化的 GameObject。 exposedTransforms 要暴露的转换名称的列表。描述 该函数将删除 GameObject 下的所有变换层级视图,动画器会将变换矩阵直接写入皮肤网格矩阵,从而节约大量 CPU 周期。