Unity3d自學(xué)之射線初識

相關(guān)api

1前酿、Ray Camera.main.ScreenPointToRay(Vector3 pos)返回一條射線Ray從攝像機(jī)到屏幕指定一個(gè)點(diǎn)

2匈子、Ray?Camera.main.ViewportPointToRay(Vector3?pos)返回一條射線Ray從攝像機(jī)到視口(視口之外無效)指定一個(gè)點(diǎn)

3杂数、Ray射線類

4、RaycastHit光線投射碰撞信息

5彻磁、bool?Physics.Raycast(Vector3?origin,?Vector3?direction,?float?distance,?int?layerMask)

當(dāng)光線投射與任何碰撞器交叉時(shí)為真留凭,否則為假。

bool?Physics.Raycast(Ray?ray,?Vector3?direction,?RaycastHit?out?hit,?float?distance,?int?layerMask)

在場景中投下可與所有碰撞器碰撞的一條光線升略,并返回碰撞的細(xì)節(jié)信息()微王。

bool?Physics.Raycast(Ray?ray,?float?distance,?int?layerMask)

當(dāng)光線投射與任何碰撞器交叉時(shí)為真,否則為假品嚣。

bool?Physics.Raycast(Vector3?origin,?Vector3?direction,?RaycastHit?out?hit,float?distance,?int?layerMask)

當(dāng)光線投射與任何碰撞器交叉時(shí)為真炕倘,否則為假。

注意:如果從一個(gè)球型體的內(nèi)部到外部用光線投射翰撑,返回為假罩旋。

參數(shù)理解:

origin?:在世界坐標(biāo)中射線的起始點(diǎn)

direction:射線的方向

distance:射線的長度

hit:使用c#中out關(guān)鍵字傳入一個(gè)空的碰撞信息類,然后碰撞后賦值眶诈≌谴祝可以得到碰撞物體的transform,rigidbody,point等信息。

layerMask:?只選定Layermask層內(nèi)的碰撞器逝撬,其它層內(nèi)碰撞器忽略浴骂。選擇性的碰撞

例子:

1.創(chuàng)建2個(gè)Cube其中Cube加一個(gè)子Cube做槍嘴

2.接下來創(chuàng)建一個(gè)腳本,我這里叫play


3.打開腳本進(jìn)行編輯

private Ray ray = new Ray();

private RaycastHit hit;

private float length;

private int lay;

創(chuàng)建4個(gè)變量,分別是射線 Ray球拦,碰撞信息 hit,射線長度 length靠闭,lay:我的理解是碰撞物的一個(gè)標(biāo)記。

接下來在Start初始化這個(gè)變量坎炼。

void Start () { ? ??

//初始化Hom為給Cube2設(shè)置的Layer標(biāo)記

?? ? lay = LayerMask.GetMask("Hom"); ??

}


接下來在Update添加下面的內(nèi)容愧膀。

void Update () {

//當(dāng)用戶按下Q

if (Input.GetKey(KeyCode.Q))

{

//設(shè)置射線的位置

ray.origin = transform.position;

//設(shè)置射線的朝向

ray.direction = transform.forward;

//判斷射線擊中碰撞體

if (Physics.Raycast(ray, out hit, length, lay))

{

//如果是就打印擊中了

Debug.Log("擊中了");

}

}

}

然后將腳本掛在Cube的槍嘴上。


然后將谣光,Cube2的Layer設(shè)置為Hom就可以運(yùn)行了檩淋。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市萄金,隨后出現(xiàn)的幾起案子蟀悦,更是在濱河造成了極大的恐慌,老刑警劉巖氧敢,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件日戈,死亡現(xiàn)場離奇詭異,居然都是意外死亡孙乖,警方通過查閱死者的電腦和手機(jī)浙炼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門份氧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人弯屈,你說我怎么就攤上這事蜗帜。” “怎么了资厉?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵厅缺,是天一觀的道長。 經(jīng)常有香客問我宴偿,道長湘捎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任窄刘,我火速辦了婚禮消痛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘都哭。我一直安慰自己,他們只是感情好逞带,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布欺矫。 她就那樣靜靜地躺著,像睡著了一般展氓。 火紅的嫁衣襯著肌膚如雪穆趴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天遇汞,我揣著相機(jī)與錄音未妹,去河邊找鬼。 笑死空入,一個(gè)胖子當(dāng)著我的面吹牛络它,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播歪赢,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼化戳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了埋凯?” 一聲冷哼從身側(cè)響起点楼,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎白对,沒想到半個(gè)月后掠廓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡甩恼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年蟀瞧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了沉颂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡黄橘,死狀恐怖兆览,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情塞关,我是刑警寧澤抬探,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站帆赢,受9級特大地震影響小压,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜椰于,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一怠益、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瘾婿,春花似錦蜻牢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至笛谦,卻和暖如春抱虐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背饥脑。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工恳邀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人灶轰。 一個(gè)月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓谣沸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親笋颤。 傳聞我的和親對象是個(gè)殘疾皇子鳄抒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容