创造你的世界
与物体互动
实现一个跟随角色的对象
9min
您可以使用 NavMeshAgent 组件来实现跟随您角色的 AI 对象。
在本指南中,您将实现一个跟随您的宠物类型对象。
1) 设置导航网格 (NavMesh) 以定义宠物对象可以移动的区域。
- 请参考 NavMesh 指南以获取有关如何设置的详细信息。
- 设置背景对象的导航静态属性,并在烘焙选项卡上按下烘焙按钮以生成导航网格。
2) 将 NavMeshAgent 组件添加到宠物对象,并设置代理的大小、旋转速度、加速度等。
- 在这里,代理是使用NavMesh导航系统的宠物对象。
- 通过更改代理的值,您可以设置宠物移动的速度、旋转速度和加速度、识别障碍物的高度等。
- 我们将Nav Mesh代理的停止距离设置为3,以使宠物在距离玩家3的地方停止。
- 请参考NavMeshAgent指南以获取有关如何设置的详细信息。
📘 Unity Navmesh Agent 文档 https://docs.unity3d.com/2021.3/Documentation/Manual/class-NavMeshAgent.html
1) 创建一个新的 TypeScript,并将其命名为 PetController,如下所示,并将脚本应用于宠物对象。
脚本描述
- 在脚本开始时,在 _target 中指定你的 ZEPETO 角色。
- 在更新函数中,每帧使用 NavMeshAgent 的 SetDestination 函数将我的 ZEPETO 角色的位置设置为 NavMesh 的目标点。
2) 现在按下播放按钮执行,你会看到宠物对象会跟随你的角色并绕过墙壁等障碍物移动。
1) 如果你想实现一个坐在角色身体上方的宠物,而不是跟随角色,你可以通过附加一个对象来实现。
📘 请参考以下指南。 [将物体附加到ZEPETO角色]
2) 编写以下 AttachPetController 脚本,其中变量 Pet 指定将作为宠物创建的对象。
- 在 bodyBone 选项卡中,打开下拉菜单以选择将 Pet 对象附加到身体的哪个部分。
脚本描述
- 当脚本启动时,它将找到本地玩家并定位角色的动画器。
- 它将找到在变量 bodyBone 中选择的身体部分在角色的动画器上的位置。
- 在我们找到的位置实例化一个宠物对象并创建它。您将把宠物对象父级设置为您之前找到的角色动画器的身体部分。
3) 按下 [▶︎(播放)] 按钮以运行它,您应该会看到在所选身体部分创建的宠物对象,如下图所示。