Material
Material
Material์ ์ญํ ์ ์ง์ค๋ฉํธ๋ฆฌ์ ๊ฐ ํฝ์ ์ ์์์ ์ถ๊ฐํ๋ ๊ฒ
์์์ ์ถ๊ฐํ๋ ๊ณผ์ ์ ์กฐ๋ช
๊ณผ ๋ฉํ
๋ฆฌ์ผ์ ๋ฌผ๋ฆฌ์ ํน์ฑ์ ๋ฐ๋ผ ํน์ ํ ์๊ณ ๋ฆฌ์ฆ์ ๊ฑฐ์ณ ํ์ํ ์์์ ๊ฒฐ์ ์ง๊ฒ ๋๋๋ฐ ์ด์ ํด๋น๋๋ ์๊ณ ๋ฆฌ์ฆ์ Shader
๋ฅผ ํตํด ์์ฑ๋๋ค.
Property
์ธ์คํด์ค๋ฅผ ์์ฑํ๋ ์์ ๋๋, ์์ฑ ํ ํ๋กํผํฐ ๊ฐ์ ์ง์ ๋ณ๊ฒฝํ๋ ์์ผ๋ก ์ ์ฉํ ์ ์๋ค.
color: Material์ ์ ์ฉ๋ ์์์ ์ค์
transparent: Material์ ํฌ๋ช ํ๊ฒ ์ฒ๋ฆฌํ ์ง ๊ฒฐ์ (Bool), ์ด ์์ฑ์ด ์ค์ ๋์ด ์์ด์ผ ๋ฌผ์ฒด์ ๋ถํฌ๋ช ๋(opacity, alphaMap)๋ฅผ ์กฐ์ ํ๋ ์์ฑ๋ค์ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค.
visible: Mesh(์ค๋ธ์ ํธ)๊ฐ ํ๋ฉด์ ๋ณด์ด๋์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ (Bool)
wireframe: Material์ ๋ผ๋๋ฅผ ํ์ธํ๊ธฐ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค(Bool)
side: Material์ ์๋ฉด ์ค ์ด๋์ชฝ์ ๋ ๋๋งํ ์ง ๊ฒฐ์ (FrontSide, BackSide, DoubleSide)
FrontSide โ ๊ธฐ๋ณธ๊ฐ์ผ๋ก, ์๋ฉด๋ง ๋ ๋๋ง ๋๋ค.
BackSide โ ์๋ฉด์ด ์ ์ธ๋๊ณ , ๋ท๋ฉด๋ง ๋ ๋๋ง ๋๋ค .
DoubleSide โ ์๋ท๋ฉด ๋ชจ๋ ๋ ๋๋ง ๋๋ค. (์๋ท๋ฉด ๋ชจ๋ ๋ ๋๋ง๋๊ธฐ์ ๊ทธ๋งํผ ๋ฆฌ์์ค ๋น์ฉ์ด ๋ง์ด ๋ ๋ค.)
roughness: ํ๋ฉด์ ๊ฑฐ์น ๊ธฐ, ๊ฐ์ด ๋ฎ์์ง์๋ก ๊ฑฐ์ธ์ฒ๋ผ ๋น์ ๋ฐ์ฌํ๋ ์ ๋๊ฐ ์ปค์ง๋ค.
metalness: ๊ฐ์ด ์ปค์ง์๋ก ๊ธ์์ฑ ์ฌ์ง์ฒ๋ผ ํํ๋๋ค.
opacity: ๋จธํฐ๋ฆฌ์ผ์ ํฌ๋ช ๋๋ฅผ ์กฐ์
alphaTest: ์ํ๊ฐ์ ์ค์ , opacity๊ฐ์ด alphaTest๊ฐ ๋ณด๋ค ๋ฎ์์ง๋ฉด ๋จธํฐ๋ฆฌ์ผ์ด ๋ ๋๋ง๋์ง ์๋๋ค.
depthTest: ๊ฑฐ๋ฆฌ ๊ณ์ฐ์ ํตํด ๋ค์ ์๋ ๋ฉ์ฌ์ ๋จธํฐ๋ฆฌ์ผ์ ๊ฐ๋ ค์ง๊ฒ ๋๋๋ฐ, ํด๋น ์์ฑ์
true
๋ก ์ค์ ํ๋ฉด ์ด๋ฌํ ๊ณ์ฐ์ด ๋ฌด์๋๋ค.
Built In Material
Three.js์์ ์ ๊ณตํ๋ ๋ค์ํ
Material
๋ฅผ ์์๋ณด์ .
LineBasicMaterial โ ์ ํํ์ ์ค๋ธ์ ํธ๋ฅผ ํํํ๊ณ ์ถ์ ๋ ์ฌ์ฉ
MeshBasicMaterial โ ์ด๋ฆ์ฒ๋ผ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฉํ ๋ฆฌ์ผ, ์กฐ๋ช ์ ์ํฅ์ ๋ฐ์ง ์๋ ํน์ง์ด ์๋ค(์์ ํํX)
MeshDepthMaterial โ ์ค๋ธ์ ํธ์์ ์นด๋ฉ๋ผ๊น์ง์ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ ์ง์ค๋ฉํธ๋ฆฌ๋ฅผ ํ๋ฐฑ์ผ๋ก ์ฑ์ํ๋ ๋ฉํ ๋ฆฌ์ผ, ๋ฌผ์ฒด์ ๋ท๋ถ๋ถ์ ๋ ์ด๋ก๊ฒ ์ฑ์๋๋ค. (์กฐ๋ช ์ ์ํฅ์ ๋ฐ์ง ์์)
MeshLambertMaterial โ ์กฐ๋ช ์ ์ํฅ์ ๋ฐ๋ ๋ฉํ ๋ฆฌ์ผ (๋ฐ์ฌ๊ด X)
MeshPhongMaterial โ
MeshLambertMaterial
๋ ๋ฌผ์ฒด๊ฐ ๋น์ ๋ฐ์์ ๋ ์๊ธฐ๋ ๋ฐ์ฌ์ ์ ํํํ๋๋ฐ ํ๊ณ๊ฐ ์๋๋ฐ, ํด๋น ๋ฉํ ๋ฆฌ์ผ์ ์ด๋ถ๋ถ์ ์ ํํํ ์ ์๋ค.(๋ง์ฐฌ๊ฐ์ง๋ก ์กฐ๋ช ์ ์ํฅ์ ๋ฐ์)MeshStandardMaterial โ
PBR(Physical Based Rendering)
๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ๋ ๋๋ง์ ์ฌ์ฉ, ์ด ๋ฐฉ์์ ๋๋ถ๋ถ์ ๋ง์ 3d ์์ง์์ ์ฌ์ฉ๋๋ ํ์ค ๋ฐฉ์์ด๋ฏ๋ก Standard๋ผ๋ ์ด๋ฆ์ด ๋ถํ์ง,๋ง์ฐฌ๊ฐ์ง๋ก ์กฐ๋ช ์ ์ํฅ์ ๋ฐ์
์ฌ์ง์ ๊ธ์์ฑ๊ณผ ๊ฑฐ์น ๊ธฐ๋ฅผ ํํํ ์ ์๋ค.
ํํํด์ผ ํ๋ ์์ญ์ด ๋ง์ ๋งํผ ๋น๊ต์ ์ฑ๋ฅ์ด ๋จ์ด์ง ์ ์๋ค.
MeshPhysicalMaterial โ
MeshStandardMaterial
์ ํฅ์๋ ๋ฒ์ ์ผ๋ก ์ฌ์ค์ ์ธ ํฌ๋ช ํ ํจ๊ณผ์ ๋ ๋์ ๋ฐ์ฌํจ๊ณผ๋ฅผ ํํํ ์ ์๋ค.MeshToonMaterial โ ๋งํ ํํ์ ์ฌ์ง์ ํํํ ์ ์๋ค.
MeshMatcapMaterial -> ๋ฏธ๋ฆฌ ์ ์๋ ํ ์ค์ฒ ๋งต์ ์ฌ์ฉํ์ฌ ๋ฌผ์ฒด์ ํ๋ฉด์ ๋ ๋๋ง, ๋ณต์กํ ๋น ๊ณ์ฐ์ ๊ฑด๋๋ฐ๊ธฐ ๋๋ฌธ์ ๋ ๋๋ง ์๊ฐ ๋จ์ถ ๋ฐ ์ฑ๋ฅ ํฅ์ ์ด์ ์ด ์๋ค. (Light์ ์ํฅ์ ๋ฐ์ง ์๋๋ค.)
matcaps -> ๋ฏธ๋ฆฌ ์ ์๋ ํ ์ค์ฒ ๋งต(Material Capture), ๋น์ด ์์ด๋ ์์ฒด์ ์ผ๋ก ๋ช ์์ ํํ ๊ฐ๋ฅ
MeshNormalMaterial โ ๋ฒ์ ๋ฒกํฐ(Normal Vector) ์ ๋ณด๋ฅผ ์๊ฐํํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ์์ ์นด๋ฉ๋ผ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ ๋ฒ์ ์ ๋ฐฉํฅ๋ง ํ์ํ๋ค. (์ฆ, ๊ตฌ๋ฅผ ์ค์ฌ์ผ๋ก ํ์ ํ๋ฉด ์์ด ํญ์ ๋์ผ)
๋ฒ์ ๋ฒกํฐ์ x,y,z ๊ฐ์ rgb๋ก ๋ฐ๊พผ๊ฒ
normal(๋ฒ์ )
์ด๋ ๋ฉด์ ๋ฐฉํฅ์ ๋ํ๋ด๋ ํ๋ฉด์ ํญ์ ์์ง์ธ ์ ์ผ๋ก ๊ฐvertex
์๋ normal ์ ๋ณด๊ฐ ํฌํจ๋จ๋ฒ์ ์ vertex์ ๋ฐฉํฅ์ ๋ํ๋ธ๋ค.
๋ฒ์ ๋ฒกํฐ๋ front side ๋ฐฉํฅ์ ์๋ ๋จธํฐ๋ฆฌ์ผ์ ์๋ฏธํ๋ค.
์กฐ๋ช ์ ์ํฅ์ ๋ฐ๋๋ค๋ ๊ฒ์ ๊ทธ๋ฆผ์, ๋ฐ์ฌ(Reflection) , ๊ตด์ (Refraction) ํจ๊ณผ ๋ฑ์ ํํํ ์ ์๋ค.
Properties
MeshPhongMaterial
specular: Mesh์ ๋ฐ์ฌ๋ ๋น(๋ฐ์ฌ๊ด)์ ์์
shieness: ๋ฐ์ฌ๊ด์ ํฌ๊ธฐ, ๊ฐ์ด ์์์๋ก ๋๋ ทํด์ง๋ค.
MeshPhysicalMaterial
roughness: ํ๋ฉด์ ๊ฑฐ์น ๊ธฐ
metalness: ํ๋ฉด์ ๊ธ์์ฑ ์ ๋
clearcoat: ํ๋ฉด์ ์ฝํ ํจ๊ณผ
clearcoatRoughness: ์ฝํ ํํ์ ๊ฑฐ์น ๊ธฐ, ๋ฐ์ฌ๊ด ํํ ๊ฐ๋ฅ
transmission: ํฌ๋ช ํ ๋จธํฐ๋ฆฌ์ผ ํํ, ๋จธํฐ๋ฆฌ์ผ์ transparent ์์ฑ์ด true์ฌ์ผ ํ๋ค.
thickness: ์ ๋ฆฌ ์ฌ์ง์ ๋๊ป๋ฅผ ํํ
ior(Index Of Refraction): ์ ๋ฆฌ ์ฌ์ง์ ๊ตด์ ์จ ํํ
MeshDepthMaterial
Last updated