ํฌ์ŠคํŠธ

Surface Shader

Surface Shader

๐Ÿ’ซ Surface Shader


  1. ์„ค์ • ๋ถ€๋ถ„ ์ „์ฒ˜๋ฆฌ๋ผ๊ณ  ํ•  ์ˆ˜๋„ ์žˆ๊ณ  ์Šค๋‹ˆํ•(snippet)์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์€ ๋ง ๊ทธ๋Œ€๋กœ ์‰์ด๋”์˜ ์กฐ๋ช…๊ณ„์‚ฐ ์„ค์ •์ด๋‚˜, ๊ธฐํƒ€ ์„ธ๋ถ€์ ์ด ๋ถ„๊ธฐ๋ฅผ ์ •ํ•ด์ฃผ๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

float์˜ 1/2 ํฌ๊ธฐ๊ฐ€ half half๋ณด๋‹ค ๋” ์ž‘์€ ํฌ๊ธฐ๊ฐ€ fixed

์ปฌ๋Ÿฌ๋‚˜ ๋ฒกํ„ฐ ๊ธธ์ด๋Š” fixed๋กœ ์ถฉ๋ถ„ ๋ฒ”์œ„๋‚˜ ์ •๋ฐ€๋„๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ์€ half ๋‚˜๋จธ์ง€๋Š” float์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ Nvidia ์ชฝ GPU์˜ ๊ฒฝ์šฐ์—๋Š” half๋กœ ํ•  ๋•Œ ์—ฐ์‚ฐ์ˆ˜๊ฐ€ 2๋ฐฐ๋กœ ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ๊ทธ๋ ‡๋‹ค๊ณ  float ์ •๋„๋กœ ์ •๋ฐ€ํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ half๋กœ ๋ฐ”๊พผ๋‹ค๋ฉด ์ž˜๋ชป๋œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๊ฒ ์ฃ ? โ˜… Albedo๋Š” ๋น›์„ ๋ฐ›๋Š”๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. Diffuse์™€ ๋™์ผํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด ๊ณค๋ž€ํ•ฉ๋‹ˆ๋‹ค. โ˜… 3ds Max์—์„œ ์…€ํ”„ ์ผ๋ฃจ๋ฏธ๋„ค์ด์…˜ (Self-illumination) ์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” โ€˜์ž๊ธฐ ๋ฐœ๊ด‘โ€™ ๊ธฐ๋Šฅ์ด ๋ฐ”๋กœ Emission์ž…๋‹ˆ๋‹ค โ˜… o.Albedo์™€ o.Emission์˜ ๊ฐ’์€ ์ตœ์ข…์ ์œผ๋กœ ์„œ๋กœ ๋”ํ•ด์ง‘๋‹ˆ๋‹ค. ์ฆ‰, ๋‘˜์„ ๋ชจ๋‘ ์“ฐ๋ฉด ํ•„์—ฐ์ ์œผ๋กœ ๋ฐ์•„์ง‘๋‹ˆ๋‹ค. Albedo > ์กฐ๋ช… ์—ฐ์‚ฐ์„ ์ถ”๊ฐ€๋กœ ๋ฐ›๊ฒŒ ๋˜๊ณ , Emission ์กฐ๋ช… ์—ฐ์‚ฐ์„ ๋ฐ›์ง€ ์•Š์•„์„œ โ€˜์กฐ๋ช…๊ณผ ์ƒ๊ด€์—†๋Š” ์ˆœ์ˆ˜ํ•œ ์ƒ‰์ƒโ€™ ๋งŒ์ด ์ถœ๋ ฅ > ์ˆœ์ˆ˜ํ•œ ๊ฒฐ๊ณผ๋ฌผ์„ ๋ณด๊ณ  ์‹ถ์„ ๋•Œ๋Š” Emission์„ ์ฆ๊ฒจ์„œ ์‚ฌ์šฉ 1๋ณด๋‹ค ๋ฐ์€ ์ƒ‰์ด ์žˆ๊ณ , 0๋ณด๋‹ค ์–ด๋‘์šด ์ƒ‰์ด ์žˆ์–ด์„œ ๊ทธ๊ฒƒ์ด ์กด์žฌํ•˜๊ณ  ๊ณ„์‚ฐ๋˜๋Š” ์ƒํƒœ๋ฅผ HDR (High Dynamic Range) float4.rgb => rgb๋งŒ ์“ฐ๊ฒ ๋‹ค, ์ž๋™ ํ˜•๋ณ€ํ™˜ ๋Š๋‚Œ์ธ๋“ฏ? float.rgb float.grb float.bgr float.rrr 1 = 1,1,1 / 0.5 = 0.5, 0.5, 0.5 o.Albedo = test.b ๋ผ๊ณ  ์“ฐ๋ฉด 0์„ ์ž…๋ ฅํ•œ ๊ฒƒ๊ณผ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ •์ƒ‰์ด ์ถœ๋ ฅ ใ„ด ์ด๋ ‡๊ฒŒ ๋ณ€์ˆ˜์˜ ๋ถ€๋ถ„๊ฐ’์„ ์ž์œ ์ž์žฌ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์€ ์Šค์œ„์ฆ๋ง (Swizzling) ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค ์˜ˆ์ „์—๋Š” ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธฐ๋ฉด ๋ฌด์กฐ๊ฑด ๋งˆ์  ํƒ€ ์ƒ‰์„ ์ถœ๋ ฅํ–ˆ์ง€๋งŒ, ์œ ๋‹ˆํ‹ฐ 5.5๋ถ€ํ„ฐ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์„ ๋•Œ ๊นŒ์ง€ ๊ณ„์‚ฐํ•˜๊ณ  ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜๋ผ๋ฉด ์—ฌ์ „ํžˆ ๋งˆ์  ํƒ€ ์ปฌ๋Ÿฌ๋ฅผ ๋ณด์—ฌ์คŒ float x x.r ๊ฐ€๋Šฅ

