|
float GetHeightBelow(float XPos, float YPos, float ZPos)
{
BOOL Hit;
float u, v, Dist;
DWORD FaceIndex;
D3DXVECTOR3 vecPos;
vecPos=D3DXVECTOR3(XPos,YPos,ZPos);
D3DXIntersect(cl->map->m_pMesh,
&vecPos,&D3DXVECTOR3(0.0f, -1.0f, 0.0f),
&Hit, &FaceIndex, &u, &v, &Dist, NULL, NULL);
if(Hit == TRUE)
return YPos-Dist;
return YPos;
}
我这样写了一个获取检测的地形的坐标的函数,但是进行的碰撞很不准确,我把算出的地形Y值赋值给人物,但是很乱,一会儿高一会儿低的。 请问,有达人知道是真么回事吗?在线等 |
|