【问题标题】:Unity Animation Axis LookAt Slerp. Idle Animation not facing correctlyUnity 动画轴 LookAt Slerp。空闲动画未正确面对
【发布时间】:2017-05-31 09:37:02
【问题描述】:

感谢您查看我的帖子。我有两个角色在舞台上,他们有 mixamo 空闲动画状态,用于战斗机姿态。

我已将彼此面对的角色放置在使用 vuforia 定义的目标上,并使用 Slerp 旋转使每个角色彼此面对。我遇到的问题是,一旦空闲动画开始,它们都面向左侧约 45 度。我看过动画,在任何地方都看不到旋转,所以我认为它可能是轴。我在下面添加了两个屏幕截图来演示这个问题。

左侧角色的脚之间有一条白线,表明游戏对象确实面向右侧的角色。当我查看动画师时,空闲动画正在正确循环,如果我移动角色,外观旋转可以工作,但仍然偏移。

我复制了 mixamo 动画以删除只读属性,看看是否可以修复它。我只是在任何地方都看不到任何旋转。我还尝试将角色嵌入到父变换中并毫无乐趣地旋转变换。

我进入了播放模式并查看了动画面板。那时发生了一件有趣的事。当我将擦洗器移动一帧时,角色跳到了正确的面对位置。

下面的图片显示了这一点。

即使在播放模式下停止了动画播放,定位也会突然出现。

这让我觉得这不是模型的轴问题,而是代码的问题。 我为每个播放器附加了一个脚本。这是更新方法。

void Update(){

    if (!anim.GetCurrentAnimatorStateInfo(0).IsName("knocked_out")){
            transform.position = new Vector3(transform.position.x,0,transform.position.z);
        }

    if (anim.GetCurrentAnimatorStateInfo(0).IsName("fight_idle")){
        Vector3 direction = enemy.position - this.transform.position;
        direction.y = 0;
        this.transform.rotation = Quaternion.Slerp(this.transform.rotation, Quaternion.LookRotation(direction),0.1f);
    }
    if(Input.GetKeyUp(KeyCode.Space)){
        reaction();
        }
    if(Input.GetKeyUp(KeyCode.K)){
        flyingKick();
        }

    if(DefaultTrackableEventHandler.lostFound == true){
        anim.SetBool("started", true);
        GameObject theClone = GameObject.Find("UserDefinedTarget-1/Holder");
        theClone.transform.localPosition = new Vector3(0,0,0);
    } 

}

这让我有点发疯了,我快要打破它了,我什至尝试了不同的空闲动画并且得到了相同的结果,所以必须关闭一些东西。

这是进入播放模式之前战士的原始变换位置,如果这能说明问题的话。

这里是动画控制器。

我尝试为每个角色添加一个子变换并定位它,但是当角色靠近时,它们不会面对面,因为子需要在 Z 轴上偏移。

我在网上看到过类似的问题,但大多数是指一直看着相机或找一个物体看着角色。我需要这两个人面对面。他们这样做,没有动画。我也尝试过打开和关闭根动画,也没有任何乐趣。

帮助表示赞赏。

【问题讨论】:

    标签: c# animation unity3d rotation


    【解决方案1】:

    几个小时后,我发现了问题。 我不得不进入动画师并双击有问题的动画。使用右侧的检查器,我更改了下拉根转换并解决了轴枢轴问题。

    看到没有人回答,也许这对少数人来说是个问题,所以希望我能帮别人省去弄清楚的痛苦。

    【讨论】:

      猜你喜欢
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多