国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity---2d射線檢測

這篇具有很好參考價值的文章主要介紹了Unity---2d射線檢測。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1.目標(biāo)物體加對應(yīng)的collider碰撞體

?2.調(diào)節(jié)ProjectSetting里的time 幀速

3.LayerMask設(shè)置

4.避坑代碼


1.目標(biāo)物體加對應(yīng)的collider碰撞體

Unity---2d射線檢測

?2.調(diào)節(jié)ProjectSetting里的time 幀速

??按需使用

Unity---2d射線檢測

3.LayerMask設(shè)置

Layers通常被攝像機用來渲染部分場景,和燈光照射部分場景使用。但是它們也可以用來做射線檢測時忽略一些collider或Collision使用。

在代碼中使用時如何開啟某個Layers?

LayerMask mask = 1 << 你需要開啟的Layers層。
LayerMask mask = 0 << 你需要關(guān)閉的Layers層。

比如:
LayerMask mask = 1 << 2; 表示開啟Layer2。
LayerMask mask = 0 << 5;表示關(guān)閉Layer5。
LayerMask mask = 1<<2|1<<8;表示開啟Layer2和Layer8。
LayerMask mask = 0<<3|0<<7;表示關(guān)閉Layer3和Layer7。

上面也可以寫成:
LayerMask mask = ~(1<<3|1<<7);表示關(guān)閉Layer3和Layer7。
LayerMask mask = 1<<2|0<<4;表示開啟Layer2并且同時關(guān)閉Layer4.

4.避坑代碼

??注意:相機需要設(shè)置為正交模式文章來源地址http://www.zghlxwxcb.cn/news/detail-510470.html

using UnityEngine;

public class XXXContr : MonoBehaviour
{
    RaycastHit2D hit;
    private Transform hitObj;
   

    private void Awake()
    {
        
    }


    void Start()
    {

    }

    private void OnMouseDown()
    {
        Debug.LogError("down");

    }
    private void OnMouseDrag()
    {
        
    }
    private void OnMouseUp()
    {
        SetTableState(false);
    }

    private void FixedUpdate()
    {
        if (isMove)
        {
            //2d射線檢測需要指定參與碰撞的layer 并且添加射線長度,否則會失效
            LayerMask layer = 1 << 8;
            hit = Physics2D.Raycast(_camera.ScreenToWorldPoint(Input.mousePosition), Vector2.zero, 100f, layer);
            Debug.DrawLine(Input.mousePosition, hit.point, Color.black);
            if (hit.collider != null)
            {
                hitObj = hit.transform;
                //Debug.LogError("------" + hitObj.tag + "------");
                //注意上調(diào)參與點擊的spriteRender的z軸 使其距離攝像機更近,否則可能會被其他碰撞體蓋住 影響點擊響應(yīng)
                transform.position = new Vector3(offsetX, offsetY, -5);
            }
        }
    }

  

    private void OnTriggerEnter2D(Collider2D collision)
    {
        //Debug.LogError("trigger:" + collision.tag);
    }

    private void OnTriggerExit2D(Collider2D collision)
    {
        //Debug.LogError("Exit:" + collision.tag);
    }
}

