Unity3d 统一:如何在步进中使用角色控制器移动玩家?

Unity3d 统一:如何在步进中使用角色控制器移动玩家?,unity3d,Unity3d,我想将我的玩家移动到0.1单位(或1)的“块”中 如何修改/配置角色控制器以使用“固定”步骤移动?您可以使用transform.Translate来移动角色 如果要使用角色控制器组件移动对象,则需要使用其专用方法: 此外,上述两种方法之间也存在一些差异。 Move方法更复杂,性能更高。因为它处理复杂的物理问题,如重力、碰撞,并通过运动移动物体。 相反,SimpleMove方法更为轻量级,因为它只移动对象,而不考虑环境物理 如果要移动一个单元,代码可能应该如下所示: //Controller

我想将我的玩家移动到0.1单位(或1)的“块”中

如何修改/配置角色控制器以使用“固定”步骤移动?

您可以使用transform.Translate来移动角色
如果要使用
角色控制器
组件移动对象,则需要使用其专用方法:

  • 此外,上述两种方法之间也存在一些差异。
    Move
    方法更复杂,性能更高。因为它处理复杂的物理问题,如重力、碰撞,并通过运动移动物体。
    相反,
    SimpleMove
    方法更为轻量级,因为它只移动对象,而不考虑环境物理

    如果要移动一个单元,代码可能应该如下所示:

    //Controller being your character controller component
    Controller.SimpleMove(Vector3.forward);
    

    假设你有一个棋盘->你想让你的角色在一帧内从A0->A1场(例如1个单位)跳出吗?或者,您想创建一种方法,使角色根据其移动速度在x帧内行走1单位?我真正想说的是——你有没有可能试着澄清一下你到底想要实现什么托比亚斯,你说得对。我要求的是,当我按下“移动”键(或操纵手柄移动控制)时,我的角色每秒移动X个单位(例如1个单位)。。。所以我的角色只能在x,y,z(1,0,0)或(2,0,0)或(3,0,0)位置移动。。不是0.4,0,0…您关心与其他对象的碰撞吗?我要澄清的最后一个问题是,你们只接受使用角色控制器的答案吗?我实际上在使用角色控制器。如果我必须改变方法,我不知道它是否会更简单。。。
    //Controller being your character controller component
    Controller.SimpleMove(Vector3.forward);