float2 xx float3(0, xx.rg) float3(0, xx.gg) ์ธํ„ฐํŽ˜์ด์Šค ๋ณ€์ˆ˜๋ฅผ CG์ฝ”๋“œ ๋‚ด์—์„œ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋˜‘๊ฐ™์€ ์ด๋ฆ„์˜ ๋ณ€์ˆ˜๋ฅผ ์•ˆ์—์„œ ์„ ์–ธํ•ด์ฃผ๋ฉด ๋จ ๋ฐ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๋ฐฉ๋ฒ• -1 ~ 1 Range๋กœ ๋ฐ›์•„์˜ค๊ณ  o.Albedo = rgb~ + ๋ณ€์ˆ˜ ๊ฐ’ struct ์•ˆ์— ์•„๋ฌด๊ฒƒ๋„ ๋“ค์–ด์žˆ์ง€ ์•Š์œผ๋ฉด ์•ˆ๋จ float4 color : COLOR ์ด ๋‚ด์šฉ์€ ๋ฒ„ํ…์Šค ์ปฌ๋Ÿฌ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๋งˆ๋ฒ•์˜ ์ฃผ๋ฌธ, ํ˜„์žฌ๋กœ์„œ๋Š” ์–ด๋””์—๋„ ์“ฐ์ง„ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹จ์ง€ ์—๋Ÿฌ๋ฅผ ํ”ผํ•˜๊ณ ์ž ์“ด ๊ฒƒ์ด์ง€์š”. o.Alpha = 1 ๋กœ ๋ถˆํˆฌ๋ช…ํ•จ์„ ํ‘œ์‹œ, ํ•˜์ง€๋งŒ โ€˜์•„์ง์€โ€™ 0.5 ๋‚˜ 0 ์„ ๋„ฃ๋Š”๋‹ค๊ณ  ๋ฐ˜ํˆฌ๋ช…ํ•ด์ง€๊ฑฐ๋‚˜ ํˆฌ๋ช…ํ•ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. LOD > ์ด ์‰์ด๋”์˜ ํ™˜๊ฒฝ ์„ค์ •์— ๋”ฐ๋ฅธ ์˜ต์…˜ ๊ฐ’์— ๊ด€๋ จ๋œ ๋‚ด์šฉ

https://celestialbody.tistory.com/5

