응애맘마조
맵 안에서 캐릭터 움직이기 본문
map.obj 파일을 출력하고 그 안에서 캐릭터가 움직이는 모습과 맵 밖으로 나갈 경우 나가지 못하게 만드는 것이 과제였습니다.
if (Util::RayIntersectTri(*deadRay, map_floor->Find("Rectangle19"), deadPoint))
{
currentPos = dead->GetWorldPos();
if (INPUT->KeyPress(VK_UP))
{
dead->MoveWorldPos(-dead->GetForward() * 10.0f * DELTA);
}
if (INPUT->KeyPress(VK_DOWN))
{
dead->MoveWorldPos(dead->GetForward() * 10.0f * DELTA);
}
if (INPUT->KeyPress(VK_LEFT))
{
dead->rotation.y -= PI * 3 * DELTA;
dead->MoveWorldPos(-dead->GetRight() * 10.0f * DELTA);
}
if (INPUT->KeyPress(VK_RIGHT))
{
dead->rotation.y += PI * 3 * DELTA;
dead->MoveWorldPos(dead->GetRight() * 10.0f * DELTA);
}
dead->SetWorldPosY(deadPoint.y + 7.0f);
}
else
{
dead->SetWorldPos(currentPos);
}
캐릭터 머리 위에서 레이를 발사하면서 그 레이가 바닥까지 닿을 때까지의 거리가 캐릭터상 발의 좌표가 됩니다.
실행 영상입니다.
읽어주셔서 감사합니다.
'공부 > 3D과제' 카테고리의 다른 글
SIMD (0) | 2023.06.19 |
---|---|
맵 안에서 캐릭터 움직이기2 (0) | 2023.06.15 |
맵 매핑 (0) | 2023.06.13 |
박스와 맵 출력하기 (0) | 2023.06.11 |
Ambient, Diffuse, Specular (0) | 2023.06.07 |
Comments