๋ด ์ฑ์์ ์ฅ๋ฉด ๋ฐฐ๊ฒฝ๊ณผ ํ๊ฒฝ ๋งต ๋ฐ์ฌ๋ฅผ ์ ์ํ๋ CubeTexture๋ฅผ ์์ง y์ถ์ ๋ฐ๋ผ 180ยฐ ํ์ ํ๊ณ ์ถ์ต๋๋ค.
๋ด ํ์ ์ ๋ฐฐ๊ฒฝ ํ๋์ ๋ํ VRML ๋ฐ X3D ์ฌ์์ ์ํด ์ ์๋ฉ๋๋ค.
mapping
, flipY
๋ฐ rotation
ํ
์ค์ฒ ํ๋์ ๊ฐ์ ์ฌ๋ฌ ๋งค๊ฐ๋ณ์๋ฅผ ์์ ํ๋ ค๊ณ ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ๊ทธ๋ ๊ฒ ํ ์ข์ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค.
three.js
์ด๊ฒ์ด ๋์ฌ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๊น?Texture.flipX
๋ฐ CubeTexture.flipZ
)? ์ด ๊ธฐ๋ฅ์ ๊ด์ฌ์ด ์์ผ์ญ๋๊น?scene.background
ํ์ ํ ์ ์๋ค๋ ๋ป์ธ๊ฐ์? ๊ทธ๋ ๋ค๋ฉด... ์, ํ์คํ ๊ด์ฌ์ด ์์ต๋๋ค.
์๋ก์ด API๊ฐ ํ์ํ ์๋ ์์ง๋ง...
scene.background = new THREE.Background( cubeTexture );`
scene.background.rotation.y = Math.PI / 2;
๋๋ ์ง๊ธ ๋ฐ๋ก ์ด๊ฒ๊ณผ ์จ๋ฆํ๊ณ ์๋ค. ํ๋ธ๋งต์์ ํ์ ๋ฐฉํฅ๊ณผ ์ผ์นํ๋๋ก ๊ตฌ์ด ๋
๊ทธ๋ฆผ์๋ฅผ ์ป์ผ๋ ค๊ณ ํฉ๋๋ค.
๋ด ํ๋ธ ๋งต์ด 180๋ ๋ค์งํ๋ ๊ธธ์ ๋ฐ๋ผ ์ด๋๊ฐ์์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ด ํ๋ธ๋งต์ ์ฌ๋ฌ ๋ฒ ๋ค์ ๋ ๋๋งํ๊ณ ๊ทธ๋ฐ ์ผ์ด ์ด๋์์ ์ผ์ด๋๋์ง ์์๋ด๋ ค๊ณ ํ๋ ๊ฒ๋ณด๋ค ์ฌ๊ธฐ์์ ์์ ํ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์
๋๋ค.
@fabienrohrer ์๋
scene.rotation.y = Math.PI;
์๋ํ์ง ์๋ ๊ฒฝ์ฐ ์ํ ์ค์ธ ์์ ์ ์ ํํ ๋ณด์ฌ์ฃผ๋ ์ค์ ์๋ฅผ ์ ๊ณตํ์ญ์์ค.
์ค, ํจ๊ณผ๊ฐ ์์ต๋๊น? ๐ฎ ๊ทธ๋๋ ์นด๋ฉ๋ผ๋ ๊ทธ ์ฅ๋ฉด์ ์์์ด๊ฒ ์ฃ ?
๊ทธ๋๋ ์นด๋ฉ๋ผ๋ ๊ทธ ์ฅ๋ฉด์ ์์์์ ํ๋ฆผ์๋ค?
๋๋ ๊ทธ๊ฒ์ด ์ค์ํ์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
@mrdoob ์ด๊ฒ์ ๋ด๊ฐ ํ์๋กํ๋ ๊ฒ์ ๋๋ค :-)
@WestLangley :
์ ์ฒด ์ฅ๋ฉด์ ํ์ ํ๋ ๊ฒ์ ๊ณผ๋ํ๊ณ ๋ด ์ฑ์์ ๋ง์ ๋ถ์์ฉ์ ์ผ์ผํฌ ์ ์์ต๋๋ค.
๋ฐฐ๊ฒฝ๋ง ํ์ ํ ์ ์๊ธฐ๋ฅผ ์ํ๋ฉฐ ํ๊ฒฝ ๋งต๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์๋ํด์ผ ํฉ๋๋ค.
API๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ผ์ด๋ธ ๋ฐ๋ชจ๋ฅผ ํ ์ ์์ต๋๋ค. ๋ฐฐ๊ฒฝ ํ๋ธ๋งต(์: https://threejs.org/examples/#webgl_materials_cubemap)์ด ์๊ณ y์ถ์ ์ค์ฌ์ผ๋ก ๋ฐฐ๊ฒฝ๋ง ํ์ ํ ์ ์๋ ์๋ฅผ ๋ค๋ฉด ๋ฌธ์ ์ ๋๋ค. ๋๋ ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฐฐ๊ฒฝ์ ํ์ ์ ์ ์ฉํฉ๋๋ค.
์ฌ์ฉ์ ์ ์ ํ์ ํ๋ ฌ/์ฟผํฐ๋์ธ์ ํ๋ธ๋งต์ ์ ์ฉํ ์ ์๋ ๊ฒ์ด ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์๋ฃจ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
three.js๋ ์ฌ๋ฃ ๋ฐ์ฌ๊ฐ ์ธ๊ณ ๊ณต๊ฐ ์ขํ๊ณ์ ์ ์๋ envMap
์ฌ๋ฃ์ ์ผ์นํ๋๋ก ์ฃผ์ํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ์ฅ๋ฉด ๋ฐฐ๊ฒฝ์ ํ์ ํ ์ ์๊ฒ ํ๋ฉด ๋ฐฐ๊ฒฝ์ด ์ฌ์ง ๋ฐ์ฌ์ ์ผ์นํ์ง ์๊ฒ ๋ฉ๋๋ค.
์ฑ์์ ์ฌ๋ฐ๋ฅธ ์ธ๊ณ ๊ณต๊ฐ ํ๋ธ ๋งต์ ์์ฑํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
๊ทธ๋๋ ์นด๋ฉ๋ผ๋ ๊ทธ ์ฅ๋ฉด์ ์์์์ ํ๋ฆผ์๋ค?
๋๋ ๊ทธ๊ฒ์ด ์ค์ํ์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
webgl_materials_standard ์ ์ฝ์์์ scene.rotation.y ++
๋ฅผ ์๋ํ๋๋ฐ ์ด์ด ํ์ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ scene.add( camera )
์๋ํ ๋ค์ scene.rotation.y ++
ํ๋ฉด ์ฐ๋ฆฌ๊ฐ ํ๋ ๋๋ก ๋์ง๋ง ์นด๋ฉ๋ผ ์ปจํธ๋กค์ด ์๋ง์ด ๋ฉ๋๋ค ๐
THREE.Background
๊ฐ์ฒด๋ฅผ ๋์
ํ๋ฉด ์ด๋ฅผ ์ฒ๋ฆฌํ๋ API๋ฅผ ์ถ๊ฐํ ์ ์์ผ๋ฉฐ ๋ ๋๋ฌ์์ ๋ค์๊ณผ ๊ฐ์ ์์ด๋์ด๋ ๋์
ํ ์ ์์ต๋๋ค.
var envMap = material.envMap;
if ( scene.background && scene.background.isBackground && envMap === null ) {
envMap = scene.background.texture;
}
๋๋ ๋งํ๋ค
scene.rotation.y = Math.PI๋ฅผ ์๋ํด๋ณด์ธ์. ์๋ํ์ง ์๋ ๊ฒฝ์ฐ...
์ฆ, ์๋ํ์ง ์์ ์ ์์ต๋๋ค. :-)
์ฌ์ฉ ์ฌ๋ก์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค. OrbitControls
์๋ํ๋๋ฐ ์ ์๋ํ์ต๋๋ค.
๊ด๋ จ ์์: webgl_materials_standard
์์ ๋ ์ด์จ๋ IMO์์ ๊ถค๋ ์ ์ด๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
scene.background๋ฅผ ํ์ ํ ์ ์๋ค๋ ๋ป์ธ๊ฐ์? ๊ทธ๋ ๋ค๋ฉด... ์, ํ์คํ ๊ด์ฌ์ด ์์ต๋๋ค.
ํ ์ค์ฒ ์์ค์์ ์ด ์์ ์ ์ํํ๋ ๊ฒ์ด ๋ ํฉ๋ฆฌ์ ์ ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด IBL ์กฐ๋ช ์ด ๋ฐฐ๊ฒฝ๊ณผ ์ผ์นํ์ง ์์ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ๋ ์ผ๋ฐ ํ ์ค์ฒ์ ํ์ ์ ํ์ฉํฉ๋๋ค. ํ๋ธ ํ ์ค์ฒ์ ๋ํด ๋์ผํ ์์ ์ ์ํํ๊ณ ์ถ์ง ์์ ์ด์ ๊ฐ ์์ต๋๊น? ๊ตฌํํ๊ธฐ์๋ ๋๋ฌด ๋ณต์กํฉ๋๊น?
์ฑ์์ ์ฌ๋ฐ๋ฅธ ์ธ๊ณ ๊ณต๊ฐ ํ๋ธ ๋งต์ ์์ฑํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
์ด๊ฒ์ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฝ๋๋ค. ์ ๋ ์ง๋ ๋ฉฐ์น ๋์ ํ๋ธ ๋งต์ ์์ฑํ๋ ์์ ์ ํ์ผ๋ฉฐ ๋ณ๊ฒฝํ ๋ค์ ํ๋ธ ๋งต์ ๋ค์ ๋ ๋๋งํ๋ ๋ฐ ๊ฐ ๋ณ๊ฒฝ์ ๋ํด ์ฝ 15-20๋ถ์ด ๊ฑธ๋ฆฝ๋๋ค.
์ด์ ๋ํ ๋ ๋ค๋ฅธ ์ ์ฌ์ ์ธ ํฅ๋ฏธ๋ก์ด ์ฌ์ฉ ์ฌ๋ก๋ ํ๊ฒฝ ์กฐ๋ช
์ ๋ฐฉํฅ์ ์ค์๊ฐ์ผ๋ก ๋ณ๊ฒฝํ ์ ์๋ค๋ ๊ฒ์
๋๋ค. ์ ๋ ํ์ฌ PMREM ํ๊ฒฝ ๋งต์ ์ค์๊ฐ ๊ทธ๋ฆผ์๋ฅผ ์ํ ๋ฐฉํฅ ์กฐ๋ช
๊ณผ ๊ฒฐํฉํ๊ณ ์์ผ๋ฉฐ ๋งต์ ์ค์นด์ด๋ฐ์ค๋ก ์ฌ์ฉํ์ฌ ์๋นํ ๊ด์ฐฎ์ ์ผ๊ด ํจ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋ถ๋ช
ํ ํ๊ฒฝ ๋งต์ ์์์ ๋ณ๊ฒฝํ์ง ์๊ณ ํ ์ ์๋ ์ผ์๋ ์ ํ์ด ์์ง๋ง .envMapIntensity
๋ฅผ ์กฐ์ ํ๋ฉด์ ๋ฐฉํฅ ์กฐ๋ช
๊ณผ ๋๊ธฐํํ์ฌ ๋งต์ ํ์ ํ์ฌ ์ ์ด๋ ๋ช ์๊ฐ ๋์์ ์ผ๊ด์ ์๋ฎฌ๋ ์ด์
ํ ์ ์์ต๋๋ค. .
๋ด ๊ด์ฌ์ฌ๋ ๋ํ ์ฑ๋ฅ์ ๊ดํ ๊ฒ์ ๋๋ค. ํ์ฌ ์ ๋ ์์ชฝ ๋ฐ ์๋์ชฝ ํ ์ค์ฒ๋ฅผ ํ์ ํ๊ณ ๋ค๋ฅธ ํ ์ค์ฒ๋ฅผ ๊ต์ฒดํ๋ ค๋ ํดํน์ ๊ตฌํํ์ต๋๋ค. JS์์ 1024x1024 ํ ์ค์ฒ๋ฅผ ํ์ ํ๋ ๋ฐ ์ฝ 10ms๊ฐ ๊ฑธ๋ฆฝ๋๋ค.
๋๋ CubeTexture ๋ฐฉํฅ์ ๋ํด ํ์ฌ ๊ฐ์ง๊ณ ์๋ ์ต์ ๊ณผ 3D ํ์(X3D, VRML ๋ฑ .). ๋ ํ์์ ๋ชจ๋ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋จธํฐ๋ฆฌ์ผ ๋ฆฌํ๋ ์ ์ ์ผ๊ด์ฑ์ ์ฝ๊ฒ ์กฐ์ ํ ์ ์์ต๋๊น?
์ด๊ฒ์ ์น์ํ๊ฒ ๋ค๋ฆฐ๋ค #11103
CubeMap.rotation = matrix3
๊ตฌํํ๋ค๋ฉด r105์ ๋ณํฉํ์๊ฒ ์ต๋๊น?
๋ด ๊ด์ฌ์ฌ๋ ๋ํ ์ฑ๋ฅ์ ๊ดํ ๊ฒ์ ๋๋ค. ํ์ฌ ์ ๋ ์์ชฝ ๋ฐ ์๋์ชฝ ํ ์ค์ฒ๋ฅผ ํ์ ํ๊ณ ๋ค๋ฅธ ํ ์ค์ฒ๋ฅผ ๊ต์ฒดํ๋ ค๋ ํดํน์ ๊ตฌํํ์ต๋๋ค. JS์์ 1024x1024 ํ ์ค์ฒ๋ฅผ ํ์ ํ๋ ๋ฐ ์ฝ 10ms๊ฐ ๊ฑธ๋ฆฝ๋๋ค.
์ฑ์์ ์ผ๋ง๋ ์์ฃผ ์ด ์์ ์ ์ํํฉ๋๊น?
@WestLangley ์ฌ๊ธฐ์์ ์์ธํ ๋ต๋ณ์ ๋๋ฆฌ๊ฒ ์ต๋๋ค. https://github.com/mrdoob/three.js/pull/16507#discussion_r286337864
์ฑ์์ ์ผ๋ง๋ ์์ฃผ ์ด ์์ ์ ์ํํฉ๋๊น?
๋ณ๋ก. ํด๋ผ์ด์ธํธ๋น ๋ก๋ ์ ํ ๋ฒ, ๋ฐฐ๊ฒฝ์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ํ ๋ฒ(๋งค์ฐ ๋๋ฌธ ๊ฒฝ์ฐ). DEFINE๋ ์์ ์ ์ํํฉ๋๋ค.
๋ด ๊ด์ฌ์ฌ๋ ๋ํ ์ฑ๋ฅ์ ๊ดํ ๊ฒ์ ๋๋ค ... ์ฝ 10ms๊ฐ ๊ฑธ๋ฆฝ๋๋ค.
์ฑ์์ ์ผ๋ง๋ ์์ฃผ ์ด ์์ ์ ์ํํฉ๋๊น?
๋ณ๋ก. ํด๋ผ์ด์ธํธ๋น ๋ก๋ ์ ํ ๋ฒ, ๋ฐฐ๊ฒฝ์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ํ ๋ฒ(๋งค์ฐ ๋๋ฌธ ๊ฒฝ์ฐ).
์ฃ์กํฉ๋๋ค. ๋๋ ๊ทธ ๋ ผ๋ฆฌ๋ฅผ ๋ฐ๋ฅด์ง ์์ต๋๋ค.
๋ถํํ๋ @WestLangley ๋ ๋ฐํ์ ์ค๋ฒํค๋(๋ณด์ถฉ mat3 ๊ณฑ์
) ๋๋ฌธ์ CubeTexture.rotation์ ๋ํ ์์ ์ฌํญ์ ๋ณํฉํ๊ณ ์ถ์ง ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ threejs์์ ๊น๋ํ๊ฒ ํด๊ฒฐํ ์์ด๋์ด๊ฐ ๋ถ์กฑํฉ๋๋ค.
threejs ๊ธฐ์ฌ์๊ฐ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ๋ชปํ๋ฉด ์ด ๋ฌธ์ ๋ฅผ ๋ซ์ผ์ญ์์ค.
์ด ๊ธฐ๋ฅ์ ๊ตฌํ์ ๊ธฐ๋ค๋ฆฝ๋๋ค.
@FishOrBear ๋ถํํ๋ threejs
์ ์ง ๊ด๋ฆฌ์๋ ์ด๊ฒ์ ๊ตฌํํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด ๋ณํฉ๋์ง ์์ ํจ์น๋ฅผ ํ๋ก์ ํธ์ ํฌํจํ๋ ค๋ฉด ํฌํฌ์ ์ ์ฉํ ์ ์์ต๋๋ค.
@mrdoob #18157์์ ์ด ๊ธฐ๋ฅ ์์ฒญ์ ์ฌ๊ณ ํ ์ ์์๊น์?
AutoCAD์ ์ ์ฌํ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ ์ํด threejs๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฏ๋ก xy๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ฉด์ ์์ต๋๋ค.
ํ์ฌ CubeTexture๋ ์ฐ๋ฆฌ ๊ฒ๊ณผ ์ฝ๊ฐ ์ถฉ๋ํฉ๋๋ค.
BTW: Babylon.js๋ฅผ ์ฌ์ฉํ๋ฉด ์ต์ํ y์ถ์ ์ค์ฌ์ผ๋ก ์ค์นด์ด๋ฐ์ค๋ฅผ ํ์ ํ ์ ์์ต๋๋ค.
https://www.babylonjs-playground.com/#UU7RQ #447
์์ง์ ํ๋๊ทธ๋จผํธ ์ ฐ์ด๋์์ ๋ฐ์ฌ ๋ฒกํฐ๋ฅผ ๋ณํํ์ฌ ์ด๋ฅผ ์ง์ํฉ๋๋ค. ๊ทธ๋์ ์ ํํ #16507์์ ํ์ฉ๋์ง ์์ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค. Babylon.js ์กฐ๊ฐ ์ ฐ์ด๋์ ์ฝ๋:
@mrdoob ์ด ๊ธฐ๋ฅ์ ๊ตฌํํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ํฌ๋ผ์ ๋ ๋ค๋ฅธ ์์ฒญ์ด ์์ต๋๋ค.
https://discourse.threejs.org/t/rotate-a-scenes-background-skybox-texture/12199
์กฐ๊ฐ๋น ๋จ์ผ ์ถ๊ฐ ํ๋ ฌ/๋ฒกํฐ ๊ณฑ์ ์ด ์ฑ๋ฅ์ ๋์ ๋๊ฒ ์ํฅ์ ๋ฏธ์น ์ง ์์ฌ๋ฉ๋๋ค.
๋ด ์ฑ์๋ ์ฌ์ ํ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ผ๋ฉฐ, ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ํดํน์ ์ถ์ ํ๊ณ ๋น์ฉ์ด ๋ง์ด ๋ญ๋๋ค... ๋ํ ์ด ๊ฐ์ ์ฌํญ์ ์๋ฝํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ ๋ ์ด ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
์ฐจ๋จ๊ธฐ๋ ์ ์ฌ์ ์ธ ์ฑ๋ฅ ์ ํ์ธ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ํ ์คํธํ๊ธฐ ์ฌ์์ผ ํฉ๋๋ค. ์ถ๊ฐ๋ฅผ ์๋ํ ์ ์์ผ๋ฉฐ ์์ฉํ ์ ์๋ ์ฑ๋ฅ ์ ํ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ค์ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์์๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ด ๋ฐฐ๊ฒฝ ๋ ๋๋ง์ ๋ค์ ๊ตฌํํ๋ ๋์ ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. :)
์ฑ๋ฅ ๋ฌธ์ ์ ๋ํด ํ์ ์ด ์์ง ์์ต๋๋ค. ์ ์ ์
ฐ์ด๋์์ ์ง์ ๊ด์ ๋ฐฉํฅ์ ์์ฑํ๋ ๊ฒ์ ๋ฐฉํดํ๋ ๊ฒ์ ์์ต๋๊น? ๊ทธ๋ฌ๋ฉด ๋ค๋ฅธ modelMatrix
๋ณํ๋งํผ ๋น์ฉ์ด ๋ญ๋๋ค.
์ ๊ฒฝ์ฐ์๋ ์นด๋ฉ๋ผ๋ก ์บก์ฒํ์ฌ ์ฌ์ฉ์๊ฐ ์ ๋ก๋ํ ํ๋ธ๋งต์ ๋ ๋๋งํ๊ธฐ ๋๋ฌธ์ ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ์ง์ ๋ฐฉํฅ์ด ํญ์ ์ฌ๋ฐ๋ฅธ ๊ฒ์ ์๋๋ฏ๋ก ์ ๋ก๋ ํ ์๋์ผ๋ก ์์ ํด์ผ ํฉ๋๋ค.
๋ด๊ฐ ์ด ์์ ์ ์ํํ ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ํ์ ์ ๋ณ์๋ก ์ ์ฅํ๊ณ ๋ ๋๋ง ์ง์ ์ฅ๋ฉด์ ์ ์ฉํ ๋ค์ ๋ ๋๋ง ์งํ ์ฅ๋ฉด์ ํ์ ์ ID quat๋ก ์ฌ์ค์ ํ๋ ๊ฒ์ ๋๋ค.
์ด๋ก ์ธํด ๋ชจ๋ ์ฅ๋ฉด ๊ฐ์ฒด์ ์ธ๊ณ ํ๋ ฌ์ด ๋ ๋ฒ ๋ถํ์ํ๊ฒ ์ ๋ฐ์ดํธ๋ฉ๋๋ค. ๋ํ onBeforeRender์์ ์์น ์ ๋ฐ์ดํธ๋ฅผ ์ํํ ์ ์์์ ์๋ฏธํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฅ๋ฉด์ ์ ์์ ์ธ ์ํ๋ก ์ ์งํฉ๋๋ค.
Btw(์๋ฌด๋ ์ธ๊ธํ์ง ์์๊ธฐ ๋๋ฌธ์) 6๊ฐ์ ์ฌ๋ฃ ๋ฐฐ์ด์ ์ฌ์ฉํ์ฌ ํ์ ํ๋ "๊ณ ์ ์ ์ธ" ์ค์นด์ด๋ฐ์ค๋ฅผ ๋ง๋๋ ๊ฒ์ด ๊ฐ๋ฅํ ๊ฒ ๊ฐ์ต๋๋ค.
์ด ๊ฐ์ :
const urls = [
'/assets/skybox/right.png',
'/assets/skybox/left.png',
'/assets/skybox/top.png',
'/assets/skybox/bottom.png',
'/assets/skybox/front.png',
'/assets/skybox/back.png',
];
const materials = urls.map((url) => {
const texture = new THREE.TextureLoader().load(url);
return new THREE.MeshBasicMaterial({
map: texture,
side: THREE.BackSide,
fog: false,
depthWrite: false,
});
});
const skybox = new THREE.Mesh( new THREE.BoxBufferGeometry(10000, 10000, 10000), materials );
scene.add(skybox);
skybox.rotation.y = Math.PI / 2;
์ฌ๊ธฐ์ ์ค๋ช ๋ ๋๋ก: https://woodenraft.games/demos/skybox-rotation-threejs.html
@wmcmurray ์ ๋๋ก ์๋ํ๋ ค๋ฉด ์ด ์ค์นด์ด๋ฐ์ค๋ฅผ ์นด๋ฉ๋ผ์ ํจ๊ป ์์ง์ฌ์ผ ํ๊ณ ์์ ํฌ๊ธฐ๊ฐ X < Math.sqrt(0.75 * camera.far * camera.far)์ธ์ง ํ์ธํด์ผ ํฉ๋๋ค. ํญ์ ๋ณด๊ธฐ์ ๋ง์ง๋ง ์ฅ๋ฉด์ ํ์ /ํ์ ํด์ ํ๋ ํดํน๋ณด๋ค ๋ ์ฌ์ ๋ณด์ ๋๋ค.
์ด๋ฅผ ์ํด PR์ ๋ค์ ์ด์ด์ผ ํฉ๋๊น? ๋ ๊ฐ์ง ์ฌ์ฉ ์ฌ๋ก๊ฐ ์์ผ๋ฉฐ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น์ง ์์ผ๋ ค๋ฉด ์ ฐ์ด๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฌ์ฉ ์ฌ๋ก 1 ์ ์ฌ์ฉ์๊ฐ ํ๋ ฌ ๊ณฑ์ ์ ์ํฅ์ ๋ฐ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ํ๋๊ทธ๋ฅผ ๊ฐ๋จํ ์ถ๊ฐํ ์ ์์ต๋๋ค.
renderer.dynamicBackground = true;
๊ทธ์ ๋ฐ๋ผ ๋ฐฐ๊ฒฝ ์ ฐ์ด๋๋ฅผ ์ปดํ์ผํ์๊ฒ ์ต๋๊น?
@wmcmurray ์ @capnmidnight๊ฐ ์ง์ ํ๋ฏ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์์ ์ ๋ฐฐ๊ฒฝ ๋ ๋๋ง์ ๋ค์ ์ฝ๋ฉํ ์ ์์ผ๋ฉฐ ๊ทธ๋ ๊ฒ ์ด๋ ต์ง ์์ต๋๋ค. ๋ณด๊ธฐ ํ๋ฉด(๊ทผ๊ฑฐ๋ฆฌ ๋ฐ ์๊ฑฐ๋ฆฌ ๊ฐ)์ ํนํ ์ฃผ์ํ์ญ์์ค.
MeshBasicMaterial
๋ฅผ ์ฌ์ฉํ๋ ๋์ ShaderMaterial
ํ์ฅํ๋ ์์ฒด ์
ฐ์ด๋๋ฅผ ์ง์ ์์ฑํ๊ณ ํ๋ธ๋งต์ ์ํ๋งํ ์๋ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
scene.background
ํ์ ํ ์ ์๋ค๋ ๋ป์ธ๊ฐ์? ๊ทธ๋ ๋ค๋ฉด... ์, ํ์คํ ๊ด์ฌ์ด ์์ต๋๋ค.์๋ก์ด API๊ฐ ํ์ํ ์๋ ์์ง๋ง...