c# - 当启用对象中的所有动画师(包括子动画师)时,它会改变对象的位置,将其放得更高我该如何避免它?
问题描述
此脚本附加到对象:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AnimFlyertransportationController : MonoBehaviour
{
public GameObject JetFlame;
public bool turnOffOn = false;
// Start is called before the first frame update
void Start()
{
TurnAllAnimtorsOff(transform, turnOffOn);
if (turnOffOn)
{
JetFlame.SetActive(true);
}
else
{
JetFlame.SetActive(false);
}
}
private void TurnAllAnimtorsOff(Transform root, bool onOff)
{
Animator[] animators = root.GetComponentsInChildren<Animator>(true);
foreach (Animator a in animators)
{
if (onOff)
{
a.enabled = true;
}
else
{
a.enabled = false;
}
}
}
private void OnValidate()
{
TurnAllAnimtorsOff(transform, turnOffOn);
if (JetFlame) JetFlame.SetActive(turnOffOn);
}
}
当游戏开始时,所有动画师都被禁用并且物体在地面上:
但是当启用 true 所有动画师时,对象会改变地面上方的位置:
这是对象动画师动画选项卡的空闲动画设置的屏幕截图:
我希望当我打开并启用真正的所有动画师时,该对象将留在地面上。
解决方案
推荐阅读
- cmake - 无法将 gtest_main 作为外部静态库与 cmake 和 Cygwin 链接。i686-pc-cygwin/bin/ld: 找不到 -lgtest_main
- python - Python未定义变量'rg'
- powershell - 用于复制旧文件并创建快捷方式的 Powershell 脚本
- python - Python:在 json.dumps() 中选择特定列
- python - 从python中的两个不同数据集中选择值
- typescript - Typescript 使用 Compiler API 推断类型参数
- javascript - 挂钩 | 添加多个列表状态
- javascript - 在 AFrame 中使用按钮移动动态对象
- python - QTableView 的 HTML 渲染器 - 字体大小发生了什么变化?
- javascript - 在使用引导树视图填充之前对树数据进行排序