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๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  1. Components Add โ†’ Plane๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. Construction Script๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. 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 โœ…


์ฐธ๊ณ ์ž๋ฃŒ