unity Behavior Designer使い方part2タスクの作り方

どうもききです。
前回Behavior Designerの基本的な構造を解説しました。
前回の記事
今回はタスクの作り方について解説したいと思います。
まずはscriptをざっと載せます。

using UnityEngine;
namespace BehaviorDesigner.Runtime.Tasks.Movement
{
public class movemeny1 : NavMeshMovement
{
public SharedGameObject target;
public SharedFloat moveDistance = 2;
private Vector3 lastTargetPosition;
public override void OnStart()
{

}

public override TaskStatus OnUpdate()
{
//magnitudeは二点間の距離を求める関数//
var targetPosition = target.Value.transform.position;
if ((targetPosition – transform.position).magnitude >= moveDistance.Value)
{
//距離が2以上ならnavmeshでtargrtまで移動//
SetDestination(targetPosition);
}
else
{
if ((targetPosition – transform.position).magnitude <       moveDistance.Value)
{
//2以下な移動をストップさせます。stop関数使わない           SetDestinationは止まりません//

Stop();
//タスクを終了させます。Failureはfalseのこと//
return TaskStatus.Failure;
}
}
//一番上のselecterにtrueが返るとAIは終了してしまいます。
falseになるまで永遠にRunningで動かします。//
return TaskStatus.Running;
}
}
}

インスペクターはこんな感じ。ここに値を入れます。今回はここまで。次回また続きを書きます。

 

unity AIを簡単に作成できるアセット Behavior Designerの紹介part3

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)