【问题标题】:In unity how can i make my ThirdPersonController character to move from point to point automatic ?统一如何让我的 ThirdPersonController 角色自动从一个点移动到另一个点?
【发布时间】:2016-07-22 21:31:57
【问题描述】:

我正在寻找 c# 脚本。 一旦我创建了新的自动行走脚本,我需要将它拖到 ThirdPersonController 吗?

就像巡逻一样。我给出两个点的两个值,角色将自动在两点之间移动,如果路径中有物体,它将爬过它,或者如果它的 mor 逻辑将停止巡逻或绕过它。

但起初我不确定如何让它在两点之间自动移动。

今天我在 Animator 部分的 Inspector 中使用 ThirdPersonController:ThirdPersonAnimatorController

在第三人称用户控件(脚本)中,我使用的是:ThirdPersonUserControl

脚本来自统一。

【问题讨论】:

  • 要在两点之间简单移动,请查看link。为了避开障碍物,您需要阅读寻路算法(例如:A*)
  • @Rimply 我查看了链接中的示例。我创建了一个新的脚本文件,添加了代码,然后将脚本拖到了 ThirdPersonController。然后在 Insepctor 中,我将 Target:ThirdPersonController (Transofrm) 和速度设置为 5。但角色没有移动。如果我将目标设置为主摄像机,那么角色向后移动口吃跳跃嘎吱嘎吱奇怪。
  • 关于这最后一条评论,你最好去 Unity 论坛问问

标签: c# unity3d unityscript unity5


【解决方案1】:

例子:

public GameObject thirdPerson; // you third person GameObject
public int oldPosition = 5; // start (old) point
public int newPosition = 10; // new point

void Update()
{ 
    if (oldPosition <= newPosition)
    {
        oldPosition += Time.deltaTime;
    }
    thirdPerson.transform.position = new Vector3(oldPosition, 0, 0);
}

【讨论】:

    【解决方案2】:

    您需要创建一个 Navmesh 代理 Create Navmesh Agent。这将允许角色自动绕着物体走动,并跳过障碍物。

    在开始之前做一些研究,写下你需要你的角色首先做什么。您的场景可以使用新的导航网格进行更新,因为您烘焙哪些对象是可行走的、必须避免的以及可以跳过的。

    如果这似乎是一项艰巨的任务,可以从统一资产商店免费获得简单的 AI 脚本,这些脚本可以满足您的需求。

    一旦你有了你的工作导航网格,这里就是一个在巡逻点之间移动它的链接。 Navmesh Agent Patrol.

    【讨论】:

      猜你喜欢
      • 2018-05-19
      • 1970-01-01
      • 2017-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-26
      相关资源
      最近更新 更多