到了這里,關(guān)于Unity---2d射線檢測的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 10.Unity2D 橫版 簡單AI 之 敵人隨機移動+自動巡邏+障礙物跳躍+懸崖處轉(zhuǎn)身+射線檢測

    10.Unity2D 橫版 簡單AI 之 敵人隨機移動+自動巡邏+障礙物跳躍+懸崖處轉(zhuǎn)身+射線檢測

    總目錄 9.Unity2D 簡單AI 之 敵人跳躍條件優(yōu)化+自動范圍內(nèi)檢測敵人發(fā)起攻擊(索敵)+對象池優(yōu)化+主角受傷死亡_ζ?? ??霧 ??狼 ???的博客-CSDN博客 Unity2D 簡單AI 之 敵人跳躍條件優(yōu)化+自動范圍內(nèi)檢測敵人攻擊+敵人二連擊。在敵人預(yù)制體下,創(chuàng)建空物體EnemyCanAttack,改成不

    2023年04月20日
    瀏覽(61)
  • unity 2D射線的使用方法

    Ray2D ray; ?? ?void Update() ?? ?{ ?? ??? ?ray = new Ray2D(transform.position, Vector2.right); ?? ??? ?RaycastHit2D info = Physics2D.Raycast(ray.origin, ray.direction,10); ?? ??? ?//Debug.DrawRay(ray.origin,ray.direction,Color.blue); ?? ??? ?if (info.collider != null) ?? ??? ?{ ?? ??? ??? ?if (info.transform.gameO

    2024年02月15日
    瀏覽(31)
  • Unity-Pico高級開發(fā)(一)按鍵狀態(tài)獲取,射線碰到物體變色,射線末端小圓點

    Unity-Pico高級開發(fā)(一)按鍵狀態(tài)獲取,射線碰到物體變色,射線末端小圓點

    目錄 效果展示 前言 獲取按鍵狀態(tài) 射線碰到物體變色 射線末端小圓點 Unity-Pico高級開發(fā)(一)按鍵狀態(tài)獲取,射線碰到物體 ? ? picoXR為Unity提供的Unity XR SDK是基于Unity XR實現(xiàn)的各個功能,針對手柄和頭盔的各個按鍵搖桿事件的獲取,均是采用的Unity XR提供的方法。目前UnityXR只

    2024年04月28日
    瀏覽(342)
  • Ue4用射線檢測來將點擊的物體顯示UI

    Ue4用射線檢測來將點擊的物體顯示UI

    給actor打上tag,首先射線檢測到actor,獲得他的tag,根據(jù)tag創(chuàng)建一個actor,創(chuàng)建的這個actor跟一個widget綁定。創(chuàng)建的actor中需要獲取到要顯示的widget,并將需要顯示的信息text傳給widget,widget根據(jù)傳入的值來改變顯示的信息。 1.將actor打上tag 2.根據(jù)hit到的actor的tag,傳入信息,并確

    2024年02月10日
    瀏覽(21)
  • Unity實現(xiàn)攝像機向屏幕中間發(fā)射射線射擊物體

    Unity實現(xiàn)攝像機向屏幕中間發(fā)射射線射擊物體

    外部找個PNG透明圖,拖到Unity文件夾,右上角改成精靈sprite2d 2.添加到UI畫布 ? 3.寫腳本 首先,我們需要引入一些 \\\"工具\\\",就像我們在玩游戲時要先下載游戲客戶端一樣。這里的 \\\"工具\\\" 就是一些命名空間,讓我們可以方便地使用 System 和 UnityEngine 類。 ?? 接下來,我們創(chuàng)建了

    2024年02月08日
    瀏覽(27)
  • Unity之OpenXR+XR Interaction Toolkit實現(xiàn) 射線和物體交互事件回調(diào)

    Unity之OpenXR+XR Interaction Toolkit實現(xiàn) 射線和物體交互事件回調(diào)

    前面我們介紹了如何抓取物體,今天我們來說一下如何和3D的物體進行交互,得到接觸的事件回調(diào)。 交互的兩種方式: 1.直接抓取或者射線抓取物體,得到接觸回調(diào) 2.射線或者手部觸摸物體后,得到接觸回調(diào) 我們需要準(zhǔn)備好Unity工程和環(huán)境配置 有了前文:Unity之OpenXR+XR Inter

    2024年02月13日
    瀏覽(126)
  • 【虛幻引擎UE】UE4/UE5 基于2D屏幕坐標(biāo)獲取場景3D坐標(biāo) 射線檢測(藍圖/C++)

    【虛幻引擎UE】UE4/UE5 基于2D屏幕坐標(biāo)獲取場景3D坐標(biāo) 射線檢測(藍圖/C++)

    射線檢測(Ray Casting) 是一種計算機圖形和計算機圖形學(xué)中的基本技術(shù),用于檢測光線或射線是否與三維場景中的物體相交,以確定相交點的位置和其他相關(guān)信息。射線檢測通常用于實現(xiàn)各種交互功能、渲染效果和物理模擬,包括但不限于鼠標(biāo)拾取、光線追蹤、碰撞檢測和物

    2024年02月07日
    瀏覽(184)
  • Unity 的射線檢測

    Unity 的射線檢測

    Unity版本2020.3.32f1c1 目錄 Ray RaycastHit Physics.Raycast() RaycastHit[] ??Layer 應(yīng)用 1.對Bad層級的物體進行著色 2.從相機發(fā)射射線與地面進行射線交互 3.運動的物體在場景中進行避障 總結(jié) 參考資料 原理是發(fā)射一條射線,傳入起始點和起始方向當(dāng)做射線的起點和方向。 在OnDrawGizmos()函數(shù)中

    2024年02月07日
    瀏覽(24)
  • Unity 射線檢測

    Unity 射線檢測

    在Unity中,射線檢測(Raycasting)是一種常用的技術(shù),用于檢測射線是否與場景中的物體相交。這在游戲開發(fā)中用于實現(xiàn)點擊物體、射線武器的碰撞檢測、角色與環(huán)境的交互等方面非常有用。 定義:表示從一個點沿著特定方向延伸的虛擬線段 屬性: direction 射線的方向。 orig

    2024年02月13日
    瀏覽(21)
  • Unity之射線檢測

    Unity之射線檢測

    目錄 ??一、射線檢測原理 ??1.2、實現(xiàn)實例? ??二、導(dǎo)航 ??2.1 導(dǎo)航網(wǎng)格的使用 ??2.2 創(chuàng)建角色,在地形上移動 ??2.3 動態(tài)障礙物? ??2.4 網(wǎng)格鏈接? ??2.5 自定義網(wǎng)格鏈接? ??2.6 區(qū)域 不知道大家有沒有玩過紅色警戒?—— 一款即時戰(zhàn)略游戲,和罪惡都市一樣小編小學(xué)的時

    2024年01月20日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包