ย ย ย ย Physics.OverlapSphereNonAlloc(pos, radius, colls, 1<<3);
ย ย ย ย foreach(var coll in colls){
ย ย ย ย ย ย // ํญ๋ฐ ๋ฒ์์ ํฌํจ๋ ๋๋ผํต์ Rigidbody ์ปดํฌ๋ํธ ์ถ์ถ
ย ย ย ย ย ย rb = coll.GetComponent<Rigidbody>(); ย
ย ย ย ย ย ย // ๋๋ผํต์ ๋ฌด๊ฒ๋ฅผ ๊ฐ๋ณ๊ฒ ํจ
ย ย ย ย ย ย rb.mass = 1.0f;
์ฌ๊ธฐ์ ๊ณ์ getcomponent ์ค์
nullreferenceexception ์๋ฌ๊ฐ ๊ณ์ ๋จ๋๋ฐ
๋ ์ด์ด๋ ๋ง๊ณ rigidbody๋ ๋ค ๋ค์ด์๋๋ฐ ์๋ฌ๊ฐ ์ ๋จ๋์ง ์๋ฌด๋ฆฌ ๊ตฌ๊ธ๋ง ํด๋ด๋ ์ ๋์ค๋ค์,,,
coll์ ์ปดํฌ๋ํธ๊ฐ ์๋๊ฑฐ์
์๋๋ฉด ์ง๊ธ ์ง๋ฌธ์ด coll์์ฒด๊ฐ null์ธ๊ฑฐ์? OverlapSphereNonAlloc์ ๋ฆฌํด๊ฐ์ ๋ฐ์์ ์ถฉ๋ํ ๊ฐฏ์๋ฅผ ๊ฐ์ ธ์์ ๊ทธ๋งํผ๋ง ์ํํด์ผํจ
๋์ถฉ new ๋๋ ค์ colls ๋ฐฐ์ด์ ํ ๋นํ๋ ๊ฒ ๊ฐ์๋ฐ ๊ธฐ๋ณธ๊ฐ์ด null์ด๋ผ์ ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ์ถฉ๋ํ ์ ๋ค ์๋ณด๋ค ๊ธธ๋ฉด ๋ฃจํ ๋๋ค๊ฐ null์ ๋ง๋๊ฒ ๋ ๊ฑฐ์
coll ์์ฒด๊ฐ null์ด์ง ์์๊ฒ๋๋ค. ํญ๋ฐ์ ์ํฅ์ ๋ฐ๋๊ฒ coll์ธ๊ฑด๋ฐ ๊ฒ์๋ทฐ์์๋ ์ ๊ฐ ์๋ํ ๋๋ก ๋ค ์ํฅ์ ๋ฐ๊ฑฐ๋ ์
๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ํ๋ฒ ๋ฐ๊ฟ๋ณด๊ฒ ์ต๋๋ค
๊ทธ๋๋ ์ ์ค ์์ฒด์์ NPE ๋ฌ๋ค๋๊ฒ coll์ด null์ธ ๊ฒฝ์ฐ ์ธ์๋ ์์ ๋๋ฒ๊น ์์น ์ฒซ๋ฒ์งธ๋ ํ์ ํ์ง ๋ง ๊ฒ. ๋ก๊ทธ ์ฐ๊ธฐ ์ ๊น์ง ๋ชจ๋ฅด๋๊ฑฐ์
๊ฑ print๋ฉ์๋๋ก null๋์ค๋์ง ์๋์ค๋์ง ํ์ธ์ ํด๋ณด์
https://docs.unity3d.com/ScriptReference/Physics.OverlapSphereNonAlloc.html
์ฌ๊ธฐ
์ฝ๋๋ฅผ ๋ณด๋ฉด foreach๋ฅผ ์์ฐ๊ณ numColliders๋ฅผ ๋ฐ์์ for๋ฃจํ๋ฅผ ๋์
๋น์ทํ๊ฒ ์ฝ๋ ์ง๋ณด์
์ ๋ฌด์จ ๋ง์์ด์ ์ง ์ดํด ๊ฐ์ต๋๋ค ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ค ๋ชป ์ฑ์ฐ๊ณ ๋จ์ ์๋ฆฌ๊ฐ null์ด ๋์ด์ null์๋ rigidbody๊ฐ ์์ผ๋ ์๊ธฐ๋ ์๋ฌ๋ผ๋ ๋ง์์ด์์ฃ ? ๊ทธ๋์ ๋ค๋ฅธ ์ค๋ธ์ ํธ์์๋ ์ ์์ ์ผ๋ก ์คํ๋๋ ๊ฑฐ๊ณ ??!!
ใ ใ . ์ด๋ ๊ฒ ์ดํด ์๋๋ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ๋ฉด ์ฌ๋งํด์๋ ์ฌ์ฉํ๋ ํจ์์ ๋ํ ๋ฌธ์ ๋ณด๋๊ฒ ์ข์.
component ์๋ค๋๊ฑฐ๋๊น coll.TryGetComponent(out rb); ๊ฐ์ด ์์ธ ์ฒ๋ฆฌ ํ์
์ถ๊ฐํด๋ ๋น๋๋ค...!
Physics.OverlapSphereNonAlloc(pos, radius, colls, 1<<3); = 0
๊ตฌ๊ธ๋งํด๋ ์ ๋์์ ๋ผ๋ ์ง๋ฌธ์ null ์๋ฌ ์์ผ๋ฉด ์์งํ ๋ตํด์ค ํ์๊ฐ ์๋ค๊ณ ์๊ฐํ๋ค. ๊ตฌ๊ธ๋งํ๋ ๋ฒ๋ถํฐ ๊ธฐ์ด์ ์ธ ์์ง ์ฌ์ฉ๋ฒ๊น์ง ์์ ๊ธฐ๋ณธ์ด ์๋์ด์๋๋ฐ ๋ฐฑ๋ ์๋ ค์ค๋ดค์ ๋ญํ๋ ๋๊ฐ์ ๊ฑธ๋ก ๋ ๋งํ์ ๋๋๊ฑฐ๋ฆดํ ๋ฐ
์ด๋ฐ ํ์ธ์ด ๊ฐค์?
Debug.Log(coll,transform); ํด์ ํ๋ํ๋ ๋ค ํ์ธํด๋ด๋ ์ ๋ถ ๋ฌธ์ ์์?
์ ์๋๋ค ์ง์ง ์ด๊ฑฐ ์ฑ ๋ณด๊ณ ํ๋ค๊ฐ ์๋ฌ ๋ ์ ๊ตฌ๊ธ๋ง ์ดํ๋์ ํ๋ค๊ฐ ์ ๋๊ฐ ์ฃฝ์ ๋ป ํ๋๋ฐ ์ ์๋๋ค์ด ์ฌ๋ ํ ๋ช ์ด๋ ธ์ต๋๋ค ์ง์ง ๊ฐ์ฌํฉ๋๋ค ์์ผ๋ก ์ ๋ถํ๋๋ฆฌ๊ฒ ์ต๋๋ค
๊ฒ์ ๋ง๋ค์ด์ ์๋๋ฉด ํผ์ ์๋๊ฑฐ๋
๋๋ฒ๊ทธ๋ฅผ ํ ์ค ๋ชจ๋ฅด๋ ์ฌ๋ํํ ๋ต์ ์ถ์ธกํด์ ์๋ ค์ฃผ๋ ค๊ณ ํ๋ ธ