中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Raycasting光線投射

發布時間:2020-07-04 19:26:39 來源:網絡 閱讀:2231 作者:Aonaufly 欄目:開發技術

游戲開發人員可以使用光線投射,用于像瞄準,確定視線,測量距離之類的動作。Unity當中的Raycast的重載有很多。現在展示最常用的2中方法

bool Raycast( Vector3 origin , Vector3 direction , float distance ,LayerMask mask );

參數解釋
 origin : 是光線的開始位置
 direction : 光線的方向
 distance : 光線行進的距離(可為null)
 mask : 確定光線會撞上哪一層(可為null)


如果要確定攝像機前確定是否有某個物體,可以用如下代碼

void Update(){
    if (Physics.Raycast(transform.position , transform.forward , 10 )){
        print("there is something in front of the camera!");
    }
}

注意此代碼放在camera中


另一個

bool Raycast( Vector3 origin , Vector3 direction , out RaycastHit hit , float distance );

這個重載方法使用了一個RaycastHit類型的參數 , 它是光線碰撞到的對象

void Update(){
    float dirX = Input.GetAxis("Mouse X");
    float dirY = Input.GetAxis("Mouse Y");
    transform.Rotate(dirY , -dirX , 0 );
    UptateRaycastHit();
}
void UpdateRaycastHit(){
    RayCastHit hit;
    if( Physics.Raycast( transform.position , transform.forward , out hit ) ){
        Distroy( hit.collider.gameObject )
    }
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武胜县| 巩留县| 名山县| 富源县| 化德县| 探索| 鹿邑县| 甘肃省| 莎车县| 东兰县| 赤壁市| 沁水县| 西华县| 陇西县| 抚顺县| 镇远县| 苗栗市| 怀仁县| 上犹县| 綦江县| 阳曲县| 新巴尔虎左旗| 伊宁县| 温泉县| 新竹县| 砚山县| 雷山县| 五指山市| 海安县| 武义县| 襄汾县| 德钦县| 江北区| 朝阳县| 石屏县| 宁乡县| 汝州市| 浑源县| 墨脱县| 红安县| 运城市|