在使用NavMesh的基础上,静态烘培和动态烘培的情况下,当玩家点击某一位置的时候生成特效(相关文章1),当角色到达目的地的时候(相关文章2),判断并 使得目的地特效 消失。
在相关文章2 的某些 判断的时候会有一些BUG。
主要思路:
当玩家点击某一位置,从屏幕发射射线,进行射线检测,获得 点击的坐标点。
并在 点击的坐标点 生成 目的地特效。
当玩家进入特效 的 触发范围 , 目的地特效 就会消失。
public virtual void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == GameObjectTag.PlayerCharacter.ToString())//判断 触发器的物体的 Tag为“玩家角色”
{
transform.localScale = new Vector3(0,0,0);//使得特效物体隐藏
}
}
前提:玩家物体 需要 Collider组件。特效需要 Collider组件(勾选is trriger)。
Collider组件(Box Collider、Capsule Collider、Mesh Collider、等)
全局枚举变量(相关文章3)
public enum GameObjectTag {
GameController,
PlayerCharacter
}