ํ…์Šค์ณ๋Š” UV ์ขŒํ‘œ์™€ ํ•จ๊ป˜ ๊ณ„์‚ฐ๋˜์–ด์•ผ float4๋กœ ์ถœ๋ ฅ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์•„์ง UV์™€ ๊ณ„์‚ฐ๋˜์ง€ ์•Š์€ ํ…์Šค์ณ๋Š” ์ƒ‰์ƒ (float4)์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋•Œ๊นŒ์ง€๋Š” sampler๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๐Ÿ’ซ _4


๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜ ์‰์ด๋”์—์„œ Metalic์ด 0์ด๋ฉด ์ŠคํŽ˜ํ˜๋Ÿฌ ์ปฌ๋Ÿฌ๊ฐ€ ํ‘๋ฐฑ(ํฐ ๋น›์„ ๋น„์ถ”์—ˆ์„ ๋•Œ)์ด ๋˜๋ฉฐ, Metalic์ด 1์ด๋ฉด ์ŠคํŽ˜ํ˜๋Ÿฌ ์ปฌ๋Ÿฌ๊ฐ€ Albedo์— ๋„ฃ์€ ์ƒ‰์ด ๋ฉ๋‹ˆ๋‹ค. ๊ธˆ์†์€ ๊ณ ์œ ์˜ ์ŠคํŽ˜ํ˜๋Ÿฌ ์ปฌ๋Ÿฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ฐ€๊ธ‰์  Metalic์—์„œ 0๊ณผ1 ์™ธ์˜ ๊ฐ’์€ ์“ฐ์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ •ํ™•ํ•œ ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜ ์‰์ด๋”๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

Smoothness๋Š” ์žฌ์งˆ์ด ๋งค๋„๋Ÿฌ์šด์ง€ ๊ฑฐ์นœ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ถ€๋ถ„.
0์ด๋ฉด ์™„๋ฒฝํžˆ ๊ฑฐ์น ์–ด์„œ ๋‚œ๋ฐ˜์‚ฌ๋งŒ ์ผ์–ด๋‚˜๊ณ , 1์ด๋ฉด ์™„๋ฒฝํžˆ ๋งค๋„๋Ÿฌ์›Œ์„œ ์ •๋ฐ˜์‚ฌ๋งŒ ์ผ์–ด๋‚˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋‚œ๋ฐ˜์‚ฌ๊ฐ€ ์ผ์–ด๋‚˜๋Š” ์ด์œ ๋Š” โ€˜๊ฑฐ์นœ ํ‘œ๋ฉดโ€™ ๋•Œ๋ฌธ์ด๋ฉฐ, ํŠนํžˆ ๊ฒ‰์œผ๋กœ๋Š” ๋ถ€๋“œ๋Ÿฌ์›Œ ๋ณด์ด๋”๋ผ๋„ ๋ฏธ์„ธํ•œ ํ‘œ๋ฉด ๋‹จ๊ณ„์—์„œ์˜ ๊ฑฐ์น ๊ธฐ ๋•Œ๋ฌธ์— (๊ฑฐ์˜ ๋ถ„์ž ๋‹จ์œ„๋กœ) ํ”ผ๋ถ€๋‚˜ ์ฒœ์˜ ๊ฒฝ์šฐ์—๋Š” ์ŠคํŽ˜ํ˜๋Ÿฌ๊ฐ€ ์ ๊ฒŒ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฆ‰, ์žฌ์งˆ์ด ๋งค๋ˆํ•˜๋ฉด ๋‚œ๋ฐ˜์‚ฌ(Diffuse) ์—ฐ์‚ฐ๋ณด๋‹ค ์ •๋ฐ˜์‚ฌ(Specular) ์—ฐ์‚ฐ์ด ๋Š˜์–ด๋‚˜๋ฉฐ, ์ด๊ฒƒ์„ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋Š”๊ฒŒ Smoothness ์ธ์ž ์ž…๋‹ˆ๋‹ค.

