Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

NavMeshAgent.Raycast

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public function Raycast(targetPosition: Vector3, out hit: NavMeshHit): bool;
public bool Raycast(Vector3 targetPosition, out NavMeshHit hit);

パラメーター

targetPosition 期待する移動位置
hit ナビメッシュオブジェクトのヒット情報(ヒットした場合)

戻り値

bool エージェントとターゲット位置との間に障害物がある場合は true、そうでない場合は false

説明

エージェントを移動させずにナビメッシュ内の目的地に向かってのパスをトレースします

この関数によりエージェントの位置から 指定されたターゲット位置までの経路をレイでたどります。 もしレイ上で何かとヒットした場合 true を返し、 さらに
hit
引数にヒットしたオブジェクトの詳細情報が格納されます。 キャラクターがターゲットのオブジェクトの間に 視界を遮るものがあるか確認するために使用できます。 この関数は Physics.Raycast よりも望ましく、 理由はナビメッシュをより少ない処理オーバーヘッドで 実行できるためです。

var target: Transform;

private var agent: NavMeshAgent;

function Start () { agent = GetComponent.<NavMeshAgent>(); }

function Update() { var hit: NavMeshHit; // Note the negative test condition! if (!agent.Raycast(target.position, hit)) { // Target is "visible" from our position. } }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Transform target; private NavMeshAgent agent; void Start() { agent = GetComponent<NavMeshAgent>(); } void Update() { NavMeshHit hit; if (!agent.Raycast(target.position, out hit)) { } } }