C# 统一-碰撞后对象旋转/围绕另一个对象

C# 统一-碰撞后对象旋转/围绕另一个对象,c#,unity3d,game-physics,rigid-bodies,C#,Unity3d,Game Physics,Rigid Bodies,我试图让NPC跟随玩家,但当NPC与玩家发生碰撞时,它开始旋转,包围玩家并向外倾斜。我冻结了Y旋转,但它不起作用。NPC使用刚体,一些文章说它应该使用刚体运动而不是变换。我是游戏开发新手,请帮我修复它。代码如下: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Chase : NPCBaseFSM { override public void OnSt

我试图让NPC跟随玩家,但当NPC与玩家发生碰撞时,它开始旋转,包围玩家并向外倾斜。我冻结了Y旋转,但它不起作用。NPC使用刚体,一些文章说它应该使用刚体运动而不是变换。我是游戏开发新手,请帮我修复它。代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Chase : NPCBaseFSM
{
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        base.OnStateEnter(animator, stateInfo, layerIndex);
    }

    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        var direction = opponent.transform.position - NPC.transform.position;
        NPC.transform.rotation = Quaternion.Slerp(NPC.transform.rotation, Quaternion.LookRotation(direction),
        rotSpeed * Time.deltaTime);
        NPC.transform.Translate(0, 0, Time.deltaTime * speed);   
    }

    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    
    }

}

使用转换有什么问题?