[์‹œ๋ฆฌ์ฆˆ] ๊ฐœ๋ฐœ์ผ์ง€
ยท ํŽญ๊ท„์ด ์‚ฌ๋ง‰์—์„œ ์ด์งˆํ•˜๋Š” ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -1-
ยท ํŽญ๊ท„์ด ์‚ฌ๋ง‰์—์„œ ์ด์งˆํ•˜๋Š” ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -2-
ยท ํŽญ๊ท„์ด ์‚ฌ๋ง‰์—์„œ ์ด์งˆํ•˜๋Š” ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -3-
ยท ํŽญ๊ท„์ด ์‚ฌ๋ง‰์—์„œ ์ด์งˆํ•˜๋Š” ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -4-
ยท ํŽญ๊ท„ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -5-
ยท ํŽญ๊ท„ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -6-
ยท ํŽญ๊ท„ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -7-
ยท ํŽญ๊ท„ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -8-
ยท ํŽญ๊ท„ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -9-
ยท ํŽญ๊ท„ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -10-
ยท ํŽญ๊ท„ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -11- ์ „ํˆฌ ์‹œ์Šคํ…œ
ยท ํŽญ๊ท„ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -12- ๊ณต๋ชจ์ „๊ณผ ์—ฐ์ถœ
ยท ํŽญ๊ท„ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -13- ์š”์ฆ˜ ๊ทผํ™ฉ(1)
ยท ํŽญ๊ท„ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -13- ์š”์ฆ˜ ๊ทผํ™ฉ(2)
ยท ํŽญ๊ท„ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -14- ๊ฐœ์„ ๋œ ๋Œ€ํ™” ์‹œ์Šคํ…œ
ยท ํŽญ๊ท„ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ผ์ง€ -15- ๋ชจ๋ธ๋ง, ์• ๋‹ˆ๋ฉ”์ดํŒ…, ์ปจํŠธ๋กค๋Ÿฌ



์ด๋ฒˆ์—” Light Shaft, God Ray ๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋Š” ์ฑ„๊ด‘์„ ๋งŒ๋“ค์—ˆ์–ด.



๊ตฌ๊ธ€์—์„œ 'unity god ray'๋ฅผ ์น˜๋ฉด ๋‚˜์˜ค๋Š” ๊ฐ•์˜ ์˜์ƒ๋“ค์ธ๋ฐ,

ํŒŒํ‹ฐํด์„ ์ด์„œ ๋น„์Šทํ•œ ๋А๋‚Œ์„ ๋‚ด๊ฑฐ๋‚˜ Volumetic Fog๋ฅผย 

์‚ฌ์šฉํ•ด์„œ ์ฑ„๊ด‘์„ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด์•ผ.


์ฒ˜์Œ์—๋Š” Volumetic Fog๋กœ ๋งŒ๋“ค์–ด์ง„ ์—์…‹์„ ์‚ฌ์„œย ๋งŒ๋“ค์–ด๋ดค๋Š”๋ฐ

ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ๋ฌธ์ œ์ ์ด ์žˆ๋”๋ผ๊ณ .


1. ์ฑ„๊ด‘์ด ์˜ˆ์˜๊ฒŒ ๋‚˜์˜ค๋ ค๋ฉด ์•ˆ๊ฐœ๊ฐ€ ์ง™์–ด์ ธ์•ผ ๋จ -> ํ™”๋ฉด์ด ๋ฟŒ์—ฐ ๋А๋‚Œ์ด ๋‚จ

๋ฟŒ์—ฐ ๋А๋‚Œ์„ ์—†์• ๋ ค ์•ˆ๊ฐœ์˜ ์„ธ๊ธฐ๋ฅผ ๋‚ฎ์ถค -> ์ฑ„๊ด‘์ด ์•ˆ ๋ณด์ž„


2. Fog๊ฐ€ ํ•„์š” ์—†๋Š” ์ƒํ™ฉ์—์„œ๋„ ๋„“๊ณ  ์˜…๊ฒŒ Fog๋ฅผ ๊น”์•„์ค˜์•ผ ๋จ.


๊ฒฐ๊ตญ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์”ฌ ๋ถ„์œ„๊ธฐ๋ฅผ ์žก๋Š”๋ฐ Volumetric Fog๋Š”

๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด ๋งŽ์•˜์–ด.


๊ทธ๋ž˜์„œ ๋ณ„๋„์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ์ฑ„๊ด‘์„ ๋”ฐ๋กœ ๋งŒ๋“ค๊ธฐ๋กœ ํ–ˆ์–ด.


์ด ๊ธ€์„ ๋งŽ์ด ์ฐธ๊ณ ํ–ˆ์–ด.

https://valeriomarty.medium.com/raymarched-volumetric-lighting-in-unity-urp-e7bc84d31604




์•„์ด๋””์–ด

- ํ™”๋ฉด์˜ ๊ฐ ํ”ฝ์…€ ๋ฐฉํ–ฅ ๋งˆ๋‹ค Ray๋ฅผ ์จ.





- ์ด Ray๋ฅผ n๋“ฑ๋ถ„ํ•จ. (n๋ฒˆ์งธ ์ง€์ ์„ n step ์ด๋ผ ๋ถ€๋ฆ„)



