0
3D 모델을 제어하고 싶습니다. 모든 방향으로 움직이지만이 방법은 모르겠습니다. 아무 생각 없니?XNA에서 3D 모델을 이동하는 방법?
3D 모델을 제어하고 싶습니다. 모든 방향으로 움직이지만이 방법은 모르겠습니다. 아무 생각 없니?XNA에서 3D 모델을 이동하는 방법?
효과는 모델의 세계 변형을 제공하기 만하면됩니다. 당신의 업데이트 방법에서
Matrix World = Matrix.CreateWorld(position, forward, up);
당신은 위치를 수정할 수 있습니다
LastPosition = Position;
if (IsKeyDonw(Left) Position -= Vector3.UnitX * Speed * ElapsedTime; ForwardDirty = true;
if (IsKeyDonw(Right) Position += Vector3.UnitX * Speed * ElapsedTime; ForwardDirty = true;
if (IsKeyDonw(Up) Position -= Vector3.UnitZ * Speed * ElapsedTime; ForwardDirty = true;
if (IsKeyDonw(Down) Position += Vector3.UnitZ * Speed * ElapsedTime; ForwardDirty = true;
// the forward is the direction where will point your model.
if (ForwardDirty) {
Forward = Position - LastPosition;
Forward.Normalize();
ForwardDirty = false;
}
또한 앞으로 벡터의 움직임을 기반으로, 또는 현재에 마지막 기대를 보간 각도 변화를 원활하게 할 수 있습니다 ...
+1 :'ForwardDirty' 플래그를 설정하고 버튼 누름의'if' 문 안에서'Forward Vector3'을 조정하는 것조차 신경 쓰지 않을 것입니다. –
입력 키를 처리하여 모델의 x/y/z 위치를 변경하십시오. – thedaian
왼쪽이나 오른쪽으로 돌리고 싶으면 어떻게 처리해야합니까? – beanhorstmann
누구나 간단한 데모 게임을 만들고 우주선 (3D)을 그릴 수 있으며 키보드를 사용하여 제어 할 수 있습니다. 왼쪽 또는 오른쪽으로 돌리면 왼쪽이나 오른쪽으로, 위쪽으로 이동하려면 화살표로, 아래로 이동하려면 아래로 화살표를 움직입니다. 도와주세요! – beanhorstmann