unity 碰撞层级开启

        //GetMask方法LayerMask.GetMask("Default"); LayerMask.GetMask("Default", "UI");LayerMask layer1 = (1 << 0);LayerMask layer2 = (1 << 0) | (1 << 10);LayerMask layer3 = LayerMask.GetMask("Default", "UI");Debug.Log(layer3.value);Debug.Log(LayerMask.NameToLayer("UI"));Debug.Log(LayerMask.LayerToName(1));

    public LayerMask layerMask = 1 << 19;private void OnTriggerStay(Collider other){if (1 << other.gameObject.layer == layerMask.value)//只对固定层级19 起作用{}}
    public LayerMask layerMask = (1 << 11) | (1 << 16) | (1 << 17) | (1 << 18);public void OnDrag(PointerEventData eventData){Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHit hit;//Mathf.Infinity表示发的射线正无穷远Physics.Raycast(ray, out hit, Mathf.Infinity, layerMask.value);}
 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHit hit;if (Physics.Raycast(ray, out hit, 10000, ~(1 << LayerMask.NameToLayer("MeasurePoint")))){}
  public LayerMask layerMask = (1 << 18);private bool DoubleClick(out Transform t){if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, Mathf.Infinity, layerMask)){if (Time.realtimeSinceStartup - time < 0.4f){t = hit.transform;Debug.Log("双击了");return true;}else{time = Time.realtimeSinceStartup;t = null;return false;}}t = null;return false;}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部