ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Item Falling State
    Game Programming/언리얼 2023. 10. 17. 17:13

    아이템이 떨어지는 상태를 만들었다.


    PA_HeavyMachineGun 물리 에셋

    물리객체가 없다면 Add Shape에서 Add Box로 물리객체를 추가하면 된다.


    Item.cpp

    SetItemProperties에서 EIS_Falling 상태에 대한 물리정보 변경을 추가했다.

    	case EItemState::EIS_Falling:
    		ItemMesh->SetSimulatePhysics(true);
    		ItemMesh->SetEnableGravity(true);
    		ItemMesh->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);
    		ItemMesh->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Ignore);
    		ItemMesh->SetCollisionResponseToChannel(
    			ECollisionChannel::ECC_WorldStatic,
    			ECollisionResponse::ECR_Block);
    		// Set AreaSphere properties
    		AreaSphere->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Ignore);
    		AreaSphere->SetCollisionEnabled(ECollisionEnabled::NoCollision);
    		// Set CollisionBox properties
    		CollisionBox->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Ignore);
    		CollisionBox->SetCollisionEnabled(ECollisionEnabled::NoCollision);
    		break;

    월드의 정적 배경 엑터와 충돌이 발생하도록 설정했다.

    		ItemMesh->SetCollisionResponseToChannel(
    			ECollisionChannel::ECC_WorldStatic,
    			ECollisionResponse::ECR_Block);

    나머지 충돌 정보는 비활성화했다.

    		// Set AreaSphere properties
    		AreaSphere->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Ignore);
    		AreaSphere->SetCollisionEnabled(ECollisionEnabled::NoCollision);
    		// Set CollisionBox properties
    		CollisionBox->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Ignore);
    		CollisionBox->SetCollisionEnabled(ECollisionEnabled::NoCollision);

    평소 WorldStatic과 WorldDynamic에 대해 궁금했는데, 이득우를 찾아보니 아래와 같이 나왔다.

    WorldStatic 움직이지 않는 정적인 배경 엑터에 사용하는 콜리전 채널
    WorldDynamic 움직이는 엑터에 사용하는 콜리전 채널. 블루프린트에 속한 스태틱메시 컴포넌트에 사용한다.
    Pawn 플레이어가 조종하는 물체에 주로 사용한다. 케릭터의 충돌을 담당하는 캡슐 컴포넌트에 설정된다.
    Visibility 배경 물체가 시각적으로 보이는지 탐지하는데 사용한다. 탐지에서 폰은 제외된다. 마우스로 물체를 선택하는 피킹기능을 구현할 때 사용한다.
    Camera 카메라 설정을 위해 카메라와 목표물 간에 장애물이 있는지 탐지하는데 사용한다.
    PhysicsBody 물리 시뮬레이션으로 움직이는 컴포넌트에 설정한다.

     

    'Game Programming > 언리얼' 카테고리의 다른 글

    무기 교체  (0) 2023.10.18
    무기 버리는 물리효과 추가  (1) 2023.10.18
    무기 버리기  (1) 2023.10.17
    아이템 Enum값 추가  (0) 2023.10.17
    무기 생성  (1) 2023.10.17
Designed by Tistory.