애니메이션 -> 에임 오프셋 생성 AO_Rifle로 이름 지정. 블렌드스페이스와 창의 거의 똑같다. 그리드 설정하고 애니메이션을 넣어보면, 일단 안들어가는 애니메이션들이 좀 있을거다. Addictive를 넣는게 기본인데(?) Addictive애니메이션이 아니기 때문이다. 아래는 공식문서를 참고해서 Addictive 메시 스페이스 애니메이션으로 변환하는 방법이다. 애디티브 세팅 -> 메시 스페이스 베이스 포즈 타입 _> Seleted animation frame레퍼런스 프레임 인덱스 -> 0 이렇게 메시스페이스로 하면 상체의움직임에 본체가 과하게 꺾이는것을 막아준다(?) 공식문서 참고 그렇게 공식문서대로 설정하면, 해당 애니메이션이 매시 스페이스 Addictive가 되는것이다. 똑같은 속..
UMG & Widget Reflector💡UMG는 화면에 그려지는 UI를 만드는 시스템입니다. 위젯 블루프린트를 만들면 디자이너 탭에서 텍스트·이미지·버튼·프로그레스 바 같은 부품을 배치하고, 그래프 탭에서 로직을 붙입니다.배치한 부품 중 그래프에서 이름으로 접근하고 싶은 것은 따로 “변수 여부” 표시를 해줘야 목록에 나타납니다.UMG 기본 이벤트 개념 [ 이 부분은 교수님이 노션에 올려줄거임. 피격이벤트시 콜라이더생성 후 캐릭터가 콜라이더에 맞을 경우에만 피격으로 변경] Recieve Notify 노드 ->Mesh comp에 우클릭해서 핀 분할을 누르면 더 많은 옵션을 볼 수 있다. -> 해당 타이밍에 딱 한번만 충돌체크하게 하려고 지금은 Start 와 End를 같은시간으로 두고, Radiu..
델리게이트 (p.410)함수 포인터 활용. 코드의 유연성 & 종속성을 제거하는데 유용.3종류의 델리게이트DECLARE_DELEGATE하나의 함수만 등록p.416 함수포인터 연결하는 방식DECLARE_MULTICAST_DELEGATE한개가 아니라 여러개의 함수를 등록 DECLARE_DYNAMIC_DELEGATEDECLARE_DYNAMIC_MULTICAST_DELEGATE블루프린트 호환용 함수 포인터한개 or 여러개 등록바인딩 연결할 함수는 무조건 UFUNCTION() 필요사용하는 부분이 TwoParam인데 매개변수에 들어가는건 4개라 헷갈리는데, 이건 블루프린트를 생각하면 쉽다.타입과, 지정해줄(노드에서 핀 된) 값 각각 하나씩 넣어주면 된다=> Dynamic인 경우에는 매개변수의 변수 이름까지도 지정해 ..
주의 사항p. 289. 애니메이션 블루프린트를 C++에서 할당할 때, 경로 복사 (Ctrl + Shift + C) 하고 붙여넣는다./Game/MyGame/Blueprints/Enemy/ABP_Enemy.**ABP_Enemy_C**이때, 제일 마지막에 _C 를 반드시 붙여야한다. 언리얼 규칙이다.p. 307. AttackEnd 노티파이를 애니메이션 완전 끝 쪽에 배치하지 말고, 약간 앞쪽에 배치하자.너무 끝에 배치하면, 호출이 안될 수도 있다. 적 애니메이션 공격과 공격 대기는 확확바뀌는상태이다. 끊긴것처럼. 오른쪽 블렌드세팅에서 경과시간을 조절하면된다. 기본은0.2s로 되어있는데 이 뜻은 0,2초동안 Attack과 AttackDelay의 모션이 섞인애니메이션을 재생한다는것이다. 현재 이런 현상이 있는..
https://cerulean-cloudberry-2ab.notion.site/3a5d34f3778d80bca9b4c85b6be22e70애니메이션 클래스는 클래스 자체를 사용하기 때문에 특이하게 언리얼 명명규칙이 _C가 마지막에 붙는다. 애니메이터가 움직임을 확인하면서 작업하고 싶어서, 캐릭터가 실제로 움직이는 애니메이션이 있다. 이걸 끄고 싶다면 루트모션을 끄면 된다. 피직스 에셋. 우리가 피직스를 배운적은 없다. 스켈레탈 개념과 좀 다르다. 피격판정이라고 할 때 헤드샷이 잘 터지게 하고싶다면, 충돌체 모양을 키우면된다. 콘텐츠 드로어에 우클릭 -> 애니메이션 -> 블렌드 스페이스 (모션들을 적당히 섞어주는것) 이렇게 구성하고 ABP_Rifle에 추가해서 보자. 문제가 있다.특정시점에 발이 호..
UENUM(BlueprintType)enum class EEnemyState : uint8{ Idle, Move, Attack, Damage, Die}; UEnum 매크로 이용하여언리얼엔진에서 EEnemyState 라는 새로운 열거형 타입이 만들어진 것을 알려주고, BluePrint인자를 할당하여 블루프린트에서도 사용할 수 있도록한다. 상태는5개이기에 uint8. 열거형은 접두어 E를 붙여주어야한다. #include "EnemyFSM.h"#include "../Player/TPSPlayer.h"#include 맵에 존재하는 특정 타입의 클래스 찾는법? => GetActorofClass() UGameplayStatics의 유틸리티 클래스의 GetActorofClas..
Bullet 클래스를 액터상속받아만들고 물리기능을 제공하는 UProjectileMovementComponent 컴포넌트 추가. UProjectileMovementComponent(투사체 이동 컴포넌트)는 총알, 미사일, 대포알, 마법 구체처럼 일정한 속도로 날아가며 중력이나 반사 등의 연출을 처리하는 액터용 이동 컴포넌트입니다. 주요 특징 및 핵심 기능직접 이동 코드 작성 필요 없음: Tick 함수에서 위치를 직접 $P = P + V \times dt$ 형태로 계산하지 않아도, 컴포넌트가 속도(InitialSpeed, MaxSpeed)에 따라 자동으로 위치를 업데이트합니다.유도 및 바운스 연출:bShouldBounce = true: 벽이나 장애물에 부딪혔을 때 튕겨 나가는 연출을 쉽게 설정할 수 있습니..