7๊ฐ ๊ด์
AmbientLight
,HemisphereLight
: ํ๊ฒฝ๊ด, ์ฃผ๋ณ๊ดDirectionalLight
,PointLight
,SpotLight
,RectAreaLight
: ๋จ์ํ ์ฃผ๋ณ๊ด์ด ์๋ ๋น์ ๋ฐฉํฅ์ฑ์ ๊ฐ์ง๋ ๊ด์- ์์ฑ์์์ ๊ด์์ ์์๊ณผ ์ธ๊ธฐ๋ฅผ ๋ฐ์
์ค๋นํ๊ธฐ
๊ด์์ ์ดํดํ๊ธฐ ์ํ ์ฐ์ต์ ์ฌ์ฉํ Scene์ ๋ค์ ์ฌ๊ทธ๋ํ๋ก ๊ตฌ์ฑํ๋ค.
AmbientLight
scene์ ์กด์ฌํ๋ ๋ชจ๋ ๋ฌผ์ฒด์ ๋ํด์ ๋จ์ผ ์์์ผ๋ก ๋ ๋๋ง ๋๋๋ก ํ๋ค.
- Usage: ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ธ๊ธฐ๊ฐ์ ๋งค์ฐ ์ฝํ๊ฒ ์ง์ ํด์ ์ฅ๋ฉด์ ์ถ๊ฐํ์ฌ ๊ด์์ ์ํฅ์ ๋ฐ์ง ๋ชปํ๋ ๋ฌผ์ฒด๋ ์ด์ง ๋ณด์ด๋๋ก ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
HemiphereLight
AmibientLight์๋ ๋ค๋ฅด๊ฒ ๋น์ ๋ํ ์์๊ฐ์ด ํ๋๊ฐ ์๋๋ผ ๋ ๊ฐ์ด๋ค.
- ํ๋๋ ์์์ ๋น์น๋ ๋น์ ์์์ด๊ณ ๋ค๋ฅธ ํ๋๋ ์๋์์ ๋น์น๋ ๋น์ ์์
DirectionalLight
ํ์์ฒ๋ผ ๋น๊ณผ ๋ฌผ์ฒด ๊ฐ์ ๊ฑฐ๋ฆฌ์ ์๊ด์์ด ๋์ผํ ๋น์ ํจ๊ณผ๋ฅผ ์ค๋ค.
- ๋ฐ๋ผ์, ๋น์ position์ target ์์ฑ์ position์ผ๋ก ๊ฒฐ์ ๋๋ ๋ฐฉํฅ๋ง ์๋ฏธ๊ฐ ์๋ค.
- target์ ๊ด์์ด ๋น์ถ๋ ๋์
const light = new THREE.DirectionalLight(0xffffff, 1);
light.position.set(0, 5, 0);
light.target.position.set(0, 0, 0);
this._scene.add(light.target);
PointLight
๋น์ด ๊ด์ ์์น์์ ์ฌ๋ฐฉ์ผ๋ก ํผ์ ธ ๋๊ฐ๋ค.
distance
์์ฑ: ์ง์ ๋ ๊ฑฐ๋ฆฌ๊น์ง๋ง ๊ด์์ ์ํฅ์ ๋ฐ๋๋ก ํ๋ค.- ๊ธฐ๋ณธ๊ฐ 0, ๋ฌดํํ ๊ฑฐ๋ฆฌ๊น์ง ์ํฅ์ ๋ฐ์
SpotLight
๋น์ด ๊ด์์ ์์น์์ ๊น๋๊ธฐ ๋ชจ์์ผ๋ก ํผ์ ธ ๋๊ฐ๋ค.
- angle ์์ฑ์ ๊ด์์ด ๋ง๋๋ ๊น๋๊ธฐ์ ๊ฐ๋
- penumbra ์์ฑ์ ๋น์ ๊ฐ์์จ
- 1์ ๊ฐ๊น์ธ์๋ก ๋น์ด ์ค์ฌ์์ ์ ์ ๊ฐ์
RectAreaLight
ํ๊ด๋ฑ์ด๋ ์ฐฝ๋ฌธ์์ ๋ค์ด์ค๋ ๊ด์์ด๋ค.
- ๊ด์์ ๊ฐ๋ก์ ์ธ๋ก ๊ธธ์ด๋ฅผ ์ง์ ํด์ผ ํจ
- ๊ด์์ ํ์์ด ๋ฌผ์ฒด์ ํ๋ฉด์ ๋น์น๊ฒ ๋๋ค.
- ๊ด์์ ๋ฐฉํฅ์ ๋์์ ์์น๋ก ์ง์ ํ๋ ๊ฒ์ด ์๋, ๊ฐ๋๋ก ์ง์ ํ๋ค๋ ์ฐจ์ด์ ์ด ์๋ค.
๋ง๋ฌด๋ฆฌ
์ค์ ๋ก๋ ๊ณ ๋ํ๋ ๋ ๋๋ง ๊ฒฐ๊ณผ๋ฅผ ์ํด ์ฌ๋ฌ ์ข ๋ฅ์ ๊ด์์ 2๊ฐ ์ด์ ์ค์นํ์ฌ ์ฌ์ฉํ๋ค.
๋ณด๋ค ์ฌ์ค์ ์ธ ๋ ๋๋ง ๊ฒฐ๊ณผ๋ฅผ ์ํด์๋ ์ฌ์ง๋ฟ๋ง ์๋๋ผ ๋ค์ํ ๊ด์์ ์ง์ ํ ์คํธํด ๋ณด๋ ์๊ฐ์ด ํ์ํ ๊ฒ์ด๋ค.
'๐ฟ ์คํฐ๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํด๋ฆฐ์ฝ๋] 6์ฅ ๊ฐ์ฒด์ ์๋ฃ๊ตฌ์กฐ (0) | 2023.07.02 |
---|---|
[three.js] ์นด๋ฉ๋ผ - PerspectiveCamera vs OrthographicCamera (0) | 2023.07.01 |
[ํด๋ฆฐ์ฝ๋] 5์ฅ ํ์ ๋ง์ถ๊ธฐ (0) | 2023.06.23 |
[three.js] ์ฌ์ฉ์ ์ ์ ์ง์ค๋ฉํธ๋ฆฌ (0) | 2023.06.22 |
[three.js] Material ์ฌ๋ฌ๊ฐ์ง map์ ์ ์ฉํด ๋์ฑ ์ฌ์ค์ ์ธ ํ ์ค์ณ๋ฅผ ๋ง๋ค์ด๋ณด์ (0) | 2023.06.15 |