SlideShare a Scribd company logo
1 of 15
UNITY COOKBOOK
SHOT BY. INS
PART 6
์‰์ด๋”(Shader) ๋ฝ€๊ฐœ๊ธฐ
์‰์ด๋”(Shader)๋ž€?
Shade(์ƒ‰์กฐใ†์Œ์˜)์ด๋ž€ ๋œป์— ๋™์‚ฌ์ธ โ€˜-erโ€™๋ฅผ ๋ถ™์—ฌ โ€œ์ƒ‰์˜ ๋†๋„, ์ƒ‰์กฐ, ๋ช…์•”์„ ์ฃผ๋Š” ์ฃผ์ฒดโ€ ๋ผ๊ณ  ํ•ด์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฒŒ์ž„์— ํ‘œํ˜„๋˜๋Š” ์•„๋ฆ„๋‹ค์šด ๊ทธ๋ž˜ํ”ฝ ๋˜๋Š” ์—ฌ๋Ÿฌ ํ™”๋ฉด ํšจ๊ณผ๋ฅผ ์ „๋ฉด์ ์œผ๋กœ ๋‹ค๋ฃจ๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ณ 
์ž์งˆ๊ตฌ๋ ˆํ•œ ๊ทธ๋ž˜ํ”ฝ์˜ ๊ฒŒ์ž„๋„ Shader ๋ผ๋Š” ํŒŒ์šด๋ฐ์ด์…˜์œผ๋กœ ํ™”์žฅํ•˜๋“ฏ์ด ๊ฒŒ์ž„์˜ ์‹œ๊ฐํšจ๊ณผ๋ฅผ ์น˜์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ, ๊ทธ๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•œ ์ž‘์—…์ด ์•„๋‹ˆ๋ฏ€๋กœ ์ˆ˜ํ•™ ๋˜๋Š” ์—ฌ๋Ÿฌ ๊ทธ๋ž˜ํ”ฝ ๊ฐœ๋… ์š”์†Œ๋ฅผ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
( 1 / 13 )
SHADER !
๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #1
์œ ๋‹ˆํ‹ฐ์—์„œ ํ‰๋ฒ”ํ•˜๊ฒŒ ์“ฐ์ด๋Š” ๊ตฌ(Sphere)๋ฅผ ๋ด…์‹œ๋‹ค.
์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์“ฐ์ผ ๋•Œ๋Š” ๋ชฐ๋ž์ง€๋งŒ, ์ž์„ธํžˆ ๋ณด๋ฉด ๊ฐ์ฒด์— ์ง€๋Š” ๋ช…์•”์„ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฌผ๋ก  ์–ด๋””์„ ๊ฐ€ ๋น›์„ ๋ฐ›์•„ ๋น›๋‚˜๋Š” ์˜์—ญ๊ณผ ๊ทธ๋ฆผ์ž๊ฐ€ ์ง€๋Š” ์˜์—ญ์œผ๋กœ ๊ฐ์ฒด ์ž์ฒด์— ์Œ์˜์ด ์ง‘๋‹ˆ๋‹ค.
์ด๋Š” ๊ธฐ๋ณธ ๊ฐ์ฒด์ธ โ€˜Directional Lightโ€™์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋ฐ ์œ ๋‹ˆํ‹ฐ ์ƒ์—์„œ์˜ โ€˜ํƒœ์–‘โ€™ ์ž…๋‹ˆ๋‹ค.
( 2 / 13 )
# ๊ตฌ(Shpere)์˜ ๋ช…์•”
์ œ์ผ ๋ฐ์€ ์˜์—ญ
์ œ์ผ ์–ด๋‘์šด ์˜์—ญ
๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #2
๋‚ด๋ฆฌ์ฌ๋Š” ํƒœ์–‘์„ ์œ„๋กœ ์˜ฌ๋ ค ๋ชจ๋“  ์‚ฌ๋ฌผ์ด ๋น›์„ ๋ฐ›์ง€ ์•Š๋„๋ก ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
์ง€๊ธˆ์€ โ€˜Point Lightโ€™๋กœ ์ฃผ๋ณ€ ๊ฐ์ฒด๊ฐ€ ๋ณด์ด๊ฒŒ ํ–ˆ์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ์•„๋ฌด๊ฒƒ๋„ ์•ˆ๋ณด์ด๋Š” ์–ด๋‘ ์ž…๋‹ˆ๋‹ค.
๋ฒกํ„ฐ ํ•œ ์ค„๊ธฐ๋กœ ๋ชจ๋“  ์Œ์˜์„ ๊ณ„์‚ฐํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ๊ณ„์„ธ์š”. ์ž ์‹œ ํ›„ ๋‹ค๋ฃฐ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
์ด์ œ ๋น›์— ๋Œ€ํ•ด์„œ ์ž์„ธํ•˜๊ฒŒ โ€˜Directional Lightโ€™ ์™ธ์˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ผ์ดํŠธ ์ข…๋ฅ˜๋ฅผ ์‚ดํŽด๋ด…์‹œ๋‹ค.
( 3 / 13 )
๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #3
โ€˜Directional Lightโ€™๋Š” ๊ฒŒ์ž„ ๋‚ด์˜ ํƒœ์–‘์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฐ์ฒด์— ์˜ํ–ฅ์„ ๋ฐ›๊ณ  ์‹ฌ์ง€์–ด ํ•˜๋Š˜๊นŒ์ง€ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋ผ์ดํŠธ์ž…๋‹ˆ๋‹ค.
โ€˜Pointlightโ€™๋Š” ๊ตฌ์ฒดํ˜• ๋ผ์ดํŠธ์ด๋ฉฐ, ์ฃผ๋ณ€์˜ ๊ณต๊ฐ„์„ ๋ฐํž ๋•Œ ์ž์ฃผ ์“ฐ์ž…๋‹ˆ๋‹ค.
โ€˜Spotlightโ€™๋Š” ์›๋ฟ” ๋ชจ์–‘ ๋ผ์ดํŠธ์ด๋ฉฐ, ์†์ „๋“ฑ์ด๋‚˜ ๋ฌด๋Œ€์—์„œ์˜ ์ฃผ์ธ๊ณต์„ ๋ฐํž ๋•Œ ์ž์ฃผ ์“ฐ์ž…๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ผ์ดํŠธ๋„ ์กด์žฌํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ด ๊นŒ๋‹ค๋กญ๊ณ  ํ”„๋ฆฌ ๋ฒ„์ „์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋‹ˆ ์ƒ๋žตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
( 4 / 13 )
# Directional Light # Pointlight # Spotlight
๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #4
์œ„์—์„œ ์„ค๋ช…ํ•œ ๋ช…์•” ํ‘œํ˜„์— ๋Œ€ํ•ด์„œ ๊ตฌ์ฒด์ ์œผ๋กœ ์•Œ์•„๋ด…์‹œ๋‹ค.
3D ๋ฌผ์ฒด์˜ Polygon ํ‘œํ˜„์€ โ€˜Vertexโ€™ 3๊ฐœ๊ฐ€ ๋ชจ์—ฌ ์ด๋ฃจ๋Š”๋ฐ ์ด โ€˜Vertexโ€™ ํ•˜๋‚˜ ํ•˜๋‚˜๋งˆ๋‹ค ๋ฒ•์„  ๋ฒกํ„ฐ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
์ด๋Š” โ€˜Vertexโ€™์˜ ์ง€๋ฉด๊ณผ ์ˆ˜์ง์ธ ๋ฒกํ„ฐ๋ฅผ ๋œปํ•˜๋ฉฐ โ€˜Directional Lightโ€™ ๋ฒกํ„ฐ์™€ ๋‚ด์ ์„ ํ•˜์—ฌ 0 ~ 1 ๊ฐ’๋“ค์„ ๊ตฌํ•˜์—ฌ
0์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ์–ด๋‘์›Œ ์ง€๋Š” Vertex๋ฅผ, 1์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ๋ฐ์•„์ง€๋Š” Vertex๋ฅผ ์น ํ•ด์ค๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  3๊ฐœ์˜ Vertex ์ƒ‰์ƒ์€ GPU์ƒ์—์„œ Blending(ํ˜ผํ•ฉ) ๋˜์–ด ๊ทธ๋ผ๋ฐ์ด์…˜์œผ๋กœ ํ‘œํ˜„, ๋ช…์•”์ด ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค.
( 5 / 13 )
Normal Vector
Sun
Vector (Sun)
34หš (0.2)
25หš (0.17)
85หš (0.9)
RESULT:
#1 (โ†‘) #2 (โ†‘)
#3 (โ†’)
๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #5
์•„, ๋ฌผ๋ก  ๋ช…์•”์„ ํ‘œํ˜„ํ•˜๋Š” ๊ธฐ์ˆ ์€ ํ•˜๋‚˜ ๋” ์žˆ์Šต๋‹ˆ๋‹ค.
Vertex ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ”ฝ์…€ ํ•˜๋‚˜ ํ•˜๋‚˜์—๋„ ์ง๊ตํ•˜๋Š” ๋ฒ•์„ (Normal) ๋ฒกํ„ฐ๊ฐ€ ์žˆ๊ฑฐ๋“ ์š”
์ด ๊ธฐ์ˆ ์€ ๋‚ด์  ๊ฐ’์„ ๊ตฌํ•ด Vertex๊ฐ€ ์•„๋‹Œ ํ”ฝ์…€ ์ž์ฒด์˜ ๋ช…์•”์„ ์กฐ์ •ํ•ด๋ฒ„๋ฆฝ๋‹ˆ๋‹ค.
ํ›จ์”ฌ ๋ถ€๋“œ๋Ÿฝ๊ณ  ๊ตฌ์ฒด์ ์ธ ๋ช…์•”์„ ๋งŒ๋“ค์–ด ๋ฒ„๋ฆฌ์ง€๋งŒ ๊ทธ๋งŒํผ ๋น„์šฉ์„ ๋งŽ์ด ์žก์•„๋จน๋Š” ๊ฒƒ์ด ๋‹จ์ ์ž…๋‹ˆ๋‹ค.
( 6 / 13 )
Normal Vector
RESULT:
#1 (โ†‘) #2 (โ†‘)
#3 (โ†’)
x1000๋ฐฐ ํ™•๋Œ€
๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #6
๋ฐฉ๊ธˆ ๋ณด์‹  ๋‘ ๊ธฐ์ˆ ์€ โ€˜Diffuseโ€™๋ผ๋Š” ์‰์ด๋” ํ…Œํฌ๋‹‰์ž…๋‹ˆ๋‹ค. ํƒœ์–‘ ๋น›์ด ๋ฌผ์ฒด์— ๋‹ฟ์œผ๋ฉด ๋น›์ด ์‚ฐ๋ž€ํ•˜์—ฌ ์ฃผ๋ณ€์„ ๋ฐํžŒ๋‹ค๋Š” ๊ฐœ๋…์ด์ฃ .
๊ทธ๋ฆฌ๊ณ  ํ•˜๋‚˜ ๋‹ค๋ฅธ ๊ธฐ์ˆ ์ด ์žˆ๋Š”๋ฐ ๋ฐ”๋กœ โ€˜Specularโ€™ ์ด๋ผ๋Š” ์‰์ด๋” ํ…Œํฌ๋‹‰์ž…๋‹ˆ๋‹ค.
์ด๋Š” ์ „๊ตฌ๋ฅผ ์ณ๋‹ค๋ณด๋ฉด ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น›์ด ํˆฌ์‚ฌ์ฒด๋กœ๋ถ€ํ„ฐ ๋ฐ˜์‚ฌ๋˜์–ด ์šฐ๋ฆฌ ๋ˆˆ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๋น›์˜ ๋ฉ์–ด๋ฆฌ๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค.
๊ฝค๋‚˜ ๋ฐ˜์ง๊ฑฐ๋ฆฌ๋Š” ๊ฐ‘์˜ท์ด๋‚˜, ๋ˆˆ๋™์ž ๋“ฑ ์—ฌ๋Ÿฌ ๋ฌผ์ฒด์—์„œ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œํ˜„ ํ…Œํฌ๋‹‰์ž…๋‹ˆ๋‹ค.
( 7 / 13 )
์ • ๋ฐ˜์‚ฌ ๋‚œ ๋ฐ˜์‚ฌ
Specular
๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #7
์ด๋ ‡๊ฒŒ ๋‘ ๊ฐ€์ง€ ํ‘œํ˜„๋งŒ์œผ๋กœ Material(์žฌ์งˆ) ํ‘œํ˜„์„ ์ž์œ ์ž์žฌ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์ฃ . ์ œ์ผ ๋งŽ์ด ์“ฐ์ด๊ธฐ๋„ ํ•˜๊ณ ์š”.
๊ทธ๋ฆฌ๊ณ  ๊ณ ๋ง™๊ฒŒ๋„ ์ด๋Ÿฐ ์‰์ด๋”๋Š” ์œ ๋‹ˆํ‹ฐ ์ž์ฒด์ ์œผ๋กœ ์ง€์›ํ•˜์—ฌ ๋งˆ์Œ๋Œ€๋กœ ์˜ต์…˜ ์กฐ์ ˆ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€˜Albedoโ€™์—์„œ ํ…์Šค์ณ๋ฅผ ๋„ฃ์œผ๋ฉด ๋งตํ•‘์ด ๋˜๋Š” ์ˆœ๊ฐ„ Diffuse๊ฐ€ ๋ฐœ๋™ํ•˜์—ฌ ๋ช…์•”์ด ์ƒ๊ธฐ๊ณ ,
โ€˜Specularโ€™๋Š” ์ž์ฒด์ ์ธ ์กฐ์ ˆ๋ฐ”๊ฐ€ ์žˆ์–ด์„œ ๋“œ๋ž˜๊ทธ ๋ช‡ ๋ฒˆ์œผ๋กœ ๊ด‘ํƒ์„ ๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๊ธฐ๋Šฅ์ด์ฃ .
๋ฌผ๋ก  ์ด ๊ธฐ๋Šฅ๋“ค์€ ๊ฐ์ฒด ์ปดํฌ๋„ŒํŠธ๋กœ ์กด์žฌํ•˜๋Š” โ€˜Materialโ€™์—์„œ ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‰์ด๋”์™€ ๊ณต์ƒ๊ด€๊ณ„๋‹ˆ๊นŒ์š”.
( 8 / 13 )
# Diffuse # Specular # Diffuse + Specular
+ =
# ์‰์ด๋” ์กฐ์ •์˜ต์…˜
๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #8
๋งˆ์ง€๋ง‰์œผ๋กœ โ€˜Normal Mapโ€™์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ผ์ข…์˜ ๋ˆˆ ์†์ž„์œผ๋กœ ๋ถˆ๋ฆฌ๋Š” ํ…Œํฌ๋‹‰์ธ๋ฐ
์ด๋Š” โ€˜Albedoโ€™์—์„œ ํ…์ŠคํŠธ๋ฅผ ์”Œ์šฐ๋“ฏ์ด โ€˜Normal Mapโ€˜๋„ ํ…์Šค์ณ๋ฅผ ๋ฐ›๊ณ  ๊ฐ์ฒด์— ์”Œ์šฐ๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
๊ทผ๋ฐ ํ…์Šค์ณ๊ฐ€ ํ‘ธ๋ฅด๋”ฉ๋”ฉ ํ•˜์ง€ ์•Š๋‚˜์š”? ์•„๊นŒ ๊ฐ์ฒด์˜ ํ”ฝ์…€๋งˆ๋‹ค ๋‚ด์ ๊ฐ’ ๊ตฌํ•ด์„œ ์Œ์˜ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์„ ๋ณด์…จ๋‚˜์š”?
๋งž์Šต๋‹ˆ๋‹ค. ์ € ์”Œ์›Œ์ง€๋Š” ๋Œ€์ƒ์˜ ๊ฐ์ฒด ํ”ฝ์…€์˜ Normal Vecter๋ฅผ ๋ฐ”๊ฟ”๋ฒ„๋ฆฌ๋Š” Offset Texture ์ž…๋‹ˆ๋‹ค.
๋ฌผ๋ก  ๋ณ€๊ฒฝ ์ •๋ณด๋Š” R(x์ถ•), G(y์ถ•), B(z์ถ•)์œผ๋กœ ํ‘œํ˜„๋˜์–ด ์ €๋Ÿฐ ์ƒ‰์ƒ์˜ ํ…์Šค์ณ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.
( 9 / 13 )
# Normal Map
๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #9
์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•˜์—ฌ ์œ ๋‹ˆํ‹ฐ์—์„œ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
Plane Object๋ฅผ ์ด์šฉํ•˜์—ฌ A4์šฉ์ง€๊ฐ™์€ ํ…์Šค์ณ๋ฅผ ๋„ฃ๊ณ , ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•˜์—ฌ ์ข…์ด ์งˆ๊ฐ์˜ Normap Map์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.
์ดํ›„ ์ข…์ด ๊ฐ์ฒด์˜ Material Component์—์„œ โ€˜Normal Mapโ€™์— ํ…์Šค์ณ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋ฉด ํ‰ํ‰ํ•˜๊ฒŒ ๋ˆ„์›Œ์žˆ๋Š” ํ”ฝ์…€๊ณผ ํ”ฝ์…€์˜ Normal Vecter ๋“ค์ด Normal Map์„ ํ†ตํ•ด Normal Vecter ๋ฒกํ„ฐ๊ฐ€ ํœ˜๊ฒŒ ๋˜๊ณ 
Diffuse ์‰์ด๋” ๋‚ด์  ๊ณผ์ •์—์„œ ์ข…์ด๊ฐ€ ๊ตฌ๊ฒจ์ง„ ์Œ์˜์„ ๋งŒ๋“ค์–ด๋ฒ„๋ฆฝ๋‹ˆ๋‹ค.
( 10 / 13 )
ADD# BEFORE # AFTER
UV?
๋จธ๋ฆฌ ์•„ํ”ˆ ์ด๋ก ์œผ๋กœ ์ž ์‹œ ์‰ด ๊ฒธ ๋‹ค๋ฅธ ๊ฒƒ์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
์œ ๋‹ˆํ‹ฐ ์ƒ์—์„œ์˜ ๊ฐ์ฒด๋ฅผ โ€˜Albedoโ€™๋ฅผ ํ†ตํ•ด ํ…์Šค์ณ๋ฅผ ์”Œ์šธ ๋•Œ ๋งˆ๋ฒ• ๋ณด๋”ฐ๋ฆฌ ์”Œ์šฐ๋“ฏ์ด ์”Œ์›Œ์ง€๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.
ํŽ˜์ธํŠธ(Texture)๋ฅผ ๋“ค๊ณ  ์žˆ๊ณ , ์„ค๊ณ„๋„(UV)๋ฅผ ๋ณด๋ฉด์„œ ์ •ํ™•ํ•˜๊ฒŒ ์น ํ•˜๋Š” ๊ฒƒ์ด์ฃ .
์ž”์ธํ•œ ํ‘œํ˜„์ด์ง€๋งŒ UV ์›๋ฆฌ๋Š” 3D ๋ชจ๋ธ์„ ์กฐ๊ฐ๋‚ด์–ด 2D ์ขŒํ‘œ๋กœ ๊ฐ€์ฃฝ์„ ํŽผ์ณ ์„ค๊ณ„๋„๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๋Š” ๊ฒƒ์ด์ฃ .
๊ทธ๋ฆฌ๊ณ  โ€˜UVโ€™๋ผ๋Š” ํ‘œํ˜„์€ โ€˜XYโ€™์™€ ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๋„๋ก ๋‹จ์ˆœํžˆ ์ €๋ ‡๊ฒŒ ํ‘œํ˜„ ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
( 11 / 13 )
์ ๊ณผ ์„ ๊ณผ ๋ฉด #1
์‰์ด๋”๋Š” ๋‹จ์ˆœํžˆ ํ”ฝ์…€์˜ ๋ช…์•”๋งŒ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.
3D ๋ฌผ์ฒด ์ƒ์—์„œ์˜ ์ (Vertex), ์„ (Edge), ๋ฉด(Polygon)์˜ ์กฐ์ž‘๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
์œ ๋‹ˆํ‹ฐ์—์„œ์˜ โ€˜Terrainโ€™ ๊ฐ์ฒด๋Š” ๋ถ“์œผ๋กœ ์ง€ํ˜•์„ ์กฐ์ •ํ•  ๋•Œ ๋ฉด์— ๋ถ™์–ด์žˆ๋Š” ์ˆ˜๋งŽ์€ Vertex๋ฅผ ์ด์šฉํ•ด ์ง€ํ˜•์„ ๋งŒ๋“ค์ฃ .
๋˜ํ•œ DX11๋กœ ๋„˜์–ด์˜ค๋ฉด์„œ ํ‰ํ‰ํ–ˆ๋˜ ์ง€ํ˜•์„ ์‹ค์ œ๋กœ ์ž…์ฒด๊ฐ ์žˆ๊ฒŒ Mesh ์ž์ฒด๋ฅผ ๋ณ€ํ˜•ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
( 12 / 13 )
# ํ„ฐ๋ ˆ์ธ(Terrain) # DX11 Tessellation
์ ๊ณผ ์„ ๊ณผ ๋ฉด #2
์‹ค์ œ๋กœ ์‚ฌ๋žŒ์„ ์•„์ฃผ ๊ฐ€๊นŒ์ด์—์„œ ๋ณผ ๋•Œ๋Š” ๋ชจ๊ณต๊นŒ์ง€ ๋šœ๋ ทํ•˜๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ
์•„์ฃผ ๋จผ ๊ฑฐ๋ฆฌ์—์„œ ๋ณด๊ฒŒ๋˜๋ฉด ํ˜•์ฒด์กฐ์ฐจ ์•Œ์•„๋ณด๊ธฐ ํž˜๋“ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ด๋Š” ์œ ๋‹ˆํ‹ฐ์—์„œ๋„ ์ ์šฉ๋˜์–ด ์žˆ๋Š”๋ฐ ๊ฑฐ๋ฆฌ๊ฐ€ ๋ฉ€ ์ˆ˜๋ก ํ•ด๋‹น ๊ฐ์ฒด์˜ ํด๋ฆฌ๊ณค์ด ๊ฐ์†Œ๋˜์–ด ์ตœ์ ํ™” ํšจ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ LOD ๊ธฐ๋Šฅ ๋˜ํ•œ ์‰์ด๋” ๋‚ด๋ถ€ ์ฝ”๋“œ์—์„œ ์ˆซ์ž๋งŒ ๋ณ€๊ฒฝํ•˜๋ฉด ์‰ฝ๊ฒŒ ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
( 13 / 13 )
# LOD (Level Of Detail) # ์‰์ด๋” ์ฝ”๋“œ์˜ LOD ์ˆ˜๋™ ์กฐ์ •
End

