전체 글 169

230905 애니메이션, 리로드 노티파이 / 파티클 이펙트 / Effect_Base

애니메이션 알림(Animation Notification) 걷거나 달리는 애니메이션에서의 발소리와 같은 사운드나 파티클 스폰 및 기타 유형 https://docs.unrealengine.com/5.0/ko/animation-notifies-in-unreal-engine/ 애니메이션 노티파이 애니메이션 노티파이를 사용하여 애니메이션 시퀀스에 동기화된 이벤트를 전송하고 수신합니다. docs.unrealengine.com 파티클 이펙트 파티클 이펙트(Particle Effect) 노티파이는 루프가 돌지 않는 파티클 시스템을 스폰하고 재생하는 데 사용됩니다. // AniNotify_ + 노티파이 이름 으로 함수명을 구성할 것, UFUNCTION() 매크로 반드시 붙일 것 UFUNCTION() void AnimN..

언리얼 5 2023.09.09

230904

계속 빌드하다보면, 연결해놨던 것들이 (ex. Move, Rotation 등)깨진다 이런 점을 개선하기 위해, 정보도 하나의 에셋(리소스화시킴)으로서 활용되게 한다. 사용할 액션의 종류들을 묶어서 에셋화 global.h #pragma once // 자주 사용하는 헤더 배치 #include "EngineMinimal.h" #include "enum.h" #include "struct.h" enum.h #pragma once // 게임 개발에 필요한 enum 값 정리 // 언리얼에서 사용하는 규칙이 있음 // enum은 앞에다 E, 구조체는 F, action으로 만들어진것은 A 를 붙여야한다 // 액션 하나에 이넘 타입 하나씩 대응 UENUM(BlueprintType) enum class EInputActi..

언리얼 5 2023.09.04

230901

