physics.Ray 를 통해 layer충돌 ray를 발사하는데,
LayerMask의 GetMask와 NameToLayer함수가 반환값이 다르길래 검색하고 정리하는 글이다.
public static int GetMask(params string[] layerNames)
GetMask함수는 말그대로 인자값으로 넘어온 레이어 이름에 해당하는 mask값을 반환한다.
해당 mask란 레이어 번호만큼 비트쉬프트 결과이다.
따라서 layer 8번 인덱스에 Wall을 저장했다면,
getmask("Wall")의 결과는 1<<8을 반환한다.
public static int NameToLayer(string layerName);
Given a layer name, returns the layer index as defined by either a Builtin or a User Layer in the Tags and Layers manager.
해당 레이어의 인덱스를 반환한다.
따라서 NameToLayer("Wall")은 1<<8이 아닌 8을 반환하므로
1<<NameToLayer("Wall") 이렇게 사용해야한다.