전체 글 116

[졸작] 기능구현리포트_3회차

1. 아이템박스 제작 : 캐릭터와 overlap시 캐릭터에 무기 장착(소켓 활용), 이팩트 재생 후 Destroy. 무기클래스 제작 2. CSV파일 불러오기 : 캐릭터 스탯정보 엑셀에 저장 후 그에 맞게 구조체 선언, DataTable이용해 불러오기. 3. 캐릭터 스탯 제작 : 캐릭터에 부착해 레벨에 따라 자동으로 스탯이 상승하도록 하기. 4. UI와 스탯 연동하여 HP바 제작.

[UE4] 이펙트 구현하기

구현방법 1. MyBox Actor에 ParticleComponent 추가. 2. 원하는 Effect Asset을 ParticleComponent의 템플릿으로 지정한다. 3. ParticleComponent에서 제공하는 OnSystemFinished 델리게이트에 멤버 함수를 하나 연결해 이펙트 재생이 종료되면 아이템 상자가 제거되도록 하기. 4. Effect가 재생될 때는 액터의 Collision 기능 제거, 박스 스태틱메시도 액터가 제거될 때까지 안보이게 설정. Effect = CreateDefaultSubobject(TEXT("EFFECT")); Effect->SetupAttachment(RootComponent); //파티클 에셋 불러온 후 적용 static ConstructorHelpers::FO..

UE4 2022.11.11
[UE4] 아이템 상자 제작

콜리전 설정 ItemBox라는 이름으로 오브젝트 체널을 하나 생성한 후 프리셋도 하나 생성해서 기본 반응은 무시, MyCharacter와의 콜리전 반응만 겹침으로 설정해준다. 캐릭터의 ItemBox에도 마찬가지로 겹침 반응을 설정해야 한다. (콜리전 켜짐 메뉴의 값은 Query Only로 지정하고 오브젝트 유형은 ItemBox로 지정해준다. ) 델리게이트 언리얼에서 제공하는 BoxComponent에는 Overlap Event를 처리할 수 있게 OnComponentBeginOverlap이라는 이름의 멀티캐스트 다이내믹 델리게이트가 선언되어 있다. 유형과 인자를 모두 복사해 매크로 설정과 동일한 멤버 함수를 선언하고 이를 해당 델리게이트에 바인딩한다. 그럼 위에서 설정한 겹침(Overlap)이벤트가 발생할 ..

UE4 2022.11.11
[UE4] 무기 액터 제작

무기 액터 생성 새로운 C++클래스 추가> Actor클래스 하나 만들기 -> 스켈레탈 메쉬를 담을 변수를 헤더에 하나 선언 후 코드에서 스켈레탈 메쉬 불러와서 액터에 적용시켜주기. AMyWeapon::AMyWeapon() { // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. PrimaryActorTick.bCanEverTick = false; //무기 오브젝트 만들고 애셋 적용하기 Weapon = CreateDefaultSubobject(TEXT("WEAPON")); RootComponent = Weapon; static ConstructorHelpers..

UE4 2022.11.09
[UE4] 캐릭터 에셋에 붙어있는 무기제거

보통의 경우 캐릭터 스켈레탈 메쉬를 프로젝트에 임포트하면 무기는 붙어있지 않은 것이 일반적이다. 하지만 특히 언리얼의 혜자 무료에셋인 Paragon 시리즈의 캐릭터에셋들을 보면 스켈레탈 메쉬에 무기가 함께 붙어있는 것을 확인할 수 있다. 아마 캐릭터 애니메이션에 무기 애니메이션도 함께 연결하고 싶어서 묶지 않았을까 싶지만 지금 내가 만드는 게임의 경우 무기를 유동적으로 교체하기 위해 기본으로 달려있는 무기를 떼어야 한다. 내가 붙여넣고 싶은 무기가 저 커다란 기본 무기에 가려져있다. 어서 없애버리자. 제거법 사실 구글링을 열심히 해보고 아는 지식으로 여러가지 시도도 해봤지만 칼자체를 깔끔하게 캐릭터에서 떼어낼 방법은 찾지 못했다. 사실 어찌보면 당연한게 캐릭터와 '한 몸'인 상태로도 볼 수 있기에 만약 ..

UE4 2022.11.08