AnimInstance_Base 클래스 생성 CDO 블루프린트로 구현한 것을 다시 C++ 로 구현한 애니메이션 void UAnimInstance_Base::NativeUpdateAnimation(float _fDeltaTime) { // 속도가져와서 속력값 구하기 if (!IsValid(Character) || !IsValid(Movement)) return; // 속력 체크 MoveSpeed = Movement->Velocity.Size2D(); // 조건 체크 if (0.f GetCurrentAcceleration().IsZero()) { IsMove = true; } else IsMove = false; // 캐릭터의 월드회전의 역행렬을 속도 벡터에 적용..

언리얼 5 2023.09.01

230831 애니메이션 스테이트 머신 / 지금까지 한거 블루프린트 대신 c++ 로 작업해보기

애니메이션 스테이트 머신 캐시포즈 => 결과물을 받아놓고 사용 why? 점프 => 지면에 닿아있는지 아닌지 Move를 이용해서 구현 자연스러우려면 점프할 때, 점프하는 동작에 맞춰서 모션이 (웅크렸다가 착지하는?) 나와주어야한다. * 애니메이션 모션 합치기 추락 => 점프와 다르게 블랜드 세팅 ( 애니메이션 모드 전환 ) 모드 -> cubic 경과 시간 -> 0.6 착지 가만히 있거나 걷다가 갑자기 추락하는 경우 => 점프 모션이 나오면 안되고 바로 추락하는 모션이 나와야해서 따로 트랜지션을 만들어준다. * 위처럼 만들었더니 점프를 했는데 바로 추락하는 애니메이션이 나옴 해결방안 -> 디테일의 트랜지션에서 우선순위를 만들어줌 점프모션이 나오다가 갑자기 착지가 될 때도 있다 => 바로 착지 모션이 나와야함..

언리얼 5 2023.08.31

Unreal Input System

1. 사용자가 하드웨어 ( 키보드, 마우스, 패드 등 ) 을 동작 시킨다. 2. 사용자가 Input 과 Data 를 Mapping 한다. 3. Input Component 가 제일 먼저 Input 처리가 가능한 Actor 를 확인한다. 4. 그 다음 Player Controller 확인한다 5. Level BluePrint 확인 6. Player 가 빙의한 Pawn 확인 7. 위의 3 ~ 6 과정을 통해 처리된 Input 을 게임 로직에 반영한다. 입력을 어디서 처리할 것인가 ? Player Input 값은 크게 4가지 과정에서 처리가 가능하다. 1. Input 처리가 가능한 Actor 2. PlayerController 3. Level BluePrint 4. Player 가 빙의한 Pawn 4번으로 처..

언리얼 5 연습 2023.08.30

C++ 에서 Character_Base 클래스 설명

1. 헤더파일 #include "CoreMinimal.h" => 언리얼 오브젝트가 동작할 수 있는 최소한의 기능만이 선언된 헤더파일 (ex. 기본적인 타입, 연산) #include "EngineMinimal.h" => 언리얼 오브젝트의 다영한 엔진 클래스 선언을 모아둔 공용 헤더 2. UPROPERTY => 멤버 변수 ( 또는 프로퍼티 ) 앞에서 기술되며 UPROPERTY 내의 프로퍼티 지정자를 나열함으로써, 해당 프로퍼티가 엔진과 에디터의 다양한 부분과 상호작용할 수 있게끔 한다. UPROPERTY 의 역할 => 언리얼 리플렉션 시스템에 해당 프로퍼티가 있음을 알린다. => UPROPERTY 매크로가 기술되지 않은 멤버 변수는 언리얼 리플렉션에 노출되지 않으며, 리플렉션 시스템이 제공하는 것을 사용할 ..

언리얼 5 연습 2023.08.30

Enhanced Input ( 언리얼 5.1 부터 기본 설정으로 바뀜 )

Enhanced Input 은 언리얼 엔진에서 구 Input 을 대체하기 위해 나온 새로운 Input System 이다. Enhanced Input ? ( 향상된 입력 ) 언리얼 엔진 5 에서 런타임 리맵핑, 복잡한 입력 처리 ( 동시 입력 ) 등 향상된 입력 기능을 제공하는 플러그인 이다. 1. Input Action 2. Input Mapping Context 3. Modifier 4. Trigger 위 4가지 특성을 가진다. Input Action ( 입력 액션 ) -> 액션이 할당되는 부분 Input Action 에서는 특정 키가 연결되지 않고, 역할에 대한 정보만을 구성하게 된다. 입력받는 정보는 bool, float, Vector 2D, Vector 3D 를 받을 수 있고, 어떤 입력값을 받을..

언리얼 5 연습 2023.08.30

230830 회전 블루프린트 / 애니메이션

1. 카메라 회전 블루프린트 2. 애니메이션 (ABP_Player) mesh - static mesh 애니메이션 정보가 없는 보정된 매쉬 ex ) 큐브 - skeletal mesh 뼈대정보를 저장하면서 skeletal mesh - Skelted Mesh - Animation Instance ( 애니메이션 블루프린트 ) ==> 게임을 실행하면 actor 가 생성되고 capsule 을 상속... 만들어질 때 initialize 애니메이션 블루프린트 애님 그래프 애니메이션 루프를 선택해주어야 계속 진행된다 이벤트 그래프 결과 영상 속도 => 속력 => BS_Move 생성 애니메이션->블랜드 스페이스 => 애니메이션 시퀀스를 조합해서 내놓는 것 초록색으로 뜨는건 애니메이션 시퀀스이고, 끌어올 수 있다. 현재 속..

언리얼 5 2023.08.30

230829 캐릭터 이동 및 카메라 회전

ACharacter_Base 의 부모 클래스가 ACharacter인데 Super로 type 재정의를 한 것이다. (generate_body 에 정의되어 있다.) #include "EngineMinimal.h" => 자주 사용할 것 같은 기능들, component 를 묶어놓은 헤더 class UNREAL_3TH_API ACharacter_Base : public ACharacter { private: UPROPERTY(EditAnywhere, Category = "Component") UCameraComponent*m_Cam; UPROPERTY(EditAnywhere, Category = "Component") USpringArmComponent*m_Arm; UPROPERTY(EditAnywhere, Ca..

언리얼 5 2023.08.29

230828 언리얼 엔진 5.1.1 시작

1. 언리얼 엔진 간단 키보드 단축 Ctrl+Space => 언리얼5 컨텐츠 브라우저 창 열기 투시도 [Alt + G] 정면도 [Alt + H] 평면도 [Alt + J] 측면도 [Alt + K] End => Q => 오브젝트 선택 모드 W => 선택한 액터를 이동 모드 E => 선택한 액터를 특정 각도로 회전 R => 특정 방향으로 크기를 조 이동 모드에서 Alt 누르면 => 액터 복제 가능 https://blog.naver.com/whaqlwnl0/223044172300 언리얼 단축키 생각 안날 때 마다 들어와서 찾아보려고 적는 글 중간중간 계속 추가할 예정 뷰 포트 관련 메시 바닥에 딱 ... blog.naver.com https://www.mkcgi.net/2022/12/urealshortcuts...

언리얼 5 2023.08.28