๐ ์์ฝ
bool hasCollision = Physics.Raycast(origin, direction, maxDistance, layerMask);
bool hasCollision = Physics.Raycast(ray, maxDistance, layerMask);
RayCast๋ Ray์ Scene ๋ด Collider์ ์ถฉ๋์ ์บ์นํ๊ธฐ ์ํ ํจ์์ด๋ค. ๋ง์ฝ Ray๊ฐ ์ค๋ธ์ ํธ์์ ์ถฉ๋์ ๊ฐ์งํ์ง ๋ชปํ๋ค๋ฉด ๋ค์ ํญ๋ชฉ์ ๋จผ์ ์ฒดํฌํด ๋ณผ ํ์๊ฐ ์๋ค.
1. Scene ์์ Ray๊ฐ ์ถฉ๋ํ ์ ์๋ Collider๊ฐ ์กด์ฌํ๋๊ฐ (์ค๋ธ์ ํธ์ Collider ์ปดํฌ๋ํธ ์ฒดํฌ, ๋๋ Ray์ ๋ฐฉํฅ ์ฒดํฌ)
2. Ray์ ๊ธธ์ด๊ฐ ๋๋ฌด ์งง์ง๋ ์์๊ฐ (maxDistance)
3. ์ธ์ํ Collider๋ฅผ ํํฐ๋งํ๋๊ฐ (LayerMask)
๊ทธ๋ฐ๋ฐ ์ฌ ์์ ์ถฉ๋์ฒด๋ ์๊ณ , Ray์ ๊ธธ์ด๋ Mathf.Infinity๋ก ์ฃผ๊ณ , Layer๋ ํํฐ๋งํ์ง ์์๋๋ฐ RayCast๋ก ๋์ง Ray๊ฐ Collider๋ฅผ ์ธ์ํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์์ ์ ์๋ค. ์์ธ์ ๋ค์ํ๊ฒ ์ง๋ง ์ด๋ฒ์ ๊ฒช์ ์ค๋ฅ ์ํฉ๊ณผ ์ฌ๊ณ ํ๋ฆ์ ๋ค์๊ณผ ๊ฐ๋ค.
Mesh ์ค๋ธ์ ํธ์ Mesh Collider ์ปดํฌ๋ํธ๋ฅผ ์ถ๊ฐํ๋๋ฐ, Ray๊ฐ Collider์ ์ถฉ๋ํ์ง ์์๋ค.
-> ์ถ๊ฐ๋ Collider๊ฐ ์ ๋๋ก ๋ง๋ค์ด์ง์ง ์์๊ฑด๊ฐ?
-> Collider๋ฅผ ์์ฑํ๋ Mesh Cooking ๊ณผ์ ์ ์ต์ ์ ๋ณ๊ฒฝํ๋ค.
-> Enable Mesh Cleaning๊ณผ Weld Colocated Vertices ์ต์ ๋ง ํ์ฑํ
๐ Mesh Cooking
Mesh Collider๋ Mesh๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Collider๋ฅผ ๋น๋ํ๋ค. ์ด ๊ณผ์ ์ Mesh Cooking์ด๋ผ๊ณ ํ๋ค.
๋ค์ ๋งํด Mesh Cooking์ด๋, ์ผ๋ฐ mesh๋ฅผ ๋ฌผ๋ฆฌ์์ง์์ ์ฌ์ฉ ๊ฐ๋ฅํ mesh๋ก ๋ณ๊ฒฝํ๊ณ ๊ณต๊ฐ ๊ฒ์ ๊ตฌ์กฐ(Physics.Raycast ๋ฑ)๋ฅผ ๋น๋ํ๋ ์์ ์ ์๋ฏธํ๋ค.
Mesh Cooking์ ๋ฐํ์ ์์ ์ ์คํ๋๋ค. ๋๋ Import Settings - Model - Generate Colliders๋ก ์คํํ ์๋ ์๋ค.
Mesh๋ฅผ Cooking ํ๋ ์ต์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
Cook for Faster Simulator
๋ฐํ์์ ์ต์ ํ๋ collider๋ฅผ ์์ฑํ๋ ์ต์ ์ด๋ค. ์์ฑ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค.
Enable Mesh Cleaning
Mesh์ ๊ฒฐํจ์ ์ ๊ฑฐํ๋ ์ต์ ์ด๋ค. ์ ํํ Hit ํฌ์ธํธ๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ Collision ๊ฐ์ง์ ํจ๊ณผ์ ์ด๋ค.
Weld Colocated Vertices
๊ฐ์ ์์น์ ์๋ vertex๋ค์ ๊ฒฐํฉํ๋ ์ต์
Use Fast Midphase
๋ ๊ฑฐ์ ์๊ณ ๋ฆฌ์ฆ(์๋ง Rํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ชจ์)๋ณด๋ค ๋ ๋น ๋ฅธ Midphase ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ์ต์ . ๋์ ํ๋ซํผ์ด ๋ฐ์คํฌํฑ์ธ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค.
๋ฉ์๊ฐ ์ค๋ณต ์ ์ ๋ฑ์ ๊ฒฐํจ์ด๋ ๋๋ฌด ํฌ๊ณ ์์ ์ผ๊ฐํ์ ํฌํจํ ๊ฐ๋ฅ์ฑ์ด ์๋ค๋ฉด, Mesh Cleaning๊ณผ Weld Colocated Vertices ์ต์ ์ ๊ผญ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
๐ ์ต์ ์ฑ๋ฅ ๋น๊ต
๊ฐ ์ต์ ์ ์ฌ์ฉํ์ ๋ ์ฑ๋ฅ์ ๋์ถฉ ๋น๊ตํด๋ดค๋ค. ์ ๋์ ์ผ๋ก ์ ํํ ์ธก์ ์ ์๋
All
์ด ์ต์ ์ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ Collider๊ฐ ์ ๋๋ก ์์ฑ๋์ง ์๊ฑฐ๋ ์ฐ์ฐ ๋ฐฉ์์ ๋ฌธ์ ๊ฐ ์๊ฒจ Collision ์ฒดํฌ๊ฐ ์ ๋๋ก ์ ๋๋ค๋ ๊ฒ์ด๋ค.
Cook for Faster Simulator + Enable Mesh Cleaning + Weld Colocated Vertices
Faster Simul ์ต์ ๋๋ฌธ์ ์คํ ์์๋ถํฐ ๋ฐํ์ ์์๊น์ง ์๊ฐ์ด ๊ฝค ์์๋๋ค.
Enable Mesh Cleaning + Weld Colocated Vertices
์ฐธ๊ณ ์๋ฃ
'๐ ํ์ต๊ณผ ๊ฐ๋ฐ ๊ธฐ๋ก > Unity' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Unity] ์คํฌ๋ฆฝํธ ์คํ ์์ ์ค์ ํ๊ธฐ (0) | 2022.06.07 |
---|---|
[Unity] Serialization (0) | 2022.04.18 |
Unity Assembly Version Validation ๊ด๋ จ ์๋ฌ (0) | 2022.02.01 |
Mapbox SDK ์ค์นํ๊ธฐ (0) | 2021.12.20 |
MS Bing Maps SDK ์ฌ์ฉํ๊ธฐ (0) | 2021.12.14 |