2
有没有办法沿不同平面旋转对象?我正在制作一个太阳系的3D模型,我想让冥王星在与其他行星不同的平面上围绕太阳旋转。我目前拥有前8个绕xz平面围绕太阳旋转的行星(围绕y轴旋转)。有没有一种简单的方法来做到这一点,而不需要进入复杂的数学?这就是我实现了我的其他行星,DirectX沿不同平面旋转
D3DXMATRIX marsMat;
D3DXMATRIX marsScale;
D3DXMATRIX marsTrans;
D3DXMATRIX marsAxisRot;
D3DXMATRIX marsRot;
D3DXMatrixScaling(&marsScale,0.45,0.45,0.45);
D3DXMatrixRotationY(&marsAxisRot,D3DXToRadian((GetTickCount()-start)*0.07));
D3DXMatrixTranslation(&marsTrans,-17,0,0);
D3DXMatrixRotationY(&marsRot,D3DXToRadian((GetTickCount()-start)*0.007));
marsMat = marsScale * marsAxisRot * marsTrans * marsRot;
matrixStack->Push();
{
matrixStack->MultMatrixLocal(&marsMat);
d3ddev->SetTransform(D3DTS_WORLD,matrixStack->GetTop());
marsMesh->DrawSubset(0);
}
matrixStack->Pop();
干杯队友。奇迹般有效。 – lightnin2211 2010-09-16 17:39:32