이득우의 언리얼 C++ 게임 개발의 정석
ABWeapon이라는 새로운 액터 클래스를 만든다.
클래스를 새로 생성할 때 헤더 파일에서 CoreMinimal.h을 ArenaBattle.h로 바꿔주는 걸 잊지 말자.
BlackKnight 검 Skeletal Mesh 에셋을 저장할 컴포넌트 변수를 선언한다.
Skeletal Mesh 컴포넌트에 BlackKnight 검 에셋을 지정하고 루트 컴포넌트로 설정한다.
- 공격 판정은 캐릭터에서 SweepSingleByChannel() 함수를 통해 하고 있으므로 충돌 프리셋을 NoCollision으로 설정한다.
검 액터는 매 프레임마다 처리할 것이 없으므로 Tick을 꺼서 성능 향상을 도모한다.
캐릭터 클래스에서 컴포넌트로 검을 붙이던 부분을 주석 처리한다.
ABWeapon.h 헤더를 추가한다.
액터가 게임에 참여할 때 호출되는 BeginPlay에서 ABWeapon 액터를 스폰한다.
- GetWorld()->SpawnActor<AActor>() 함수를 이용해 액터를 월드에 스폰시킬 수 있다.
생성된 액터(의 루트 컴포넌트)를 AActor->AttachToComponent() 함수를 이용해 첫 번째 인자 컴포넌트의 자식으로 만들고 소켓에 붙인다.
Skeletal Mesh 컴포넌트로 만들어 붙였을 때와 보이는 것은 같지만, 컴포넌트가 아닌 월드에 스폰한 액터로 생성해 붙였다.
'Unreal Engine > 이득우의 언리얼 C++ 게임 개발의 정석' 카테고리의 다른 글
아이템 상자로 무기 획득 (0) | 2023.03.10 |
---|---|
아이템 상자 구현 (0) | 2023.03.09 |
소켓에 무기 장착 (0) | 2023.03.09 |
데미지 프레임워크 (0) | 2023.03.09 |
디버그 드로잉 (0) | 2023.03.09 |