API
๋ ๋๋ธ๋ฆญ ์คํ๋์ค์ API ๊ฐ์์ ๋ํด ์๋ดํฉ๋๋ค.
THREE Default API
Redbrick Studio๋ 3D ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ three.js ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ ธ ์์ต๋๋ค. ํ๋ก์ ํธ ๋ด์ ๋ชจ๋ ์ค๋ธ์ ํธ๋ Mesh, Audio, Light ๋ฑ three.js์ ๋ค์ํ ์ค๋ธ์ ํธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ด์ ๋ฐ๋ผ ์คํฌ๋ฆฝํธ ๋ด์์ three.js์ API๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
three.js ์ค๋ธ์ ํธ ํด๋์ค๋ค์ ๋ชจ๋ ๊ธฐ๋ณธ์ด ๋๋ Object3D ํด๋์ค๋ก๋ถํฐ ํ์ฅ๋ฉ๋๋ค. ๋ช๋ช three.js ์ค๋ธ์ ํธ๋ ๋์ฑ ์ธ๋ถํ๋์ด ํ์ฅ๋๊ธฐ๋ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด Light ํด๋์ค์ ๊ฒฝ์ฐ AmbientLight, PointLight ๋ฑ์ผ๋ก ํ์ฅ๋ฉ๋๋ค. ํด๋์ค๊ฐ ํ์ฅ๋๋ ๊ฒ์ ํด๋์ค์ ์ฑ๊ฒฉ์ด ๋ ๊ตฌ์ฒดํ๋๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ ๊ทธ์ ๋ฐ๋ผ ์ฌ์ฉํ ์ ์๋ API ๋ํ ๋์ฑ ๊ตฌ์ฒด์ ์ธ ๋ฐฉํฅ์ผ๋ก ํ์ฅ๋ฉ๋๋ค.
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ Object3D ํด๋์ค๋ง์ผ๋ก๋ ๋ชจ๋ ์ค๋ธ์ ํธ์ ๊ธฐ๋ณธ์ ์ธ ๋ถ๋ถ์ ๋ค๋ฃฐ ์ ์๊ธฐ ๋๋ฌธ์ Object3D ํด๋์ค์ ๋จผ์ ์ต์ํด์ง๋ ๊ฒ์ด ์ข์ต๋๋ค.
API Extensions
๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์ค๋ธ์ ํธ๋ ๊ฐ๊ฐ์ ํด๋์ค์ ๋ง๋ three.js์ API๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง ์ผ๋ถ ์ค๋ธ์ ํธ์ ๊ฒฝ์ฐ ์ค๋ธ์ ํธ์ ํน์ํ ๋ชฉ์ ์ ์ํด, ํน์ ์ฌ์ฉ ํธ์๋ฅผ ์ํด API Extension์ ์ถ๊ฐํ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ API Extensions ํ์ด์ง์์ ํ์ธํ ์ ์์ต๋๋ค.
Redbrick Studio์ Object Library์๋ ๋ช๊ฐ์ง ์นดํ ๊ณ ๋ฆฌ๊ฐ ์์ต๋๋ค. ๊ฐ ์นดํ ๊ณ ๋ฆฌ์ ์ค๋ธ์ ํธ๋ ๋ค์๊ณผ ๊ฐ์ three.js ์ค๋ธ์ ํธ๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ ์ฐธ๊ณ ๋ฐ๋๋๋ค.
Redbrick Object | three.js Object |
---|---|
Asset | Group | Mesh | Object3D |
Camera | Camera |
Mesh | Mesh |
GUI | Sprite | CSS2DObject |
Video | Mesh |
Sound | Object3D | Audio |
Light | Light |
Effect | Object3D | Sprite |
Spawn | Group | Mesh |
Ad Asset | Group | Mesh | Object3D |
์ถ๊ฐ์ ์ผ๋ก, ๋ชจ๋ ์ค๋ธ์ ํธ๋ฅผ ๋ด๊ณ ์๋ Scene๊ณผ ์ด๋ฅผ ๋ณด๊ธฐ ์ํ ๋ ์ญํ ์ ํ๋ Camera๋ ๋ค์๊ณผ ๊ฐ์ three.js ์ค๋ธ์ ํธ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
Redbrick Object | three.js Object |
---|---|
WORLD | Scene |
Built-in Module
์์์ ์๊ฐํ three.js ๊ธฐ๋ฐ API๋ก ์ค๋ธ์ ํธ๋ฅผ ๋ค๋ฃฐ ์ ์๊ฒ ๋์ง๋ง ์๋๋ฅผ ์ ์ํ๋ค๋ณด๋ฉด ๋จ์ํ ์ค๋ธ์ ํธ๋ฅผ ๋ค๋ฃจ๋ ๊ฒ ์ธ์๋ ์ด๋ฅผ ์ตํฉํ์ฌ ๊ฒ์์ ์ธ ์์๋ฅผ ๋ง๋ค๊ฑฐ๋ ํ๋ฆ์ ์ค๊ณํ๊ณ ๋ฉํฐํ๋ ์ด๋ฅผ ๊ตฌํํ๋ ๋ฑ ๋ค์ํ ์์ ์ด ํ์ํฉ๋๋ค. ์ด์ ํ์ํ API๋ค์ ๋ชจ์์ Builtin Module๋ก์จ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ Builtin Modules ํ์ด์ง์์ ํ์ธํ ์ ์์ต๋๋ค.