๋ฒคํƒ€ ๋ธ”๋ž™ ๊ฐ™์€ ํŠน์ˆ˜ํ•œ ๋ฌผ์งˆ์„ ์ œ์™ธํ•˜๊ณ ๋Š” ๋Œ€๋ถ€๋ถ„ ์–ด๋Š ์ •๋„์˜ ์ŠคํŽ˜ํ˜๋Ÿฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
์šฐ๋ฆฌ๊ฐ€ ์งˆ๊ฐ์„ ๋Š๋ผ๊ฒŒ ๋˜๋Š” ์š”์†Œ๋Š” ๊ฑฐ์˜ ์ŠคํŽ˜ํ˜๋Ÿฌ, ๊ทธ๋ž˜์„œ ์ŠคํŽ˜ํ˜๋Ÿฌ๊ฐ€ ์—†์œผ๋ฉด ๊ฑฐ์˜ ์งˆ๊ฐ์„ ๋Š๋ผ๊ธฐ๊ฐ€ ํž˜๋“  ๊ฒƒ.

์œ ๋‹ˆํ‹ฐ์—์„œ Standard Shader๋ผ๋Š” โ€˜๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ Œ๋”๋งโ€™ ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…์€ โ€˜์—๋„ˆ์ง€ ๋ณด์กด ๋ฒ•์น™โ€™์œผ๋กœ โ€˜๋‚˜๊ฐ€๋Š” ๋น›์˜ ์–‘์€ ๋“ค์–ด์˜จ ๋น›์˜ ์–‘์„ ๋„˜์„ ์ˆ˜ ์—†๋‹คโ€™๋ผ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜ ํ…์Šค์ณ๋ฅผ ๋…ธ๋ง๋งต์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ.
Create from Grayscale ์˜ต์…˜์„ ์ฒดํฌํ•˜๊ณ , Bumpniss๋‚˜ Filtering์„ ์ ์ ˆํžˆ ์กฐ์ ˆ

NormalMap์€ ์ผ๋ฐ˜์ ์ธ ํ…์Šค์ณ๊ฐ€ ์•„๋‹ˆ๋‹ค.
NormalMap์€ ์ผ๋ฐ˜์ ์ธ ๊ฒŒ์ž„์šฉ ํ…์Šค์ณ ํฌ๋งท์ธ DXT1 ํ˜น์€ DXT5๊ฐ€ ์•„๋‹ˆ๋ผ DXTnm์ด๋ผ๋Š” ํŒŒ์ผ ํฌ๋งท์ด๋‹ค.
(ํ”Œ๋žซํผ์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋Š” ETC ํŒŒ์ผ ํฌ๋งท์„ ์“ฐ๊ธฐ๋„ ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” PC ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.)

์ด ํŒŒ์ผ ํฌ๋งท์€ ์ผ๋ฐ˜์ ์ธ ํ…์Šค์ณ์˜ ์••์ถ•์— ์˜ํ•œ NormalMap ํ’ˆ์งˆ์˜ ์ €ํ•˜๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด ๋งŒ๋“  AG ํŒŒ์ผ ํฌ๋งท์ด๋‹ค.
์ด ํฌ๋งท์€ NormalMap์˜ R๊ณผ G์˜ ํ€„๋ฆฌํ‹ฐ๋ฅผ ์ตœ๋Œ€ํ•œ ๋ณด์ „ํ•˜์—ฌ A์™€ G์— ๋„ฃ์–ด ์ €์žฅํ•œ๋‹ค. (B๋Š” ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค)
์ด๋ ‡๊ฒŒ ๋ณด์ „๋œ R๊ณผ G๋Š” NormalMap์˜ X์™€ Y๋กœ ๊ณ„์‚ฐ๋˜๋ฉฐ, Z๋Š” ์‚ผ๊ฐํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ˆ˜ํ•™์ ์œผ๋กœ ์ถ”์ถœ์ด ๋œ๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ด ํ…์Šค์ณ๋ฅผ ์ด์šฉํ•ด์„œ NormalMap์œผ๋กœ ์˜จ์ „ํ•˜๊ฒŒ ์ƒ์„ฑํ•ด๋‚ด๋ ค๋ฉด ์•ž์— ์„ค๋ฉํ˜€๋‚˜ ๊ณต์‹์ด ์ ์šฉ๋˜์–ด ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ๊ฐ„ํŽธํ•œ๋‹ค.
float3 y = UnpackNormal ( float4 x );
o.Normal = UnpackNormal ( tex2D (_BumpMap, IN.uv_bumpMap) );

