Unity-layermaskの問題
2873 ワード
1 using UnityEngine;
2 using System.Collections;
3
4 public class NewBehaviourScript : MonoBehaviour {
5 private RaycastHit info;
6 LayerMask M1 = 1<<8;
7 LayerMask M2 = 9<<10;
8 // Use this for initialization
9 void Start () {
10 if (Physics.Raycast(this.transform.position, new Vector3(0, 0, 1), out info,M1))
11 {
12
13 print(info.collider.gameObject.name); }
14 }
15
16 // Update is called once per frame
17 void Update () {
18 Debug.DrawLine(transform.position, info.point, Color.red);
19 }
前はこう書いていましたが、m 1ではない衝突体が検出されたのか、今日やっと問題が発見されました
バグかどうかはわかりませんが、distanceをつけないと後ろのmask unityは無視します
こうなる
(Physics.Raycast(this.transform.position, new Vector3(0, 0, 1), out info, Mathf.Infinity, M1))
普通です.