์๋ง ๋ ์ด์บ์คํธํด์ ์ฌ์ฉํ ๋ 1์ LayerMask.NameToLayer(layerName)์ ๋ฐํ๋งํผ <<(๋นํธ ์ํํธ)ํด์ฃผ๋๊ฑฐ ๋ณด๊ณ ๋งํ ๊ฒ ๊ฐ์๋ฐ,,
์ผ๋จ ๋นํธ๋ง์คํน์ด๋ผ๋ ํ ํฌ๋์์ ์์๋จ
์๋ ์ ์ปดํจํฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋ฐ์ดํธ๊ฐ ์ค์ํ์ ๋์ ๋นํธ ๋จ์๋ก๋ผ๋ ๊ฐ์ ํ ๋ณ์์ ์ค์ ๋ฐ์ ์ฐ๊ณ ๊ทธ๋ฌ๋๋ฐ
์ง๊ธ์ ์ผ๋ฐ์ ์ผ๋ก ์ ๋ ๊ฒ ์ธ ์ผ์ด ์๊ธด ํ์ง๋ง ์์ฆ๋ ๊น์ํ ๋ค์ด๊ฐ๊ฑฐ๋ PSํ ๋์ ์ฌ์ ํ ์ฐ์ด๊ธด ํจ
๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๊ฒ k๋ฒ์งธ ๋นํธ์ ์ํ๋ก k๋ฒ์งธ ๋ฌด์ธ๊ฐ๊ฐ ์ด๋ค ์ํ์ธ์ง๋ฅผ ํ๋จํ๋๊ฑฐ์
https://www.acmicpc.net/problem/1194
์ธ๋ถ์ด๋ค์ด ์ข์ํ ๊ทธ๋๋ง ๊ฒ์์ด๋ ๋น์ทํ ๋ฏธ๋ก ํ์ถ ๋ฌธ์ ๋ฅผ ๊ฐ์ ธ์์ ๋์ถฉ ์ด๋ป๊ฒ ์ฐ๋์ง ์๋ฅผ ๋ค๋ฉด
์ง๊ธ ๊ฐ์ง๊ณ ์๋ ์ด์ ์ ์ข ๋ฅ๊ฐ ๋ญ์ง๋ฅผ ๋ณ์ ํ๋๋ก ๋ํ๋ด๋๋ฐ ์ฌ์ฉํ ์ ์์
๋ด๋ถ๊ฐ ์ด๋ป๊ฒ ๋ผ์๋์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง Unity๋ ์๋ง ๋ช๋ฒ ๋นํธ๊ฐ 1์ธ์ง ํ๋จํ๋ ๊ฑธ๋ก ์ด ๋ ์ด์ด์๋ ์ถฉ๋ํ๊ณ ,, ์ด ๋ ์ด์ด๋ ๋ฌด์ํ๊ณ ํ ๊ฑฐ๋ผ๊ณ ์๊ฐํจ
์ด์ฐจํผ k๋ฒ ๋นํธ๊ฐ 1์ธ์ง ํ๋จํ๋ ๊ฑด ์ ๋ํฐ๊ฐ ํด ์ค๊ฑฐ๊ณ , 0์ผ๋ก ๋ง๋๋ ๊ฑด ๊ตณ์ด ํ ํ์ ์์ผ๋
k๋ฒ ๋นํธ๋ฅผ 1๋ก ๋ง๋๋ ๋ฐฉ๋ฒ๋ง ์๋ฉด ๋จ
๊ทธ ์ ์ ๋ช๋ฒ ๋นํธ๋ฅผ 1๋ก ๋ง๋ค์ด์ผ ํ๋์ง๋ฅผ ๋ณด์
LayerMask.NameToLayer(layerName)์ ์ธ์๋ก ๋ฐ์ ๋ ์ด์ด๋ฅผ ์ ์๋ก ๋ฐ๊ฟ์ ๋ฐํํ๋๋ฐ,, ๋ฐํํ๋ ์ ์๋ ์ ๊ธฐ ๋นจ๊ฐ ๋ค๋ชจ๋ก ์ฒ๋ฆฌํด๋๊ฒ๊ณผ ๊ฐ์
์ฒซ ๋ฒ์งธ ๋นํธ๋ฅผ 0๋ฒ ๋นํธ๋ผ๊ณ ํ์ ๋, ๊ทธ๋ฅ [LayerMask.NameToLayer(layerName)]๋ฒ ๋นํธ๋ฅผ 1๋ก ๋ง๋ค๋ฉด ๋๊ฒ ๋ค
k๋ฒ ๋นํธ๋ฅผ 1๋ก ๋ง๋๋ ๊ฑด ๊ฐ๋จํ๊ฒ
ํ๋ฉด ๋(๋ ์ด์บ์คํธ ์ธ์๋ก ๋๊ธธ ๋ ๋นํธ ์ํํธ ํ ๊ฒฐ๊ณผ๋ง ๋๊ฒจ์ฃผ๋ฉด ๋จ)
์ด์ ๋ status = 0000(2)์ผ ๋
<<(๋นํธ๋ฅผ ์ผ์ชฝ์ผ๋ก ์ฎ๊ธฐ๋ ์ฐ์ฐ์)๋ฅผ ์ฌ์ฉํด 0001(2)์ ์ผ์ชฝ์ผ๋ก k๋ฒ ์ฎ๊ธด ํ, ๋นํธ๋น |(OR) ์ฐ์ฐ์ ํด์ฃผ๋ฉด status๋ k๋ฒ ๋นํธ๋ง 1์ด ๋ ๊ฑฐ์
์ถฉ๋ ๊ฐ์ง๋ฅผ ํ ๋ ์ด์ด๊ฐ ์ฌ๋ฌ๊ฐ์ผ ๋ ๊ฐ๊ฐ ๋นํธ ์ํํธ ํ ๊ฒ์ ๋ย |(OR)ํด์ฃผ๋ ๊ฒ๋ ํด์ฃผ๋ ๊ฒ๋ ๊ฐ์ ์ด์ ์ ๊ฐ์ ์๊ธฐ ๋ ์ด์ด๋ฅผ ๋ํ๋ด๋ ๋นํธ๊ฐ 1์ด ๋ ๊ฑฐ๋๊น
์ฆ๋ฐ๋ธ
LayerMask.NameToLayer(name)
๋ ๋ ์ด์ด ๋ณ๊ฒฝํ๋ ์ผ์ด ์ฆ์์ ์ด๊ฑฐ ์ฐ๋๋ฐ
๋๋ (1 << LayerMask.NameToLayer(layerName)) ์ฒ๋ผ ์ฐ๊ฑฐ๋ ๊ทธ๋ฅ LayerMask ์์ฒด๋ก ๋ฐ์์ด
๊ธ ๋ณด๋ฉด ๋๋ NameToLayer ์ฌ์ฉํ๋๊ฑฐ ๊ธฐ์ค์ผ๋ก ์ค๋ช ํด๋์
๊ทธ๋ ๋ค ๋ง์ง๋ง ๋ถ๋ถ์ฏค๋ง ์ฝ์ด์ ๋ชป๋ดค์
๋ณ์ ํ ๋นํด์ ์ฐ๋๊ฒ ๋ซ๊ธด ํจ. ๊ฐ๋ ์ฑ๋ ์ข๊ณ
๋ต๋ณ์ถ