今天去了下北京的虛擬現實產業園,看了下,感覺虛擬現實產業以后發展前景可能會蠻好的,回來之后想了下上次做的一個秘密潛行的游戲的時候。主角拿到鑰匙的檢測,我當時用的是碰撞檢測,想了下。是否射線檢測會更合適,就想一些RPG游戲里面的檢起掉落在地上的裝備那效果,就寫了一個
代碼如下:
using UnityEngine;
using System.Collections;
public class RayPlayer : MonoBehaviour {
public bool canPick;//是否可以檢起
void Update () {
RaycastHit hitif;
bool MyCollider = Physics.Raycast(transform.position,transform.forward,out hitif);//得到碰撞點
if(MyCollider)//判斷射線是否發生碰撞
{
if(hitif.distance<4&&hitif.collider.gameObject.tag=="Player")//判斷在幾米之內加上碰撞的物體的Tag是不是為Player(U3D里面自己設置Tag)
{
canPick=true;
//如果顯示為可撿起的時候,如果按下鼠標左建,就銷毀這個物體
if(Input.GetMouseButton(0))
{
Destroy(hitif.collider.gameObject,1f);
}
}
else
{
canPick=false;
}
}
else
{
canPick=false;
}
}
//顯示一個是否可以撿起的提升
void OnGUI()
{
if(canPick)
{
GUI.Box(new Rect(Screen.width/2,Screen.height/2,100,60),"可以撿起");
}
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。