목록분류 전체보기 (194)
초보 코린이의 성장 일지
https://www.youtube.com/watch?v=SCFVZBeTX0E 진행 중인 작업 - Boss Map 수정 - 카메라 처리 - 시네마틱 - Player, Enemy, Boss UI - Skill CoolTime 예외처리 진행 예정 작업 - 움직임 보간 및 디테일 작업 - Boss Map - 시네마틱 - Player, Enemy, Boss UI 진행 완료 작업 - 각성 Gauge 증가 및 초기화 - 각성 상태에서 게이지 증가 못하도록 예외처리 - 각성 상태 후 일정시간 지나면 원래에 무기로 전환 - Skill UI 작업 - Skill CoolTime 연결
마지막 무기인 Fist를 추가해 볼 것이다. 구조가 짜여져 있기 때문에 추가하는데 그리 많은 작업이 소요되지 않는다. 1. Sword를 복사해서 Fist로 이름을 변경해준다. 1. 양손, 양발에 충돌체를 붙일것이므로, 위 사진처럼 Sphere를 4개 추가해준다. 1. 무기나 무언가를 장착시키거나 몸에 붙일때는 AttachActorToComponent를 주로 쓰곤 한다. 2. Owner과 Mesh 2개는 고정적으로 필요하고, 이제 소켓이름이 필요한데 이를 C++에서 처리해 줄 것이다. 중요한 부분이 하나 있다. AttachActorToComponent가 BP에서는 Attach할 어떠한 객체를 여러개 지정하면, 앞에서부터 순차적으로 들어가서 잘 붙게된다. 하지만 C++에서는 for문을 돌려서 여러가지 객체를..
Hit시 이펙트가 나오도록 만들어 볼 것이다. 더보기 #pragma once #include "CoreMinimal.h" #include "UObject/NoExportTypes.h" #include "CWeaponStructures.generated.h" USTRUCT() struct FDoActionData // 액션 구조체 { GENERATED_BODY() public: // 에디터에서 세팅은 해야하므로, EditAnywhere. UPROPERTY(EditAnywhere) class UAnimMontage* Montage; UPROPERTY(EditAnywhere) float PlayRate = 1; UPROPERTY(EditAnywhere) bool bCanMove = true; UPROPERTY..
Enemy를 타격했을시 색이 변경되는 것과 알맞은 Hit 동작이 나오도록 만들어 볼 것이다. 더보기 #pragma once #include "CoreMinimal.h" #include "UObject/NoExportTypes.h" #include "CWeaponStructures.generated.h" USTRUCT() struct FHitData // 액션 구조체 { GENERATED_BODY() public: // 에디터에서 세팅은 해야하므로, EditAnywhere. UPROPERTY(EditAnywhere) class UAnimMontage* Montage; UPROPERTY(EditAnywhere) float PlayRate = 1; UPROPERTY(EditAnywhere) float Powe..
한번만 공격되는 상태이므로, 다시 예외처리를 해주고 콤보 동작을 만들어 보겠다. 더보기 #pragma once #include "CoreMinimal.h" #include "Animation/AnimNotifies/AnimNotify.h" #include "CAnimNotify_BeginAction.generated.h" UCLASS() class U2212_06_API UCAnimNotify_BeginAction : public UAnimNotify { GENERATED_BODY() public: FString GetNotifyName_Implementation() const override; void Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBa..
무기 장착 모션만 나올뿐 아직은 무기를 들지 못한다 노티파이를 적용시키지도 않았으며, 특정한 명령을 제대로 내려주지 못한 상태이다. 그래서 이 두가지 기능을 만들어 무기를 뽑아볼 것이다. 더보기 #include "CoreMinimal.h" #include "UObject/NoExportTypes.h" #include "Weapons/CWeaponStructures.h" #include "CEquipment.generated.h" // 델리게이트 이벤트 DECLARE_DYNAMIC_MULTICAST_DELEGATE(FEquipmentBeginEquip); DECLARE_DYNAMIC_MULTICAST_DELEGATE(FEquipmentUnequip); UCLASS() class U2212_06_API UC..
https://www.youtube.com/watch?v=Zwn4xUfvlJI 진행 중인 작업 - Boss Map 수정 - 카메라 처리 - 시네마틱 - Player, Enemy, Boss UI 진행 예정 작업 - 움직임 보간 및 디테일 작업 - Boss Map - 시네마틱 - Player, Enemy, Boss UI 진행 완료 작업 - IK 적용 - Player, Enemy, Boss Health Bar 적용 - 각성 게이지 - 보스존에 입장시 HP Bar가 등장하도록 설정
무기를 캐릭터에 붙이는 작업을 진행해 보겠다. 더보기 #pragma once #include "CoreMinimal.h" #include "Components/ActorComponent.h" #include "CWeaponComponent.generated.h" // 무기 타입 UENUM(BlueprintType) enum class EWeaponType : uint8 { Fist, Sword, Hammer, Warp, Around, Bow, Max, }; DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FWeaponTypeChanged, EWeaponType, InPrevType, EWeaponType, InNewType); UCLASS( ClassGroup=(Custo..
https://www.youtube.com/watch?v=ibRwGMEKFKc 진행 중인 작업 - Boss Map 수정 - IK 구조 옮기기 - 카메라 처리 - 시네마틱 진행 예정 작업 - 움직임 보간 및 디테일 작업 - Boss Map - 시네마틱 진행 완료 작업 - Enemy Hp Bar - 파쿠르 옮기기
빽스탭 모션을 만들어서 동작이 되지만, 한번밖에 실행되지 않을 것이다. 이유는 Notify가 있지 않기 때문 그래서 하나를 생성해 줄 것이다. 1. 사용할 끝을 나타내는 노티파이 생성. 더보기 #pragma once #include "CoreMinimal.h" #include "Animation/AnimNotifies/AnimNotify.h" #include "Components/CStateComponent.h" #include "CAnimNotify_EndState.generated.h" UCLASS() class U2212_06_API UCAnimNotify_EndState : public UAnimNotify { GENERATED_BODY() private: UPROPERTY(EditAnywhere..