๊ณผ์ ๋๋ฌธ์ three.js ๊ฐ์ ๊ณต๋ถ ์ค
three.js ์ง์ง ๋๋ฌด ์ด๋ ค์ด๋ฐ ๊ฒฐ๊ณผ๋ฌผ ๋ณด๋๊ฒ ๋๋ฌด ์ฌ๋ฐ๋ค.
Geometry
(๋ฌผ์ฒด์ ํํ)์ย Material
(๋ฌผ์ฒด์ ์, ๋ฐ๊ธฐ, ์ง๊ฐ ๋ฑ)์ ์ด์ฉํดย Mesh
๋ฅผ ๋ง๋ญ๋๋ค.
Mesh
๋ย Geometry,
ย Material
์ธ์๋ ๋ฌผ์ฒด์ ์์น, ๋ฐฉํฅ, ํฌ๊ธฐ ๋ฑ์ ๋ด์ ๊ฐ์ฒด์
๋๋ค.
Mesh
๋ ์ด๋คย Material
๋ก ํ๋์ย Geometry
๋ฅผ ๊ทธ๋ฆฌ๋ ๊ฐ์ฒด์
๋๋ค.ย Material
,ย Geometry
๋ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ์ฌ ์ฌ๋ฌ๊ฐ์ย Mesh
๊ฐ ํ๋์ย Material
ย ๋๋ย Geometry
๋ฅผ ๋์์ ์ฐธ์กฐํ ์ ์์ต๋๋ค. ํ๋์ ์ ์ก๋ฉด์ฒด 2๊ฐ๋ฅผ ๊ทธ๋ฆฐ๋ค๊ณ ํด๋ณด์ฃ . ์ผ๋จ ๋ ์ ์ก๋ฉด์ฒด์ ์์น๊ฐ ๋ฌ๋ผ์ผ ํ๋, 2๊ฐ์ย Mesh
๊ฐ ํ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์ (vertext, ๊ผญ์ง์ ) ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง ํ ๊ฐ์ย Geometry
์ ์ฑ์์ ์ํ ํ๋์ย Material
์ด ํ์ํ๊ฒ ์ฃ . ์ด๋ ๊ฐย Mesh
๋ ๊ฐ์ฒด๋ฅผ ๋ณต์ฌํ ํ์ ์์ด, ๊ฐ์ย Geometry
ย ๊ทธ๋ฆฌ๊ณ ย Material
์ ์ฐธ์กฐํ ์ ์์ต๋๋ค.Geometry
๋ ๊ธฐํํ ๊ฐ์ฒด์ ์ ์ ๋ฐ์ดํฐ์
๋๋ค. ๊ตฌ(sphere), ์ ์ก๋ฉด์ฒด(cube), ๋ฉด(plane), ๊ฐ, ๊ณ ์์ด, ์ฌ๋, ๋๋ฌด, ๊ฑด๋ฌผ ๋ฑ ์์ฃผ ๋ค์ํ ๊ฒ์ด ๋ ์ ์์ฃ . Three.js๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ช ๊ฐ์ง์ ๋ด์ฅ(built-in)ย ๊ธฐํํ ๊ฐ์ฒด๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ฌผ๋ก ย ์ง์ ๊ธฐํํ ๊ฐ์ฒด๋ฅผ ๋ง๋คย ์๋ ์๊ณ ,ย ํ์ผ์์ ๊ธฐํํ ๊ฐ์ฒด๋ฅผ ๋ถ๋ฌ์ฌย ์๋ ์์ฃ .Material
์ ๊ธฐํํ ๊ฐ์ฒด๋ฅผ ๊ทธ๋ฆฌ๋ ๋ฐ ์ฌ์ฉํ๋ย ํ๋ฉด ์์ฑ์
๋๋ค. ์์ด๋ ๋ฐ๊ธฐ ๋ฑ์ ์ง์ ํ ์ ์์ฃ . ํ๋์ย Material
๋ ์ฌ๋ฌ๊ฐ์ย Texture
๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธฐํํ ๊ฐ์ฒด์ ํ๋ฉด์ ์ด๋ฏธ์ง๋ก ๋ฎ์ด์์ธ ๋ ์ฃผ๋ก ์ฌ์ฉํ์ฃ .Texture
๋ ์ด๋ฏธ์ง๋ย ํ์ผ์์ ๋ก๋ํ ์ด๋ฏธ์ง,ย canvas๋ก ์์ฑํ ์ด๋ฏธ์งย ๋๋ย ๋ค๋ฅธย Scene
ย ๊ฐ์ฒด์์ ๋ ๋๋งํ ๊ฒฐ๊ณผ๋ฌผ์ ํด๋นํฉ๋๋ค.Light
๋ย ์ฌ๋ฌ ์ข
๋ฅ์ ๊ด์์ ํด๋นํฉ๋๋ค๋ํ ๋ชจ์ ๋ฐ๊พธ๋ ๋ฒ : Gemoetry ๊ฐ์ฒด ์์ฑํ ๋ Docs์์ geometry ์ฐพ์์ ์์ฑ
์์ฃผ ์ฌ์ฉํ๋ parameters
true
the value isย 0
. Otherwise it'sย 1
. Default isย false
. ํฌ๋ช
๋ ์กฐ์ .false
. ๊ณ๋จํ์ ์ ๊ฑฐ.PointLight ๊ฐ์ฒด ์์ฑ (์, ๊ฐ๋)
PointLight ์์น set(x, y, z)
scene์ ์ถ๊ฐ
MeshBasicMaterial - ๋ํ์ด ์ ๋๋ก ๋ถ๋ฌ์์ก๋ ์ง ํ์ธํ๋ ์ฉ๋. ๋น์ ์ํฅ์ ๋ฐ์ง ์์.
MeshStandardMaterial - ์์ฃผ ์ฌ์ฉ
MeshDepthMaterial - ๊น์ด๊ฐ์ ํ์ธํ ๋ ์ฌ์ฉ
MeshPhysicalMaterial - Basic ์์ํธํ ๋ฒ์ ๋๋?
clearcoat : ํฌ๋ช ๋ง ๊ฐ์ ๊ฒ
๋ ๋ค ๋น์ ๋ํด์ ํํ
MeshPhongMaterial : ๋ฐ์ฌ ํ์ด๋ผ์ดํธ๊ฐ ์๋ ๋ฐ์ง์ด๋ ํ์ด๋ผ์ดํธ๊ฐ ์๋ ๊ธ์ ์ฌ์ง์ ํํํ ๋ ์ข ๋ ์ ๋ฆฌ
TextureLoadaer load ๋ฉ์๋ ์ด์ฉํด์ ์ํ๋ ์ด๋ฏธ์ง ๋ถ๋ฌ์ค๊ธฐ import ๊ฐ์ ๊ฒ์.
์ด ๋ก๋ํ ์ด๋ฏธ์ง ํ ์ค์ณ๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ Material์ ๊ฐ์ map ์์ฑ ๊ฐ์ผ๋ก ๋ฃ์ด์ฃผ๊ธฐ.
์์ฑ ๊ฐ map, normoalMap, displacementMap ๋ ๊ณต๋ถํด์ผ ํจ.
์ด๋ฌํ ๊ฐ๋ค์ด ๋ชจ์ฌ์ ํ๋์ ๋ํ์ด ์์ฑ ๋จ
์์ผ๊ฐ, ํ๊ฐ
์ธ๊ฐ์ ์์ผ๋ฒ์๋ ๋๋ต 160๋ ์ ๋
๋ ์ฆ์ ์ข ๋ฅ (ํ๊ฐ์ ์ดํดํ๊ธฐ ์ํ ์ฒซ ๋จ์ถ) | ๋ ์ฆ ์ด์ ๊ฑฐ๋ฆฌ | ํ๊ฐ (Fov)
๋ฐ๋ผ์, Fov ๊ฐ์ด ํด์๋ก ๋ ๋ฉ๋ฆฌ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ฒ ๋จ
์ข ํก๋น = ๊ฐ๋ก ์ธ๋ก ๋น์จ
Near์ ์นด๋ฉ๋ผ์ ์์ ์ด ์์๋๋ ์์น๋ฅผ ๋งํ๊ณ , Far์ ์นด๋ฉ๋ผ์ ์์ ์ด ๋๋๋ ์์น๋ฅผ ๋งํ๋ค.
์ฑ์ ์ฑ๋ฅํฅ์์ ์ํด์ ํ์ํ ์ ์๋ ์ต์
camera.lookAt ๋ฉ์๋ ์ฌ์ฉ
๋์์ธ๋ฒ ์ด์ค ์ ํ๋ธ ๊ฐ์