返回介绍

NavMeshAgent.Raycast 射线投影

发布于 2019-12-18 15:38:05 字数 2732 浏览 1754 评论 0 收藏 0

JavaScript => public function Raycast(targetPosition: Vector3, out hit: NavMeshHit): bool;
C# => public bool Raycast(Vector3 targetPosition, out NavMeshHit hit);

Parameters 参数

targetPositionThe desired end position of movement.
hitProperties of the obstacle detected by the ray (if any).

Returns 返回

bool True if there is an obstacle between the agent and the target position, otherwise false.

Description 描述

Trace a straight path towards a target postion in the NavMesh without moving the agent.

在导航网格中朝着目标方向追踪直线路径而不移动代理。

This function follows the path of a “ray” between the agent's position and the specified target position. If an obstruction is encountered along the line then a true value is returned and the position and other details of the obstructing object are stored in the hit parameter. This can be used to check if there is a clear shot or line of sight between a character and a target object. This function is preferable to the similar Physics.Raycast because the line tracing is performed in a simpler way using the navmesh and has a lower processing overhead.

该函数跟随代理位置和指定位置之间的射线路径。如果沿着路线遇到障碍,然后返回true值并且障碍对象的其他细节被存储进hit参数中。这可以用来检查是否有个清晰的镜头或者角色与目标对象之间的瞄准线。该函数更相似于Physics.Raycast,因为使用导航网格执行线追踪是个更简单的方式并且处理开支更低。

JavaScript:

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.
		}
	}

C#:

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)) {
        }
    }
}

navmeshagent

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文