More Related Content

What's hot

๋‹ˆ์‹œ์นด์™€์  ์ง€์˜ 3 d๊ฒŒ์ž„ ํŒฌ์„ ์œ„ํ•œใ€Œgravity dazeใ€๊ทธ๋ž˜ํ”ฝ์Šค ๊ฐ•์ขŒ
๋‹ˆ์‹œ์นด์™€์  ์ง€์˜ 3 d๊ฒŒ์ž„ ํŒฌ์„ ์œ„ํ•œใ€Œgravity dazeใ€๊ทธ๋ž˜ํ”ฝ์Šค ๊ฐ•์ขŒ๋‹ˆ์‹œ์นด์™€์  ์ง€์˜ 3 d๊ฒŒ์ž„ ํŒฌ์„ ์œ„ํ•œใ€Œgravity dazeใ€๊ทธ๋ž˜ํ”ฝ์Šค ๊ฐ•์ขŒ
๋‹ˆ์‹œ์นด์™€์  ์ง€์˜ 3 d๊ฒŒ์ž„ ํŒฌ์„ ์œ„ํ•œใ€Œgravity dazeใ€๊ทธ๋ž˜ํ”ฝ์Šค ๊ฐ•์ขŒ
๋ฏผ์›… ์ด
ย 
๊ทธ๋ฆผ์ž ์ด์•ผ๊ธฐ
๊ทธ๋ฆผ์ž ์ด์•ผ๊ธฐ๊ทธ๋ฆผ์ž ์ด์•ผ๊ธฐ
๊ทธ๋ฆผ์ž ์ด์•ผ๊ธฐ
Hyoungjun Park
ย 
[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž
[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž
[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž
MoonLightMS
ย 
๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ Œ๋”๋ง ๊ธฐ๋ฒ• ํ•œ์„ฑํ™˜
๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ Œ๋”๋ง ๊ธฐ๋ฒ•   ํ•œ์„ฑํ™˜๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ Œ๋”๋ง ๊ธฐ๋ฒ•   ํ•œ์„ฑํ™˜
๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ Œ๋”๋ง ๊ธฐ๋ฒ• ํ•œ์„ฑํ™˜
Yggdrasil610
ย 
[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž_1
[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž_1[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž_1
[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž_1
MoonLightMS
ย 

What's hot (19)

ํฌ๊ฒŒ, ์•„๋ฆ„๋‹ต๊ฒŒ,๋น ๋ฅด๊ฒŒ, ์ผ๊ด€๋˜๊ฒŒ ๋งŒ๋“ค๊ธฐ: Just Cause 2 ๊ฐœ๋ฐœ์—์„œ ๋ฐฐ์šด ๊ตํ›ˆ๋“ค (GPU Pro)
ํฌ๊ฒŒ, ์•„๋ฆ„๋‹ต๊ฒŒ,๋น ๋ฅด๊ฒŒ, ์ผ๊ด€๋˜๊ฒŒ ๋งŒ๋“ค๊ธฐ: Just Cause 2 ๊ฐœ๋ฐœ์—์„œ ๋ฐฐ์šด ๊ตํ›ˆ๋“ค (GPU Pro)ํฌ๊ฒŒ, ์•„๋ฆ„๋‹ต๊ฒŒ,๋น ๋ฅด๊ฒŒ, ์ผ๊ด€๋˜๊ฒŒ ๋งŒ๋“ค๊ธฐ: Just Cause 2 ๊ฐœ๋ฐœ์—์„œ ๋ฐฐ์šด ๊ตํ›ˆ๋“ค (GPU Pro)
ํฌ๊ฒŒ, ์•„๋ฆ„๋‹ต๊ฒŒ,๋น ๋ฅด๊ฒŒ, ์ผ๊ด€๋˜๊ฒŒ ๋งŒ๋“ค๊ธฐ: Just Cause 2 ๊ฐœ๋ฐœ์—์„œ ๋ฐฐ์šด ๊ตํ›ˆ๋“ค (GPU Pro)
ย 
๋‹ˆ์‹œ์นด์™€์  ์ง€์˜ 3 d๊ฒŒ์ž„ ํŒฌ์„ ์œ„ํ•œใ€Œgravity dazeใ€๊ทธ๋ž˜ํ”ฝ์Šค ๊ฐ•์ขŒ
๋‹ˆ์‹œ์นด์™€์  ์ง€์˜ 3 d๊ฒŒ์ž„ ํŒฌ์„ ์œ„ํ•œใ€Œgravity dazeใ€๊ทธ๋ž˜ํ”ฝ์Šค ๊ฐ•์ขŒ๋‹ˆ์‹œ์นด์™€์  ์ง€์˜ 3 d๊ฒŒ์ž„ ํŒฌ์„ ์œ„ํ•œใ€Œgravity dazeใ€๊ทธ๋ž˜ํ”ฝ์Šค ๊ฐ•์ขŒ
๋‹ˆ์‹œ์นด์™€์  ์ง€์˜ 3 d๊ฒŒ์ž„ ํŒฌ์„ ์œ„ํ•œใ€Œgravity dazeใ€๊ทธ๋ž˜ํ”ฝ์Šค ๊ฐ•์ขŒ
ย 
์ž๋™ ๋™์  3์ฐจ์› ์ž…์ฒด์‹œ๊ฐ
์ž๋™ ๋™์  3์ฐจ์› ์ž…์ฒด์‹œ๊ฐ์ž๋™ ๋™์  3์ฐจ์› ์ž…์ฒด์‹œ๊ฐ
์ž๋™ ๋™์  3์ฐจ์› ์ž…์ฒด์‹œ๊ฐ
ย 
ํฌ์ธํŠธ ์…ฐ๋„์šฐ
ํฌ์ธํŠธ ์…ฐ๋„์šฐํฌ์ธํŠธ ์…ฐ๋„์šฐ
ํฌ์ธํŠธ ์…ฐ๋„์šฐ
ย 
2018.02.03 ์ด๋ฏธ์ง€ ํ…์Šค์ฒ˜๋ง
2018.02.03 ์ด๋ฏธ์ง€ ํ…์Šค์ฒ˜๋ง2018.02.03 ์ด๋ฏธ์ง€ ํ…์Šค์ฒ˜๋ง
2018.02.03 ์ด๋ฏธ์ง€ ํ…์Šค์ฒ˜๋ง
ย 
๊ทธ๋ฆผ์ž ์ด์•ผ๊ธฐ
๊ทธ๋ฆผ์ž ์ด์•ผ๊ธฐ๊ทธ๋ฆผ์ž ์ด์•ผ๊ธฐ
๊ทธ๋ฆผ์ž ์ด์•ผ๊ธฐ
ย 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow Mapping
ย 
[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž
[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž
[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž
ย 
๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ Œ๋”๋ง ๊ธฐ๋ฒ• ํ•œ์„ฑํ™˜
๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ Œ๋”๋ง ๊ธฐ๋ฒ•   ํ•œ์„ฑํ™˜๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ Œ๋”๋ง ๊ธฐ๋ฒ•   ํ•œ์„ฑํ™˜
๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ Œ๋”๋ง ๊ธฐ๋ฒ• ํ•œ์„ฑํ™˜
ย 
[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž_1
[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž_1[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž_1
[1023 ๋ฐ•๋ฏผ์ˆ˜] ๊นŠ์ด_๋ฒ„ํผ_๊ทธ๋ฆผ์ž_1
ย 
Bump Mapping
Bump MappingBump Mapping
Bump Mapping
ย 
2018.12.22 ๊นŠ์ด ๋ฒ„ํผ ๊ทธ๋ฆผ์ž ๋งคํ•‘
2018.12.22 ๊นŠ์ด ๋ฒ„ํผ ๊ทธ๋ฆผ์ž ๋งคํ•‘2018.12.22 ๊นŠ์ด ๋ฒ„ํผ ๊ทธ๋ฆผ์ž ๋งคํ•‘
2018.12.22 ๊นŠ์ด ๋ฒ„ํผ ๊ทธ๋ฆผ์ž ๋งคํ•‘
ย 
์ œ๋…ธ๋ธ”๋ ˆ์ด๋„ 2 ray marching์„์‚ฌ์šฉํ•œ ๊ตฌ๋ฆ„ ํ‘œํ˜„
์ œ๋…ธ๋ธ”๋ ˆ์ด๋„ 2 ray marching์„์‚ฌ์šฉํ•œ ๊ตฌ๋ฆ„ ํ‘œํ˜„์ œ๋…ธ๋ธ”๋ ˆ์ด๋„ 2 ray marching์„์‚ฌ์šฉํ•œ ๊ตฌ๋ฆ„ ํ‘œํ˜„
์ œ๋…ธ๋ธ”๋ ˆ์ด๋„ 2 ray marching์„์‚ฌ์šฉํ•œ ๊ตฌ๋ฆ„ ํ‘œํ˜„
ย 
์•„์ผ๋ › ์˜จ๋ผ์ธ์—์„œ ์‚ฌ์šฉํ•œ ๋ธ”๋Ÿญ ๋ Œ๋”๋ง ์†Œ๊ฐœ
์•„์ผ๋ › ์˜จ๋ผ์ธ์—์„œ ์‚ฌ์šฉํ•œ ๋ธ”๋Ÿญ ๋ Œ๋”๋ง ์†Œ๊ฐœ์•„์ผ๋ › ์˜จ๋ผ์ธ์—์„œ ์‚ฌ์šฉํ•œ ๋ธ”๋Ÿญ ๋ Œ๋”๋ง ์†Œ๊ฐœ
์•„์ผ๋ › ์˜จ๋ผ์ธ์—์„œ ์‚ฌ์šฉํ•œ ๋ธ”๋Ÿญ ๋ Œ๋”๋ง ์†Œ๊ฐœ
ย 
Deferred decal
Deferred decalDeferred decal
Deferred decal
ย 
Shadow mapping ์ •๋ฆฌ
Shadow mapping ์ •๋ฆฌShadow mapping ์ •๋ฆฌ
Shadow mapping ์ •๋ฆฌ
ย 
Startup 123D Design - 10. 3Dํ”„๋ฆฐํŒ…
Startup 123D Design - 10. 3Dํ”„๋ฆฐํŒ…Startup 123D Design - 10. 3Dํ”„๋ฆฐํŒ…
Startup 123D Design - 10. 3Dํ”„๋ฆฐํŒ…
ย 
2017 12 09_๋ฐ๋ธŒ๋ฃจํ‚ค_๋ฆฌ์–ผํƒ€์ž„ ๋ Œ๋”๋ง_์ž…๋ฌธํŽธ(3์ฐจ์› ๊ทธ๋ž˜ํ”ฝ์Šค[์ €์ž : ํ•œ์ •ํ˜„] ์ฐธ์กฐ)
2017 12 09_๋ฐ๋ธŒ๋ฃจํ‚ค_๋ฆฌ์–ผํƒ€์ž„ ๋ Œ๋”๋ง_์ž…๋ฌธํŽธ(3์ฐจ์› ๊ทธ๋ž˜ํ”ฝ์Šค[์ €์ž : ํ•œ์ •ํ˜„] ์ฐธ์กฐ)2017 12 09_๋ฐ๋ธŒ๋ฃจํ‚ค_๋ฆฌ์–ผํƒ€์ž„ ๋ Œ๋”๋ง_์ž…๋ฌธํŽธ(3์ฐจ์› ๊ทธ๋ž˜ํ”ฝ์Šค[์ €์ž : ํ•œ์ •ํ˜„] ์ฐธ์กฐ)
2017 12 09_๋ฐ๋ธŒ๋ฃจํ‚ค_๋ฆฌ์–ผํƒ€์ž„ ๋ Œ๋”๋ง_์ž…๋ฌธํŽธ(3์ฐจ์› ๊ทธ๋ž˜ํ”ฝ์Šค[์ €์ž : ํ•œ์ •ํ˜„] ์ฐธ์กฐ)
ย 
[0212 ๋ฐ•๋ฏผ์ˆ˜]ํ™˜๊ฒฝ ๋งคํ•‘
[0212 ๋ฐ•๋ฏผ์ˆ˜]ํ™˜๊ฒฝ ๋งคํ•‘[0212 ๋ฐ•๋ฏผ์ˆ˜]ํ™˜๊ฒฝ ๋งคํ•‘
[0212 ๋ฐ•๋ฏผ์ˆ˜]ํ™˜๊ฒฝ ๋งคํ•‘
ย 

More from Jihun Soh

More from Jihun Soh (16)

Unity cookbook 20
Unity cookbook 20Unity cookbook 20
Unity cookbook 20
ย 
Unity cookbook 19
Unity cookbook 19Unity cookbook 19
Unity cookbook 19
ย 
Unity cookbook 18
Unity cookbook 18Unity cookbook 18
Unity cookbook 18
ย 
Unity cookbook 16
Unity cookbook 16Unity cookbook 16
Unity cookbook 16
ย 
Unity cookbook 15
Unity cookbook 15Unity cookbook 15
Unity cookbook 15
ย 
Unity cookbook 12
Unity cookbook 12Unity cookbook 12
Unity cookbook 12
ย 
Unity cookbook 11
Unity cookbook 11Unity cookbook 11
Unity cookbook 11
ย 
Unity cookbook 10
Unity cookbook 10Unity cookbook 10
Unity cookbook 10
ย 
Unity cookbook 9
Unity cookbook 9Unity cookbook 9
Unity cookbook 9
ย 
Unity cookbook 8
Unity cookbook 8Unity cookbook 8
Unity cookbook 8
ย 
Unity cookbook 7
Unity cookbook 7Unity cookbook 7
Unity cookbook 7
ย 
Unity cookbook 5
Unity cookbook 5Unity cookbook 5
Unity cookbook 5
ย 
Unity cookbook 4
Unity cookbook 4Unity cookbook 4
Unity cookbook 4
ย 
Unity cookbook 3
Unity cookbook 3Unity cookbook 3
Unity cookbook 3
ย 
Unity cookbook 2
Unity cookbook 2Unity cookbook 2
Unity cookbook 2
ย 
Unity cookbook 1
Unity cookbook 1Unity cookbook 1
Unity cookbook 1
ย 

Unity cookbook 6

  • 1. UNITY COOKBOOK SHOT BY. INS PART 6 ์‰์ด๋”(Shader) ๋ฝ€๊ฐœ๊ธฐ
  • 2. ์‰์ด๋”(Shader)๋ž€? Shade(์ƒ‰์กฐใ†์Œ์˜)์ด๋ž€ ๋œป์— ๋™์‚ฌ์ธ โ€˜-erโ€™๋ฅผ ๋ถ™์—ฌ โ€œ์ƒ‰์˜ ๋†๋„, ์ƒ‰์กฐ, ๋ช…์•”์„ ์ฃผ๋Š” ์ฃผ์ฒดโ€ ๋ผ๊ณ  ํ•ด์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ž„์— ํ‘œํ˜„๋˜๋Š” ์•„๋ฆ„๋‹ค์šด ๊ทธ๋ž˜ํ”ฝ ๋˜๋Š” ์—ฌ๋Ÿฌ ํ™”๋ฉด ํšจ๊ณผ๋ฅผ ์ „๋ฉด์ ์œผ๋กœ ๋‹ค๋ฃจ๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ž์งˆ๊ตฌ๋ ˆํ•œ ๊ทธ๋ž˜ํ”ฝ์˜ ๊ฒŒ์ž„๋„ Shader ๋ผ๋Š” ํŒŒ์šด๋ฐ์ด์…˜์œผ๋กœ ํ™”์žฅํ•˜๋“ฏ์ด ๊ฒŒ์ž„์˜ ์‹œ๊ฐํšจ๊ณผ๋ฅผ ์น˜์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๊ทธ๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•œ ์ž‘์—…์ด ์•„๋‹ˆ๋ฏ€๋กœ ์ˆ˜ํ•™ ๋˜๋Š” ์—ฌ๋Ÿฌ ๊ทธ๋ž˜ํ”ฝ ๊ฐœ๋… ์š”์†Œ๋ฅผ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ( 1 / 13 ) SHADER !
  • 3. ๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #1 ์œ ๋‹ˆํ‹ฐ์—์„œ ํ‰๋ฒ”ํ•˜๊ฒŒ ์“ฐ์ด๋Š” ๊ตฌ(Sphere)๋ฅผ ๋ด…์‹œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์“ฐ์ผ ๋•Œ๋Š” ๋ชฐ๋ž์ง€๋งŒ, ์ž์„ธํžˆ ๋ณด๋ฉด ๊ฐ์ฒด์— ์ง€๋Š” ๋ช…์•”์„ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์–ด๋””์„ ๊ฐ€ ๋น›์„ ๋ฐ›์•„ ๋น›๋‚˜๋Š” ์˜์—ญ๊ณผ ๊ทธ๋ฆผ์ž๊ฐ€ ์ง€๋Š” ์˜์—ญ์œผ๋กœ ๊ฐ์ฒด ์ž์ฒด์— ์Œ์˜์ด ์ง‘๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ๋ณธ ๊ฐ์ฒด์ธ โ€˜Directional Lightโ€™์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋ฐ ์œ ๋‹ˆํ‹ฐ ์ƒ์—์„œ์˜ โ€˜ํƒœ์–‘โ€™ ์ž…๋‹ˆ๋‹ค. ( 2 / 13 ) # ๊ตฌ(Shpere)์˜ ๋ช…์•” ์ œ์ผ ๋ฐ์€ ์˜์—ญ ์ œ์ผ ์–ด๋‘์šด ์˜์—ญ
  • 4. ๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #2 ๋‚ด๋ฆฌ์ฌ๋Š” ํƒœ์–‘์„ ์œ„๋กœ ์˜ฌ๋ ค ๋ชจ๋“  ์‚ฌ๋ฌผ์ด ๋น›์„ ๋ฐ›์ง€ ์•Š๋„๋ก ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ โ€˜Point Lightโ€™๋กœ ์ฃผ๋ณ€ ๊ฐ์ฒด๊ฐ€ ๋ณด์ด๊ฒŒ ํ–ˆ์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ์•„๋ฌด๊ฒƒ๋„ ์•ˆ๋ณด์ด๋Š” ์–ด๋‘ ์ž…๋‹ˆ๋‹ค. ๋ฒกํ„ฐ ํ•œ ์ค„๊ธฐ๋กœ ๋ชจ๋“  ์Œ์˜์„ ๊ณ„์‚ฐํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ๊ณ„์„ธ์š”. ์ž ์‹œ ํ›„ ๋‹ค๋ฃฐ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์ด์ œ ๋น›์— ๋Œ€ํ•ด์„œ ์ž์„ธํ•˜๊ฒŒ โ€˜Directional Lightโ€™ ์™ธ์˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ผ์ดํŠธ ์ข…๋ฅ˜๋ฅผ ์‚ดํŽด๋ด…์‹œ๋‹ค. ( 3 / 13 )
  • 5. ๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #3 โ€˜Directional Lightโ€™๋Š” ๊ฒŒ์ž„ ๋‚ด์˜ ํƒœ์–‘์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฐ์ฒด์— ์˜ํ–ฅ์„ ๋ฐ›๊ณ  ์‹ฌ์ง€์–ด ํ•˜๋Š˜๊นŒ์ง€ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋ผ์ดํŠธ์ž…๋‹ˆ๋‹ค. โ€˜Pointlightโ€™๋Š” ๊ตฌ์ฒดํ˜• ๋ผ์ดํŠธ์ด๋ฉฐ, ์ฃผ๋ณ€์˜ ๊ณต๊ฐ„์„ ๋ฐํž ๋•Œ ์ž์ฃผ ์“ฐ์ž…๋‹ˆ๋‹ค. โ€˜Spotlightโ€™๋Š” ์›๋ฟ” ๋ชจ์–‘ ๋ผ์ดํŠธ์ด๋ฉฐ, ์†์ „๋“ฑ์ด๋‚˜ ๋ฌด๋Œ€์—์„œ์˜ ์ฃผ์ธ๊ณต์„ ๋ฐํž ๋•Œ ์ž์ฃผ ์“ฐ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ผ์ดํŠธ๋„ ์กด์žฌํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ด ๊นŒ๋‹ค๋กญ๊ณ  ํ”„๋ฆฌ ๋ฒ„์ „์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋‹ˆ ์ƒ๋žตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ( 4 / 13 ) # Directional Light # Pointlight # Spotlight
  • 6. ๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #4 ์œ„์—์„œ ์„ค๋ช…ํ•œ ๋ช…์•” ํ‘œํ˜„์— ๋Œ€ํ•ด์„œ ๊ตฌ์ฒด์ ์œผ๋กœ ์•Œ์•„๋ด…์‹œ๋‹ค. 3D ๋ฌผ์ฒด์˜ Polygon ํ‘œํ˜„์€ โ€˜Vertexโ€™ 3๊ฐœ๊ฐ€ ๋ชจ์—ฌ ์ด๋ฃจ๋Š”๋ฐ ์ด โ€˜Vertexโ€™ ํ•˜๋‚˜ ํ•˜๋‚˜๋งˆ๋‹ค ๋ฒ•์„  ๋ฒกํ„ฐ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” โ€˜Vertexโ€™์˜ ์ง€๋ฉด๊ณผ ์ˆ˜์ง์ธ ๋ฒกํ„ฐ๋ฅผ ๋œปํ•˜๋ฉฐ โ€˜Directional Lightโ€™ ๋ฒกํ„ฐ์™€ ๋‚ด์ ์„ ํ•˜์—ฌ 0 ~ 1 ๊ฐ’๋“ค์„ ๊ตฌํ•˜์—ฌ 0์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ์–ด๋‘์›Œ ์ง€๋Š” Vertex๋ฅผ, 1์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ๋ฐ์•„์ง€๋Š” Vertex๋ฅผ ์น ํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  3๊ฐœ์˜ Vertex ์ƒ‰์ƒ์€ GPU์ƒ์—์„œ Blending(ํ˜ผํ•ฉ) ๋˜์–ด ๊ทธ๋ผ๋ฐ์ด์…˜์œผ๋กœ ํ‘œํ˜„, ๋ช…์•”์ด ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค. ( 5 / 13 ) Normal Vector Sun Vector (Sun) 34หš (0.2) 25หš (0.17) 85หš (0.9) RESULT: #1 (โ†‘) #2 (โ†‘) #3 (โ†’)
  • 7. ๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #5 ์•„, ๋ฌผ๋ก  ๋ช…์•”์„ ํ‘œํ˜„ํ•˜๋Š” ๊ธฐ์ˆ ์€ ํ•˜๋‚˜ ๋” ์žˆ์Šต๋‹ˆ๋‹ค. Vertex ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ”ฝ์…€ ํ•˜๋‚˜ ํ•˜๋‚˜์—๋„ ์ง๊ตํ•˜๋Š” ๋ฒ•์„ (Normal) ๋ฒกํ„ฐ๊ฐ€ ์žˆ๊ฑฐ๋“ ์š” ์ด ๊ธฐ์ˆ ์€ ๋‚ด์  ๊ฐ’์„ ๊ตฌํ•ด Vertex๊ฐ€ ์•„๋‹Œ ํ”ฝ์…€ ์ž์ฒด์˜ ๋ช…์•”์„ ์กฐ์ •ํ•ด๋ฒ„๋ฆฝ๋‹ˆ๋‹ค. ํ›จ์”ฌ ๋ถ€๋“œ๋Ÿฝ๊ณ  ๊ตฌ์ฒด์ ์ธ ๋ช…์•”์„ ๋งŒ๋“ค์–ด ๋ฒ„๋ฆฌ์ง€๋งŒ ๊ทธ๋งŒํผ ๋น„์šฉ์„ ๋งŽ์ด ์žก์•„๋จน๋Š” ๊ฒƒ์ด ๋‹จ์ ์ž…๋‹ˆ๋‹ค. ( 6 / 13 ) Normal Vector RESULT: #1 (โ†‘) #2 (โ†‘) #3 (โ†’) x1000๋ฐฐ ํ™•๋Œ€
  • 8. ๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #6 ๋ฐฉ๊ธˆ ๋ณด์‹  ๋‘ ๊ธฐ์ˆ ์€ โ€˜Diffuseโ€™๋ผ๋Š” ์‰์ด๋” ํ…Œํฌ๋‹‰์ž…๋‹ˆ๋‹ค. ํƒœ์–‘ ๋น›์ด ๋ฌผ์ฒด์— ๋‹ฟ์œผ๋ฉด ๋น›์ด ์‚ฐ๋ž€ํ•˜์—ฌ ์ฃผ๋ณ€์„ ๋ฐํžŒ๋‹ค๋Š” ๊ฐœ๋…์ด์ฃ . ๊ทธ๋ฆฌ๊ณ  ํ•˜๋‚˜ ๋‹ค๋ฅธ ๊ธฐ์ˆ ์ด ์žˆ๋Š”๋ฐ ๋ฐ”๋กœ โ€˜Specularโ€™ ์ด๋ผ๋Š” ์‰์ด๋” ํ…Œํฌ๋‹‰์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ „๊ตฌ๋ฅผ ์ณ๋‹ค๋ณด๋ฉด ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น›์ด ํˆฌ์‚ฌ์ฒด๋กœ๋ถ€ํ„ฐ ๋ฐ˜์‚ฌ๋˜์–ด ์šฐ๋ฆฌ ๋ˆˆ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๋น›์˜ ๋ฉ์–ด๋ฆฌ๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค. ๊ฝค๋‚˜ ๋ฐ˜์ง๊ฑฐ๋ฆฌ๋Š” ๊ฐ‘์˜ท์ด๋‚˜, ๋ˆˆ๋™์ž ๋“ฑ ์—ฌ๋Ÿฌ ๋ฌผ์ฒด์—์„œ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œํ˜„ ํ…Œํฌ๋‹‰์ž…๋‹ˆ๋‹ค. ( 7 / 13 ) ์ • ๋ฐ˜์‚ฌ ๋‚œ ๋ฐ˜์‚ฌ Specular
  • 9. ๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #7 ์ด๋ ‡๊ฒŒ ๋‘ ๊ฐ€์ง€ ํ‘œํ˜„๋งŒ์œผ๋กœ Material(์žฌ์งˆ) ํ‘œํ˜„์„ ์ž์œ ์ž์žฌ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์ฃ . ์ œ์ผ ๋งŽ์ด ์“ฐ์ด๊ธฐ๋„ ํ•˜๊ณ ์š”. ๊ทธ๋ฆฌ๊ณ  ๊ณ ๋ง™๊ฒŒ๋„ ์ด๋Ÿฐ ์‰์ด๋”๋Š” ์œ ๋‹ˆํ‹ฐ ์ž์ฒด์ ์œผ๋กœ ์ง€์›ํ•˜์—ฌ ๋งˆ์Œ๋Œ€๋กœ ์˜ต์…˜ ์กฐ์ ˆ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ€˜Albedoโ€™์—์„œ ํ…์Šค์ณ๋ฅผ ๋„ฃ์œผ๋ฉด ๋งตํ•‘์ด ๋˜๋Š” ์ˆœ๊ฐ„ Diffuse๊ฐ€ ๋ฐœ๋™ํ•˜์—ฌ ๋ช…์•”์ด ์ƒ๊ธฐ๊ณ , โ€˜Specularโ€™๋Š” ์ž์ฒด์ ์ธ ์กฐ์ ˆ๋ฐ”๊ฐ€ ์žˆ์–ด์„œ ๋“œ๋ž˜๊ทธ ๋ช‡ ๋ฒˆ์œผ๋กœ ๊ด‘ํƒ์„ ๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๊ธฐ๋Šฅ์ด์ฃ . ๋ฌผ๋ก  ์ด ๊ธฐ๋Šฅ๋“ค์€ ๊ฐ์ฒด ์ปดํฌ๋„ŒํŠธ๋กœ ์กด์žฌํ•˜๋Š” โ€˜Materialโ€™์—์„œ ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‰์ด๋”์™€ ๊ณต์ƒ๊ด€๊ณ„๋‹ˆ๊นŒ์š”. ( 8 / 13 ) # Diffuse # Specular # Diffuse + Specular + = # ์‰์ด๋” ์กฐ์ •์˜ต์…˜
  • 10. ๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #8 ๋งˆ์ง€๋ง‰์œผ๋กœ โ€˜Normal Mapโ€™์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ผ์ข…์˜ ๋ˆˆ ์†์ž„์œผ๋กœ ๋ถˆ๋ฆฌ๋Š” ํ…Œํฌ๋‹‰์ธ๋ฐ ์ด๋Š” โ€˜Albedoโ€™์—์„œ ํ…์ŠคํŠธ๋ฅผ ์”Œ์šฐ๋“ฏ์ด โ€˜Normal Mapโ€˜๋„ ํ…์Šค์ณ๋ฅผ ๋ฐ›๊ณ  ๊ฐ์ฒด์— ์”Œ์šฐ๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทผ๋ฐ ํ…์Šค์ณ๊ฐ€ ํ‘ธ๋ฅด๋”ฉ๋”ฉ ํ•˜์ง€ ์•Š๋‚˜์š”? ์•„๊นŒ ๊ฐ์ฒด์˜ ํ”ฝ์…€๋งˆ๋‹ค ๋‚ด์ ๊ฐ’ ๊ตฌํ•ด์„œ ์Œ์˜ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์„ ๋ณด์…จ๋‚˜์š”? ๋งž์Šต๋‹ˆ๋‹ค. ์ € ์”Œ์›Œ์ง€๋Š” ๋Œ€์ƒ์˜ ๊ฐ์ฒด ํ”ฝ์…€์˜ Normal Vecter๋ฅผ ๋ฐ”๊ฟ”๋ฒ„๋ฆฌ๋Š” Offset Texture ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋ณ€๊ฒฝ ์ •๋ณด๋Š” R(x์ถ•), G(y์ถ•), B(z์ถ•)์œผ๋กœ ํ‘œํ˜„๋˜์–ด ์ €๋Ÿฐ ์ƒ‰์ƒ์˜ ํ…์Šค์ณ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค. ( 9 / 13 ) # Normal Map
  • 11. ๊ฒŒ์ž„ ์†์—์„œ์˜ ๋น› #9 ์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•˜์—ฌ ์œ ๋‹ˆํ‹ฐ์—์„œ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Plane Object๋ฅผ ์ด์šฉํ•˜์—ฌ A4์šฉ์ง€๊ฐ™์€ ํ…์Šค์ณ๋ฅผ ๋„ฃ๊ณ , ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•˜์—ฌ ์ข…์ด ์งˆ๊ฐ์˜ Normap Map์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ ์ข…์ด ๊ฐ์ฒด์˜ Material Component์—์„œ โ€˜Normal Mapโ€™์— ํ…์Šค์ณ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ‰ํ‰ํ•˜๊ฒŒ ๋ˆ„์›Œ์žˆ๋Š” ํ”ฝ์…€๊ณผ ํ”ฝ์…€์˜ Normal Vecter ๋“ค์ด Normal Map์„ ํ†ตํ•ด Normal Vecter ๋ฒกํ„ฐ๊ฐ€ ํœ˜๊ฒŒ ๋˜๊ณ  Diffuse ์‰์ด๋” ๋‚ด์  ๊ณผ์ •์—์„œ ์ข…์ด๊ฐ€ ๊ตฌ๊ฒจ์ง„ ์Œ์˜์„ ๋งŒ๋“ค์–ด๋ฒ„๋ฆฝ๋‹ˆ๋‹ค. ( 10 / 13 ) ADD# BEFORE # AFTER
  • 12. UV? ๋จธ๋ฆฌ ์•„ํ”ˆ ์ด๋ก ์œผ๋กœ ์ž ์‹œ ์‰ด ๊ฒธ ๋‹ค๋ฅธ ๊ฒƒ์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์œ ๋‹ˆํ‹ฐ ์ƒ์—์„œ์˜ ๊ฐ์ฒด๋ฅผ โ€˜Albedoโ€™๋ฅผ ํ†ตํ•ด ํ…์Šค์ณ๋ฅผ ์”Œ์šธ ๋•Œ ๋งˆ๋ฒ• ๋ณด๋”ฐ๋ฆฌ ์”Œ์šฐ๋“ฏ์ด ์”Œ์›Œ์ง€๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ํŽ˜์ธํŠธ(Texture)๋ฅผ ๋“ค๊ณ  ์žˆ๊ณ , ์„ค๊ณ„๋„(UV)๋ฅผ ๋ณด๋ฉด์„œ ์ •ํ™•ํ•˜๊ฒŒ ์น ํ•˜๋Š” ๊ฒƒ์ด์ฃ . ์ž”์ธํ•œ ํ‘œํ˜„์ด์ง€๋งŒ UV ์›๋ฆฌ๋Š” 3D ๋ชจ๋ธ์„ ์กฐ๊ฐ๋‚ด์–ด 2D ์ขŒํ‘œ๋กœ ๊ฐ€์ฃฝ์„ ํŽผ์ณ ์„ค๊ณ„๋„๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๋Š” ๊ฒƒ์ด์ฃ . ๊ทธ๋ฆฌ๊ณ  โ€˜UVโ€™๋ผ๋Š” ํ‘œํ˜„์€ โ€˜XYโ€™์™€ ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๋„๋ก ๋‹จ์ˆœํžˆ ์ €๋ ‡๊ฒŒ ํ‘œํ˜„ ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ( 11 / 13 )
  • 13. ์ ๊ณผ ์„ ๊ณผ ๋ฉด #1 ์‰์ด๋”๋Š” ๋‹จ์ˆœํžˆ ํ”ฝ์…€์˜ ๋ช…์•”๋งŒ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. 3D ๋ฌผ์ฒด ์ƒ์—์„œ์˜ ์ (Vertex), ์„ (Edge), ๋ฉด(Polygon)์˜ ์กฐ์ž‘๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์œ ๋‹ˆํ‹ฐ์—์„œ์˜ โ€˜Terrainโ€™ ๊ฐ์ฒด๋Š” ๋ถ“์œผ๋กœ ์ง€ํ˜•์„ ์กฐ์ •ํ•  ๋•Œ ๋ฉด์— ๋ถ™์–ด์žˆ๋Š” ์ˆ˜๋งŽ์€ Vertex๋ฅผ ์ด์šฉํ•ด ์ง€ํ˜•์„ ๋งŒ๋“ค์ฃ . ๋˜ํ•œ DX11๋กœ ๋„˜์–ด์˜ค๋ฉด์„œ ํ‰ํ‰ํ–ˆ๋˜ ์ง€ํ˜•์„ ์‹ค์ œ๋กœ ์ž…์ฒด๊ฐ ์žˆ๊ฒŒ Mesh ์ž์ฒด๋ฅผ ๋ณ€ํ˜•ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ( 12 / 13 ) # ํ„ฐ๋ ˆ์ธ(Terrain) # DX11 Tessellation
  • 14. ์ ๊ณผ ์„ ๊ณผ ๋ฉด #2 ์‹ค์ œ๋กœ ์‚ฌ๋žŒ์„ ์•„์ฃผ ๊ฐ€๊นŒ์ด์—์„œ ๋ณผ ๋•Œ๋Š” ๋ชจ๊ณต๊นŒ์ง€ ๋šœ๋ ทํ•˜๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ์•„์ฃผ ๋จผ ๊ฑฐ๋ฆฌ์—์„œ ๋ณด๊ฒŒ๋˜๋ฉด ํ˜•์ฒด์กฐ์ฐจ ์•Œ์•„๋ณด๊ธฐ ํž˜๋“ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์œ ๋‹ˆํ‹ฐ์—์„œ๋„ ์ ์šฉ๋˜์–ด ์žˆ๋Š”๋ฐ ๊ฑฐ๋ฆฌ๊ฐ€ ๋ฉ€ ์ˆ˜๋ก ํ•ด๋‹น ๊ฐ์ฒด์˜ ํด๋ฆฌ๊ณค์ด ๊ฐ์†Œ๋˜์–ด ์ตœ์ ํ™” ํšจ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ LOD ๊ธฐ๋Šฅ ๋˜ํ•œ ์‰์ด๋” ๋‚ด๋ถ€ ์ฝ”๋“œ์—์„œ ์ˆซ์ž๋งŒ ๋ณ€๊ฒฝํ•˜๋ฉด ์‰ฝ๊ฒŒ ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ( 13 / 13 ) # LOD (Level Of Detail) # ์‰์ด๋” ์ฝ”๋“œ์˜ LOD ์ˆ˜๋™ ์กฐ์ •
  • 15. End