UE5์์๋ ๊ธฐ์กด DX11 Tessellation ๊ธฐ๋ฐ Displacement ๊ธฐ๋ฅ์ด ์ ๊ฑฐ๋์ต๋๋ค.
๋ฐ๋ผ์ Height ๊ธฐ๋ฐ ์งํ ํํ์ World Position Offset(WPO) ๋๋ Nanite Displacement ๋ฐฉ์์ผ๋ก ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
์ด ์ํฌํ๋ก์ฐ๋ Material Layer ์์คํ
์ ํ์ฉํ์ฌ ์ฌ๋ฌ ์ฌ์ง์ Height ๊ธฐ๋ฐ์ผ๋ก ๋ธ๋ ๋ฉํ๊ณ ,
๊ทธ ๊ฒฐ๊ณผ๋ฅผ Render Target๋ฅผ ํ์ฉํด ํ
์ค์ฒ๋ก ๋ฒ ์ดํฌํ์ฌ Displacement์ฉ Height Map์ผ๋ก ์ฌ์ฉํ๋ ๋ฐฉ์์
๋๋ค.
Layered Height Texture Blend Workflow
Step1. Material Layer ๊ตฌ์ฑ
๐ ์ฝํ ์ธ ๋ธ๋ผ์ฐ์ Add โ Material โ Layers - Material Layer ์์ฑํฉ๋๋ค.
Info
Height ์ ๋ณด๋ ์ฌ์ง์ ๋๋ฎ์ด ๋ธ๋ ๋ฉ ๊ธฐ์ค๊ฐ์ผ๋ก ์ฌ์ฉ.
Step2. Material Layer Blend ๊ตฌ์ฑ
๐ ์ฝํ ์ธ ๋ธ๋ผ์ฐ์ Add โ Material โ Layers - Material Layer Blend ์์ฑํฉ๋๋ค.
๋งค๊ฐ๋ณ์ ์๋ฏธ
Height High โ ์์ ์ฌ์ง์ด ์ฐ์ ์ ์ฉ๋๋ ์์ญ Height Low โ ํ์ ์ฌ์ง์ด ์ ์ง๋๋ ์์ญ
๊ฐ ์ฐจ์ด๊ฐ ํด์๋ก ํ๋ฉด์ ๊ฒฝ๊ณ๊ฐ ๋ ๋๋ ทํด์ง.
Step3. Mater Material ๊ตฌ์ฑ
๐ ์ฝํ ์ธ ๋ธ๋ผ์ฐ์ Add โ Material ์์ฑํฉ๋๋ค.
์ด ๋จ๊ณ์ ๋ชฉ์ ์ Layered Height Blend์์ ๊ณ์ฐ๋ Height ๊ฐ์ **World Position Offset(WPO)**์์ ์ฌ์ฉํ ์ ์๋๋ก ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ๋ ๊ฒ์ ๋๋ค.
Material Layer์์ ๊ณ์ฐ๋ Height ๊ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก Pixel Shader ๋จ๊ณ์์ ์ฒ๋ฆฌ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ Displacement๋ฅผ ๊ตฌํํ๋ WPO๋ Vertex Shader ๋จ๊ณ์์ ์คํ๋ฉ๋๋ค.
์ฆ,
- Height ๊ณ์ฐ์ Pixel ๋จ๊ณ์์ ์ํ๋๊ณ
- WPO๋ Vertex ๋จ๊ณ์์ ์คํ๋๊ธฐ ๋๋ฌธ์
- Height ๊ฐ์ ์ง์ ์ฌ์ฉํ ์ ์๋ ๊ตฌ์กฐ์ ๋ฌธ์ ๊ฐ ์กด์ฌํฉ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Customized UV๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Customized UV์ ์ญํ
Customized UV๋ ํน์ ๊ณ์ฐ์ Pixel Shader๊ฐ ์๋ Vertex Shader ๋จ๊ณ์์ ์ํํ๋๋ก ์ด๋์ํค๋ ๊ธฐ๋ฅ์ ๋๋ค.
์๋ ์๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 1๏ธโฃ Height ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ Customized UV ์ฑ๋์ ์ฐ๊ฒฐํฉ๋๋ค. 2๏ธโฃ ํด๋น ์ฐ์ฐ์ Vertex Shader ๋จ๊ณ์์ ์ํ๋ฉ๋๋ค. 3๏ธโฃ ๊ณ์ฐ๋ ๊ฐ์ ๋ณด๊ฐ๋์ด Pixel Shader๋ก ์ ๋ฌ๋ฉ๋๋ค. 4๏ธโฃ Vertex ๋จ๊ณ์์ ํด๋น ๊ฐ์ WPO์ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ด ์ํฌํ๋ก์ฐ์์๋ Height ๊ฐ์ Customized UV7์ ์ ์ฅํ์ฌ Vertex ๋จ๊ณ์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก ๊ตฌ์ฑํฉ๋๋ค.
Step4. Material Layer Height Blending ๋ฏธ์ธ์กฐ์
๋ง์คํฐ ๋ฉํ ๋ฆฌ์ผ์ ์ธ์คํด์ค๋ฅผ ์์ฑํฉ๋๋ค. ๋ ์ด์ด ํ๋ผ๋ฏธํฐ ์ฐฝ์์ 1,2๋จ๊ณ์์ ๋ง๋ Material Layer๋ฅผ ์ฐ๊ฒฐํด์ค๋๋ค.
Enable Height Blend ํ์ฑํํ๊ณ Height High, Height Low๊ฐ์ ์กฐ์ ํด์ ์์ฐ์ค๋ฌ์ด ์ฌ์ง ๊ฒฝ๊ณ ํํ์ ์์ฑํ๊ธฐ ์ํด ์์น๋ฅผ ๋ฏธ์ธ์กฐ์ ํฉ๋๋ค. (๋ค๋ฅธ ๋ ์ด์ด์๋ ์ด ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ๋ณต์ ์ผ๋ก ์์ ํฉ๋๋ค.)
Step5. Height Bake ์ธํ
๐ ์ฝํ ์ธ ๋ธ๋ผ์ฐ์ Add โ Blueprint Class - Actor๋ฅผ ์์ฑํฉ๋๋ค.
- Components Add โ Plane๋ฅผ ์์ฑํฉ๋๋ค.
- Construction Script๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
- Bake ๋ ธ๋๋ฅผ ๊ตฌ์ฑํ ํจ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
๐ ์ฝํ ์ธ ๋ธ๋ผ์ฐ์ Add โ Texture - Render Target๋ฅผ ์์ฑํฉ๋๋ค.
์ ๋ฐ๋๋ฅผ ํ๋ณดํ๊ธฐ ์ํด ํ ์ค์ฒ ํด์๋๋ฅผ 4K๋ก ์ค์ ํฉ๋๋ค.
Step6. Height Map Bake
โ ๋ ๋ ํ๊ฒ์ ๋ฒ ์ดํฌ ํ๊ธฐ ์ ์ ์ธ์คํด์ค๋ก ๋์๊ฐ Height Bake ํ ๊ธ์ ํ์ฑํํ๋์ง ์ฒดํฌํฉ๋๋ค.
๋ ๋ ํ๊น์ ์์ง ํ ์ค์ฒ๊ฐ ์๋ ์ํ์ด๊ธฐ ๋๋ฌธ์ Static Texture๋ก ํ ์ค์ฒ๋ก ๋ณํํฉ๋๋ค. ๐ Render Target ์ฐํด๋ฆญ - RenderTarget Action - Static Texture ์์ฑ์ ์ ํํฉ๋๋ค.
์์ฑํ HeightMap Texture์ ์์ถ์ธํ ์ Vector Displacement๋ก ๋ฐ๊ฟ์ค๋ค. ์ด๋ ๊ฒ ํ๋ฉด Height ๋ฐ์ดํฐ์ ์ ๋ฐ๋ ์์ค์ ์ค์ฌ ๋ฒค๋ฉ๊ณผ ๊ณ๋จํ์์ ๋ฐฉ์งํฉ๋๋ค.
Step7. ๋ฒ ์ดํฌํ Height Map์ Nanite Mesh์ ์ ์ฉํ๋ ๋ฒ
UE5.2์์ Nanite ๊ธฐ๋ฐ Displacement๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด
- Mesh์์ Nanite ํ์ฑํ
- Material์์ Displacement ์ถ๋ ฅ ์ฐ๊ฒฐ
- Nanite Displacement ์ต์ ํ์ฑํ
Nanite๋ ์ ํต์ ์ธ WPO ๊ธฐ๋ฐ Displacement์ ๋ค๋ฅด๊ฒ ๋ด๋ถ์ ์ผ๋ก ๋ฉ์ ์ธ๋ถํ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
Trouble Shooting
๊ทธ๋ฆผ์๊ฐ ์ธ๊ทธ๋ฝ๋ถ๊ทธ๋ฝํ๊ฒ ๋ ๋๋ง๋๋ ๊ฒฝ์ฐ
Project Settings โ Ray Tracing Shadow โ
์ฐธ๊ณ ์๋ฃ










