unity 2D游戏使用navmashagent遇到的问题

问题描述:

在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根据导航面的倾斜自动调整其倾斜度。

相关推荐
JIes__13 小时前
Unity(二)——Resources资源动态加载
unity·游戏引擎
地狱为王13 小时前
Unity使用NovaSR将沉闷的16kHz音频升频成清晰的48kHz音频
unity·游戏引擎·音视频·novasr
开开心心_Every14 小时前
家长控制电脑软件:定时锁屏管理使用时长
网络协议·tcp/ip·游戏·微信·pdf·excel·语音识别
云边散步15 小时前
godot2D游戏教程系列二(3)
笔记·学习·游戏·游戏开发
dzj202116 小时前
Unity中使用LLMUnity遇到的问题(二)——LLMUnity脚本学习和探索
unity·llmunity
HAPPY酷16 小时前
C++ 结构体实战:从理论到游戏与业务场景
开发语言·c++·游戏
一起养小猫19 小时前
Flutter for OpenHarmony 实战:CustomPainter游戏画面渲染详解
flutter·游戏
ghie909019 小时前
基于C#实现俄罗斯方块游戏
开发语言·游戏·c#
警醒与鞭策20 小时前
Cursor Agent Skill 原理及LLM , Agent, MCP ,Skill区别
android·unity·ai·cursor