欢迎光临散文网 会员登陆 & 注册

Unity-将代理移动到鼠标单击的位置

2021-03-13 15:36 作者:unity_某某师_高锦锦  | 我要投稿

此脚本允许通过在对象表面上单击鼠标来选择导航网格上的目标点。单击位置由_射线投射_确定,而非像将激光束指向对象来查看其所在位置(有关此技术的完整描述,请参阅摄像机射线页面)。由于 GetComponent 函数的执行速度相当慢,因此该脚本在 Start 函数期间将其结果存储在变量中,而不是在 Update 中重复调用它。

// MoveToClickPoint.cs        

using UnityEngine;        

using UnityEngine.AI;            

public class MoveToClickPoint : MonoBehaviour {            

NavMeshAgent agent;                    

void Start() {                

agent = GetComponent<NavMeshAgent>();            

}                    

void Update() {                

if (Input.GetMouseButtonDown(0)) {                    

RaycastHit hit;                                    

if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, 100)){                        

agent.destination = hit.point;                    

}                

}            

}        

}    

//MoveToClickPoint.js        
var agent: NavMeshAgent;            
function Start() {            
agent = GetComponent.


Unity-将代理移动到鼠标单击的位置的评论 (共 条)

分享到微博请遵守国家法律