- n๋“ฑ๋ถ„ํ•œ ๊ฐ ์ง€์ ์ด ๊ด‘์›(main light)์˜ ๊ทธ๋ฆผ์ž ์•ˆ์— ์žˆ๋Š”์ง€

์•„๋‹Œ์ง€ ํ™•์ธํ•ด๋ด„. (Shadow map์„ ์ƒ˜ํ”Œ๋งํ•˜๋ฉด ๊ฐ€๋Šฅ)


- ํ•ด๋‹น step์ด ๊ทธ๋ฆผ์ž ๋ฐ–์ด๋ผ๋ฉด ํ•ด๋‹น step์—์„œ ๋น› ์‚ฐ๋ž€ ๊ฐ’์„ ๊ณ„์‚ฐํ•ด์„œ ์ตœ์ข… ๊ฒฐ๊ณผ ๊ฐ’์— ๋”ํ•จ.

(์‚ฐ๋ž€ ๊ฐ’์€ Mie Scattering ๊ณต์‹์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐํ•จ.)

- ์ตœ์ข… ๊ฒฐ๊ณผ๊ฐ’์„ step ์ˆ˜ ๋งŒํผ ๋‚˜๋ˆ„์–ด์„œ ํ‰๊ท  ๋น› ์‚ฐ๋ž€ ๊ฐ’์„ ๊ณ„์‚ฐํ•จ.



์œ„ ์•„์ด๋””์–ด ๋Œ€๋กœ ๊ฐ ํ”ฝ์…€๋งˆ๋‹ค ์‚ฐ๋ž€ ๊ฐ’์„ ๊ตฌํ•ด์ฃผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜์™€.

์ด๋Œ€๋กœ ๋ฐ”๋กœ ํ™”๋ฉด์— ๋”ํ•ด์ค˜๋„ ๋˜์ง€๋งŒ, ํ•ด์ƒ๋„๊ฐ€ ์ปค์งˆ ์ˆ˜๋ก

๊ณ„์‚ฐ ํšŸ์ˆ˜๋„ ๋งŽ์•„์ง€๊ณ  step ์ˆ˜์— ๋”ฐ๋ผ ๊ณ„๋‹จ ํ˜„์ƒ์ด ๋‚˜ํƒ€๋‚  ์ˆ˜๋„ ์žˆ์–ด.


๊ทธ๋ž˜์„œ ํ™”๋ฉด์˜ ํ•ด์ƒ๋„๋ฅผ ์ผ๋ถ€๋Ÿฌ ์ค„์ด๊ณ  ์‚ฐ๋ž€ ๊ฐ’์„ ๊ตฌํ•œ ๋’ค์—

๋‹ค์‹œ ํ•ด์ƒ๋„๋ฅผ ํ‚ค์šฐ๋Š” Down Sampling์„ ์ง„ํ–‰ํ–ˆ์–ด.



์‹ค์ œ๋กœ ํ”„๋ ˆ์ž„ ๋””๋ฒ„๊ฑฐ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•ด๋ณด๋ฉด ํ•ด์ƒ๋„์˜ 1/4 ์‚ฌ์ด์ฆˆ๋กœ

์‚ฐ๋ž€ ๊ฐ’์„ ๊ณ„์‚ฐํ•ด์„œ ์ตœ์ข… ํ™”๋ฉด์— ์ž…ํžˆ๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด.

์ฐธ๊ณ ๋กœ ์ด ๊ณผ์ •๋“ค์€ Transparents๋“ค์ด Render๋œ ํ›„,ย 

Post Processing์ด ์ง„ํ–‰๋˜๊ธฐ ์ „์— ์ง„ํ–‰๋ผ.



์ฑ„๊ด‘์ด ์—†์„ ๋•Œ


์ฑ„๊ด‘์ด ์žˆ์„ ๋•Œ


์–ธ๋œป ๋ณด๊ธฐ์—” ํฌ๊ฒŒ ์ฐจ์ด๊ฐ€ ์—†์–ด ๋ณด์ด์ง€๋งŒ




์นด๋ฉ”๋ผ๋ฅผ ์›€์ง์ด๋ฉด ๊ทธ ์ฐจ์ด๋ฅผ ํ™•์‹คํžˆ ๋А๋‚„ ์ˆ˜ ์žˆ์–ด.


์•ž์„œ ์‚ฌ์šฉํ•œ Volumetric Fog๋ž‘์€ ๋‹ค๋ฅด๊ฒŒ ์•ˆ๊ฐœ๊ฐ€ ๋‚€ ๋А๋‚Œ๋„ ์—†๊ณ ,

ํ•„์š”์— ๋”ฐ๋ผ ๊ฐ’์„ ์กฐ์ •ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด.



์ž์„ธํ•œ ๊ตฌํ˜„์€ ์œ„์— ์˜ฌ๋ ธ๋˜ ๋งํฌ๋ฅผ ์ฝ์–ด๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ์–ด.


๊ถ๊ธˆํ•œ ์ ๋“ค ์žˆ์œผ๋ฉด ๋ฌผ์–ด๋ด์ค˜~

์•„๋Š” ์„ ์—์„œ ๋Œ€๋‹ตํ•ด์ค„๊ฒŒ!