가져온 개체의 벡터를 만드는 데 시간을 보냈습니다. 플레이어 컨트롤을 완료하고 빌보드를 추가 할 수 있습니다. 이것은 MeshLoader 클래스와 OBJLoader 클래스를 사용하여 객체에로드 할 GameObject 클래스가 설정된 대학 프로젝트를위한 것입니다. 현재 .GetWorld()를 사용하고 있습니다. 그것은 나에게 세계의 객체의 데이터를 제공하는 XMFLOAT4X4를 반환합니다. 그런 다음 XMLoadFloat4X4를 사용하여 XMMATRIX로 변환 한 다음 해당 행렬의 데이터 행을 각 XMVECTOR로 가져옵니다. 나는 이것들을 시험해 보았고 그들이 올바른 순서에 있다고 믿지만 전진 키를 눌렀을 때 움직이지 않는 내 성격의 문제를 여전히 가지고있다. 나는 내가 완전히 잘못한 일을하고 있는지, 아니면 내가 방금 놓친 것을 놓친 지 궁금해했다.포워드 벡터를 따라 이동하고 가져온 모델 - DirectX11 C++
else if (GetAsyncKeyState(VK_UP))
{
XMFLOAT4X4 currrentWorld = _zaz.GetWorld();
XMMATRIX currentWorldM = XMLoadFloat4x4(&currrentWorld);
XMVECTOR scale = currentWorldM.r[1];
XMVECTOR rotation = currentWorldM.r[2];
XMVECTOR translation = currentWorldM.r[3];
XMVECTOR forward = currentWorldM.r[4];
forward = XMVector3Normalize(forward);
translation = XMVectorAdd(translation, forward);
newWorld = XMMATRIX(scale, rotation, translation, forward);
_zaz.SetWorld(&newWorld);
_zaz.UpdateWorld();
}
다른 문제는 "_zaz.UpdateWorld(); 업데이트시 모든 키보드 컨트롤을 확인하더라도 내 업데이트 방법에서만 작동하는 것 같습니다.
void GameObject::UpdateWorld()
{
XMMATRIX scale = XMLoadFloat4x4(&_scale);
XMMATRIX rotate = XMLoadFloat4x4(&_rotate);
XMMATRIX translate = XMLoadFloat4x4(&_translate);
XMStoreFloat4x4(&_world, scale * rotate * translate);
}
void GameObject::SetWorld(XMMATRIX* world)
{
XMStoreFloat4x4(&_world, *world);
}
확실히 값을 읽는 중입니다. 위의 코드를 실행해야하는 "위로"키를 누를 때 게임이 중단됩니다. 모든 값이 설정됩니다. 자동차가 현재 회전하고 있습니다. 차를 약간 회전시킨 다음 게임을 중단하면 회전 및 앞으로 벡터가 변경됩니다. 어느 것이 좋을까요? 당신이 어떤 아이디어가있는 경우
는 대규모 도움이 될 것이다.
내 게임 오브젝트가에 의존하는 XMFLOAT4X4의 및 XMMATRIX의로, 쉽게 할 수 있던 카메라 데이터에 대한 XMFLOAT4 년대를 사용else if (GetAsyncKeyState(VK_CONTROL))
{
XMFLOAT4 position = _cameraFree.GetEye();
XMFLOAT4 direction = _cameraFree.GetForward();
position.x -= (direction.x * 0.05f);
position.y -= (direction.y * 0.05f);
position.z -= (direction.z * 0.05f);
_cameraFree.SetEye(position);
_cameraFree.CalculateViewProjection();
}
지금까지 불가능했던 :
나는 그것과 유사 할 것이라고 가정 일하기 위해서. 제가 도움을 줄 수있는 정보가 더 있다면, 제발 말하십시오!희망이 도움을 드리겠습니다.
나는 _zaz가 장면 주위를 돌아 다니고 싶은 GameObject라는 것을 잊어 버렸다. –
'UpdateWorld'에서'_world' 변수를 덮어 쓰지 않습니까? 'SetWorld'를 통해 설정된 것을 완전히 무시하고 "처음부터"재 계산하고 있습니까? – UnholySheep
글쎄 그게 나 혼란 스러워요, UpdateWorld는 각각 –