๋๋์ด ๋ถ์ผ์์ ์์ฃผ ์๋กญ๋ค. ๊ทธ๋์ ๊ทธ๊ฒ์ด ์ด๋ฆฌ์์ ์ง๋ฌธ์ด๋ผ๋ฉด ๋ณ๋ช ํ๋ผ.
๋ด ๋ฌธ์ :
ํ๋ฆฌ์ฆ์ ๋ง๋ค๊ณ ์ถ์ต๋๋ค (ํด๋ฆฌ๊ณค์ 24 ๊ฐ์ ํ๋ฉด์ผ๋ก ๊ตฌ์ฑ๋จ). ๊ทธ๋์ ์ ๋ 24 ๊ฐ์ ํ๋ฉด์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๊ทธ๋ค ๋ชจ๋๋ ์๋ก 15 ยฐ ๊ฐ๋๋ก ๊ทธ๋ฃนํ๋์ด ์์ต๋๋ค. x์ z ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ ๋ณต์กํ๊ธฐ ๋๋ฌธ์ ์๋ฅผ ๋ค์ด ์ค๋ฅธ์ชฝ ํ๋จ์ ํผ๋ฒ ํฌ์ธํธ๋ฅผ ์ค์ ํ๋ฉด ๋ ์ฌ์ธ๊น์? ๊ถ๋ฆฌ? ํ์ง๋ง ์ด๋ป๊ฒ? ์๋๋ฉด ํ๋ฉด์ผ๋ก ๊ตฌ์ฑ๋ ์์ ๋ง๋ค ์์๋ ๋ ๋ค๋ฅธ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๊น?
๋ด ํ์ฐฎ์ ์์ด ์ค๋ ฅ์ ์ฃ์กํ๋ค๋ ๋ง์์ ๋๋ฆฌ๊ณ ์ถ์ต๋๋ค :-/
๋ ๊ฐ์ง ์ต์ ์ด ์์ต๋๋ค.
์ง์ค๋ฉํธ๋ฆฌ์ ๋ชจ๋ ์ ์ ์คํ์ :
geometry.applyMatrix( new THREE.Matrix4().setTranslation( 0, 10, 0 ) );
ํผ๋ฒ ์ญํ ์ ํ ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค.
mesh.position.y = 10;
var pivot = new THREE.Object3D();
pivot.add( mesh );
scene.add( pivot );
์ด ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฅ๋จ์ ์ด ์์ต๋๊น?
geometry.applyMatrix (new THREE.Matrix4 (). setTranslation (0, 10, 0));
์ง๊ธ
geometry.applyMatrix (new THREE.Matrix4 (). makeTranslation (0, 10, 0));
https://github.com/mrdoob/three.js/commit/7f05ba167c522d1b9bac01677c2249b0f1b8c834
applyMatrix makeTranslation ์ผ์ด ์ ๊ฒฝ์ฐ์๋ ์๋ํ์ง ์์ต๋๋ค. ์ด์ ๋ฅผ ๋ชจ๋ฆ
๋๋ค.
ํผ๋ฒ ๊ฐ์ฒด๊ฐ ์๋ํฉ๋๋ค. IMHO๊ฐ ๋ ์ฝ์ต๋๋ค.
๋
ธํธ:
์ด๊ฒ์ ์ฌ์ฉํ์ญ์์ค
mesh.position.x = ###;
mesh.position.y = ###;
mesh.position.z = ###;
๋์ ์:
mesh.position.set(###,###,###);
๊ฐ์ฌํฉ๋๋ค @placegraphichere , ๋์์ด๋์์ต๋๋ค.
์๋ฅผ ๋ค์ด ์ํ๋ค๋ฉด ์ด์ ๊ฐ์ ๊ฒ์ด three.js v78์์๋ ์ ์๋ํฉ๋๋ค. ์ค์ฌ์ด ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๊ฐ์ฒด ๊ฐ์ฅ์๋ฆฌ๋ฅผ ์ค์ฌ์ผ๋ก ํ์ ํฉ๋๋ค.
.js
mesh.geometry.translate( -myObjectWidth/2, 0, 0 );
๊ทธ๋ฌ๋ geometry.translate()
๋ฅผ ์ฌ์ฉํ๋ฉด ๋ชจ๋ ์ ์ ์ ์์น๊ฐ ์์ ๋ฉ๋๋ค. ๋์ค์ ํผ๋ฒ์ ๋ค์ ๋ณ๊ฒฝํ ๊ณํ์ด์๋ ํ ์ข์ ์๋ฃจ์
์
๋๋ค.
๋ฉ์ (3d ์์ ์ปจํ ์ด๋) ์์ ์ ์ค์์์ ์ผ์ชฝ ํ๋จ ๋ชจ์๋ฆฌ๋ก ๋ณํํ๊ณ ์ถ์ต๋๋ค. ๋ฐ๋ผ์ ์ปจํ ์ด๋ ๋ฉ์ฌ ์์ ๋ค๋ฅธ ์์ ๋ฉ์ฌ ์์๋ฅผ ์ถ๊ฐ ํ ๋ ์ค์์ ๋ฐฐ์นํ๋ ๋์ ์ผ์ชฝ ํ๋จ ๋ชจ์๋ฆฌ์ ๋ฐฐ์นํด์ผํฉ๋๋ค.
mesh.geometry.translate (-myObjectWidth / 2, 0, 0);
์ด๊ฒ์ ์ฌ์ฉํ ๋ ๋ฉ์ฌ ์์น๋ ๋ณ๊ฒฝ๋ฉ๋๋ค.
@imguccho ์ ๋ฐ, ํฌ๋ผ ์ ์ฌ์ฉํ์ฌ ๋์์ ๋ฐ์ผ์ธ์ .
ArrowHelper์ ํฌ์ธํธ๋ฅผ ์ด๋ป๊ฒ ๋ฒ์ญ ํ ์ ์์ต๋๊น?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ ๊ฐ์ง ์ต์ ์ด ์์ต๋๋ค.
์ง์ค๋ฉํธ๋ฆฌ์ ๋ชจ๋ ์ ์ ์คํ์ :
ํผ๋ฒ ์ญํ ์ ํ ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค.