Unity 射線檢測

2021-10-08 02:28:38 字數 606 閱讀 9284

射線是乙個無窮的線,開始於origin並沿著direction方向。

例;ray ray = new ray(new vector3(1, 1, 1), new vector3(0, 0, 0));

例2;ray ray2 = camera.main.screenpointtoray(input.mouseposition);//從攝像機發出一條射線,射向滑鼠方向

physics.raycast與 ray 以及  raycasthit結合使用可以完成射線檢測

physics.raycast的定義有很多種,常用到的引數是如下

例;     raycasthit hit;

physics.raycast(ray.origin, ray.direction * 1000, out hit);   //out hit 指定 記錄射線檢測資訊的 raycasthit

structure used to get information back from a raycast.

用來獲取從raycast函式中得到的資訊反饋的結構。引數如下

例;

Unity 射線檢測

要使用射線檢測,物體必須是觸發器或者碰撞器。什麼是觸發器,碰撞器請看 射線檢測函式在physics 類中。由於射線無法看見,除錯起來非常不方便。unity 給我們提供了乙個畫射線的方法debug.drawray,便於除錯。debug.drawray需要在update中使用,否則渲染一幀就會消失。一幀...

unity射線檢測碰撞

使用普通的碰撞體檢測,檢測時不連續的,是每隔0.02秒進行的離散檢測,這樣在被檢測的物體速度比較快時,就會由直接穿過物體的可能,這個時候,就需要使用射線檢測了。為了實現高速狀態下的碰撞檢測,要使用連續的射線來完成這樣乙個功能。使用 new ray建立射線new ray 發射位置,發射方向乘上發射速度...

Unity 常用射線檢測方法

1.普通射線檢測 一般用於檢測某乙個物體 ray ray camera.main.screenpointtoray input.mouseposition debug.drawray ray.origin ray.direction color.red raycasthit hit if physi...