Ammo 클래스를 이용하여 탄 제작.
staticmesh를 돌면서 충돌체크 하는 건 보단
간단한 박스충돌체로 만들어서, 연산을 줄일려고 만듬
AKAmmo::AKAmmo()
{
PrimaryActorTick.bCanEverTick = false;
Mesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Mesh"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> AmmoMesh(
TEXT("StaticMesh'/Game/Ammo_and_bullets_Pack/Meshes/SM_9mmGaugeBullet_01.SM_9mmGaugeBullet_01'"));
if (AmmoMesh.Succeeded()) {
Mesh->SetStaticMesh(AmmoMesh.Object);
}
BoxComponent = CreateDefaultSubobject<UBoxComponent>(TEXT("BoxCollision"));
RootComponent = Mesh;
Mesh->SetRelativeRotation(FRotator(0.0f, -270.0f, 0.0f));
BoxComponent->SetupAttachment(Mesh);
BoxComponent->SetRelativeLocation(FVector(1.4f,0,0));
BoxComponent->SetWorldScale3D(FVector(0.05f, 0.02f, 0.02f));
}
Character 에서
OnFire(), OnReload() 함수를 만들고 바인딩을 함
그리고 들고 있는 무기 포인터를 사용해서
Wep->Fire()
Wep->Reload()
을 사용하게 될 예정
◎ Fire 액션 시
-현재 탄 감소
-Fire몽타주 재생
- 노티파이를 추가하여 공격 텀을 줄 예정(?)
-> 애니메이션 몽타주에 노티파이를 설정하여 몽타주가 끝날시, bool값을 true 를 줌.
다른 방법으로는 공격 툴타임을 설정해서 사용할 수 있음
- 탄에 lifetime 또는 거리 제한을 두어서 삭제해야 할거 같음
※ 디버깅을 위해서 탄 속도를 낮추고, 스케일을 많이 키움
◎ Reload 액션 시
-현재 탄 = (무기에 따른)최대탄
-Relad몽타주 재생
좀더 조정한 후 영상
탄 크기는 그대로, 속도를 올림.
이펙트 리소스 찾고, 사격 이펙트 추가 예정
'Unreal > Game 2 ' 카테고리의 다른 글
7.2 발사 사운드 및 cue / wav (0) | 2019.06.21 |
---|---|
7.1 발사 이펙트 + 사운드 cue,wav (0) | 2019.06.21 |
6. 무기 생성 및 소켓 장착 (0) | 2019.06.19 |
5.1 T Pose -> A Pose 변환 [MCO Mocap] (0) | 2019.06.18 |
5. 점프 애니메이션 (0) | 2019.06.18 |