问题描述:
在2D游戏中使用navmashagent来导航的时候,navmashagent会出现x,y轴旋转,且在代码aweak.start中重置依然用的问题。
解决方法
···
agent.updateRotation = false;
agent.updateUpAxis = false;
···
解释以下这两个参数
updateRotation
updateRotation属性决定了是否自动调整NavMeshAgent关联的GameObject的朝向以匹配其移动方向。
当updateRotation设置为true(默认值)时,NavMeshAgent会自动根据其移动方向调整GameObject的旋转。这适用于大多数需要角色或对象面向移动方向的情况。
当updateRotation设置为false时,NavMeshAgent不会自动调整GameObject的旋转。这在你希望自己控制GameObject的旋转行为,或者在2D游戏中使用NavMeshAgent(在这种情况下,通常只需要在一个平面上移动,而不需要自动旋转)时非常有用。
updateUpAxis
updateUpAxis属性控制是否自动调整NavMeshAgent关联的GameObject的"向上"轴,以便它始终保持垂直于导航面。
当updateUpAxis设置为true(默认值)时,如果导航面(例如斜坡或不规则表面)倾斜,NavMeshAgent会自动调整GameObject的"向上"轴,使其垂直于导航面。
当updateUpAxis设置为false时,NavMeshAgent不会自动调整GameObject的"向上"轴。这在创建2D游戏或某些特定的3D游戏场景时很有用,因为在这些情况下你可能不希望GameObject根据导航面的倾斜自动调整其倾斜度。