작성
·
150
0
안녕하세요
밤이 가는줄도 모르고 재밌게 듣고 있습니다.
애들한테 도미노를 예쁘게 만들어서 보여주려고 공부하고 있는데요..
도미노를 원형으로 배치하고 싶은데.. 그러려면 도미노가 뒤에 놈이 될수록 y축 기준으로 회전을 해야할거같습니다.
info.gltfLoader.load(
'/models/domino.glb',
glb => {
this.modelMesh = glb.scene.children[0];
this.modelMesh.name = ${this.index}번 도미노
;
this.modelMesh.castShadow = true;
this.modelMesh.position.set(this.x, this.y, this.z);
this.modelMesh.rotation.y = MathUtils.degToRad(5) * this.index <==추가함
this.scene.add(this.modelMesh);
this.setCannonBody();
}
);
이렇게 했는데 회전이 안됩니다.. 뭔가 다른 원인이 있을까요?
그리고 도미노가 쓰러지는것을 쫓아가서 봐야하는데.. 가장 적합한게 flycontrols같아서 사용해보니 이놈은 좌우로 고개를 돌리는 기능은 없는건가요? orbitcontrols도 쫓아가기가 너무 힘들고... 적당한 컨트롤이 없을까요?
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
도미노를 원형으로 배치하고 싶으신데, 회전이 안된다고 하셨네요. 코드를 보면서 몇 가지 추측을 해보았는데, 혹시 해당 코드가 원래 작성된 위치나 방향에서 회전을 하고 있는지 확인해보세요. 만약 그렇다면, 회전이 “안된다”는게 아니라 회전을 시켜도 현재 방향에서 더 돌아가지 않는 것입니다. 위 코드에서는 도미노의 회전을 y축에서만 하고 있는데, x, z축도 함께 설정해보세요.
또한 flycontrols는 고개를 돌리는 기능은 없고, orbitcontrols는 도미노를 쫓아가기에는 부적합하다고 하셨네요. 적합한 컨트롤러로는 Three.js 내장 컨트롤러인 TrackballControls나 PointerLockControls를 사용해보세요. 또는 직접 제작을 해보시는 것도 좋은 방법입니다.
도움이 되었길 바랄게요!