RaycastでLayerMaskを使う【Raycast】
Raycastを使うとき
Physics.Raycast(Ray ray, out RaycastHit hit, float maxDistance, int layerMask)
をよく使うが、
このlayerMaskに、
LayerMask.NameToLayer("Layer")
って入れても無駄!
LayerMask.NameToLayer()で返って来るのはレイヤー番号。LayerMaskじゃない。
マスクにするにはレイヤー番号だけ1をビットシフトしろ!
1 << LayerMask.NameToLayer("Layer")
ちなみに、
LayerMaskは指定したLayerにのみ当たるようにするもの。
指定レイヤー以外に当てるようにしたいのならビット反転しろ!
~(1 << LayerMask.NameToLayer("Layer"))
以上。