C# 在unity中,我如何使我的第三个personcontroller角色自动从一点移动到另一点?
我在找c#script。 一旦我创建了新的自动行走脚本,我需要把它拖到第三个personcontroller 像帕特林。我给出两点的两个值,角色将自动在两点之间移动,如果路径中有物体,它将爬过它,或者如果它是mor逻辑,它将停止巡逻或运行它 但一开始我不知道如何让它在两点之间自动移动 今天我在我的第三个personcontroller-in-Inspector中使用了动画师部分:第三个personanimatorcontroller 在第三人称用户控件(脚本)中,我使用了:ThirdPersonUserControl 脚本来自unity。示例:C# 在unity中,我如何使我的第三个personcontroller角色自动从一点移动到另一点?,c#,unity3d,unityscript,unity5,C#,Unity3d,Unityscript,Unity5,我在找c#script。 一旦我创建了新的自动行走脚本,我需要把它拖到第三个personcontroller 像帕特林。我给出两点的两个值,角色将自动在两点之间移动,如果路径中有物体,它将爬过它,或者如果它是mor逻辑,它将停止巡逻或运行它 但一开始我不知道如何让它在两点之间自动移动 今天我在我的第三个personcontroller-in-Inspector中使用了动画师部分:第三个personanimatorcontroller 在第三人称用户控件(脚本)中,我使用了:ThirdPerson
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);
}
public GameObject thirdPerson;//你可以使用第三人称游戏对象
public int oldPosition=5;//起点(旧)点
public int newPosition=10;//新点
无效更新()
{
如果(oldPosition您需要创建Navmesh代理。这将允许角色自动绕过对象并跳过障碍物
在开始之前做一点研究,写下你需要你的角色首先做什么。你的场景可以用新的navmesh更新,当你烘焙时,哪些对象是可行走的,哪些必须避免,哪些可以跳过
如果这似乎是一项太大的任务,那么unity asset store中有一些简单的AI脚本可以免费使用,它们可以满足您的需求
一旦你有了工作navmesh,这里有一个在巡逻点之间移动它的链接。简单地在两个点之间移动,请查看。为了避免障碍物,你需要阅读寻路算法(例如:a*)@Rimply我查看了链接中的示例。我创建了一个新的脚本文件,添加了代码,然后将脚本拖到ThirdPersonController。然后在Insepctor中设置目标:ThirdPersonController(Transofrm)速度为5。但是角色没有移动。如果我将目标设置为主摄像机,那么角色会向后移动,口吃,跳跃,嘎吱,奇怪。关于最后的评论,你最好在Unity论坛上询问一下