or

fixed3 n = UnpackNormal(tex2D(_BumpMap, IN.uv_bumpMap));
o.Normal = float3(n.x * 2, n.y * 2, n.z);
๊ฐ•๋„ ์กฐ์ ˆ (Z์ถ•์€ ๊ฑฐ์˜ ์˜ํ–ฅ์„ ๋ผ์น˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ์‚ฐํ•ด์ค„ ํ•„์š”๊ฐ€ ์—†๋‹ค, ๋ฌผ๋ก  1์ด์ƒ์„ ๊ณฑํ•œ ํ›„ ๋‚ด๋ถ€์ ์œผ๋กœ normalize๋ฅผ ํ•œ๋‹ค๋ฉด ์•ฝํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ค„ ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค๋งŒ ์ด ๋‹จ๊ณ„์—์„œ๋Š” ์ ์ ˆ์น˜ ์•Š์œผ๋ฏ€๋กœ ์„ค๋ช…์„ ์ƒ๋žตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.)

Occlusion (Ambient Occlusion)์€ ๊ตฌ์„์ง„ ๋ถ€๋ถ„์˜ ์ถ”๊ฐ€์ ์ธ ์Œ์˜์„ ํ‘œํ˜„ํ•˜๋Š” ๊ธฐ๋Šฅ
์ผ๋ฐ˜์ ์œผ๋กœ ํ™˜๊ฒฝ๊ด‘ (Ambient Color)๋กœ ๊ฐ€๋“ ์ฐจ ์žˆ๋Š ์„ธ์ƒ์—์„œ ๊ทธ๋ฆผ์ž๊ฐ€ ๋“œ๋ฆฌ์›Œ์ง„ ๋ถ€๋ถ„๋„ ์‚ฌ๋ฐฉ์—์„œ ์˜ค๋Š” ํ™˜๊ฒฝ๊ด‘ ์ •๋„๋ฅผ ๋ฐ›๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ๋งค์šฐ ๊ตฌ์„์ ธ ์žˆ๊ฑฐ๋‚˜ ๋ณต์žกํ•œ ๋ฌผ์ฒด๋“ค๋กœ ๊ฐ€๋ ค์ ธ์„œ ํ™˜๊ฒฝ๊ด‘๋„ ๋‹ฟ์ง€ ๋ชปํ•˜๋Š” ๋ถ€๋ถ„์€ ๋”์šฑ ๋” ์–ด๋‘์›Œ์ง€๋Š”๋ฐ ์ด ๋ถ€๋ถ„์„ Ambient Occlustion (ํ™˜๊ฒฝ ์ฐจํ)๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

ํŠน์ดํ•˜๊ฒŒ๋„ Occlusion ๋งต์€ ๋…๋ฆฝ๋œ UV๋ฅผ ๋ฐ›์œผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋“œ์‹œ _MainTex๊ฐ™์€ UV๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™.
o.Occlusion์ด float์„ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์—, RGB๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๋Š” ํ…์Šค์ณ ํ•œ ์žฅ์„ ๋‹จ์ง€ Occlusion ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ๋‚ญ๋น„.
_MainTex์˜ ์•ŒํŒŒ ์ฑ„๋„์„ Occlusion์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค๋˜์ง€

์ง€๊ธˆ๊นŒ์ง€ ์œ ๋‹ˆํ‹ฐ์— ๋‚ด์žฅ๋œ PBS ์‰์ด๋”์ธ Standard Shader์˜ Metail Pass์˜ ๊ธฐ๋ณธ ์กฐ์ž‘์ ‘์— ๋Œ€ํ•ด ์•Œ์˜ค๋ณด์•˜๋‹ค.

https://unity.com/kr/releases/editor/archive
๋‹ค์šด๋กœ๋“œ ์•„์นด์ด๋ธŒ์—์„œ ๋‚ด์žฅ ์‰์ด๋”๋ฅผ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

์ด ๊ธฐ์‚ฌ๋Š” ์ €์ž‘๊ถŒ์ž์˜ CC BY 4.0 ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.