Unity---2d射线检测

Posted 格拉格拉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity---2d射线检测相关的知识,希望对你有一定的参考价值。

目录

1.目标物体加对应的collider碰撞体

 2.调节ProjectSetting里的time 帧速

3.避坑代码


1.目标物体加对应的collider碰撞体

 2.调节ProjectSetting里的time 帧速

3.避坑代码

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 + "------");
            
        
    

  

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

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

 

以上是关于Unity---2d射线检测的主要内容,如果未能解决你的问题,请参考以下文章

Unity射线检测(持续更新)

unity 射线怎么检测ngui

Unity3D_(API)射线检测

unity 触摸怎么做射线检测

unity为啥射线检测不到ui

unity为啥射线投射到UI上面会返回空?