응애맘마조

맵 안에서 캐릭터 움직이기 본문

공부/3D과제

맵 안에서 캐릭터 움직이기

TH.Wert 2023. 6. 13. 23:39

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