[Unreal] 이득우의 언리얼 C++ 게임개발의 정석 3
·
Game Programming/Unreal
FRotator - FRotator는 회전 값을 지정하는 데이터며 Pitch, Yaw, Roll의 요소가 있다. - Pitch : Y축 회전, Yaw : Z축 회전, Roll : X축 회전 플레이어 - 플레이어가 조종할 수 있는 액터를 폰이라고 한다. - 폰과 플레이어 컨트롤러가 생성되는 시점은 각 액터의 PostInitializeComponents 함수로 파악 - 빙의를 진행하는 시점은 플레이어 컨트롤러의 OnPossess, 폰의 PossessedBy 함수로 파악 ConstructorHelpers::FClassFinder BP_PAWN_C(TEXT("Blueprint'/Game/Player/BP_CPlayer.BP_CPlayer_C'")); - 언리얼 엔진에서 애셋의 클래스 정보는 애셋 경로에 _C 접..
[Unreal] 이득우의 언리얼 C++ 게임개발의 정석 2
·
Game Programming/Unreal
애셋의 지정 - C++ 코드에서 해당 애셋을 가져오려면 애셋의 고유한 키 값으로 경로 값을 사용한다. - 해당 애셋에서 우클릭 후 레퍼런스 복사를 하거나 애셋을 선택한 후 Ctrl+C 를 하여 레퍼런스를 가져올 수 있다. ConstructorHelpers::FObjectFinder name(TEXT("StaticMesh'/Game/Soldier/Mesh/Weapon/SM_Pistol.SM_Pistol'")); UStaticMeshComponent* Body; Body = CreateDefaultSubobject(TEXT("Body")); if (name.Succeeded()) { Body->SetStaticMesh(name.Object); } - 내용이 길어서 엔터로 줄을 내려준 모습. - name부분은..
[Unreal] 이득우의 언리얼 C++ 게임개발의 정석 1
·
Game Programming/Unreal
액터의 설계 UPROPERTY - 언리얼 오프젝트 객체에서는 사용시에 자동으로 메모리를 관리해줌. 클래스 이름 접두사 - 액터 클래스에는 A, UObject의 클래스는 U가 붙는다. UCLASS() class TEST_API AFountain : public AActor { GENERATED_BODY() public: AFountain(); protected: virtual void BeginPlay() override; UPROERTY(VisibleAnywhere) UStaticMeshComponent *Body; UPROERTY(VisibleAnywhere) UStaticMeshComponent *Water; }; - 헤더의 클래스부분에서 Body와 Water를 선언해준다. AFountain::AFo..
fps 각 방향별 다리 방향 애니메이션
·
Game Programming/Unreal
1. 우선 앞이나 뒤로 가는 애니메이션을 익스포트 해준다. 2. 익스포트한 파일을 임포트 해준다. 3. 적용시킬 스켈레톤을 선택하고 이전에 해당 애니메이션에서 root본을 직접 움직여서 몇 도로 움직여야 하는지 계산한 각도를 대입해준다. 4. 머터리얼이나 피직스, 스켈레톤은 삭제하고 anim만 남긴다. 이 생성된 애니메이션으로 하체나 상체의 애니메이션으로 사용하고 블랜딩하면 다각도에서 사용 가능한 에임무브가 완성된다. https://youtu.be/EV7wEPqxgIo
캐릭터의 회전
·
Game Programming/Unreal
캐릭터 회전 이동 방향에 따라 그에 맞게 캐릭터가 회전하게 하려면 Character Movement (Rotation Settings) 컴포넌트에서 Orient Rotation to Move 를 체크해준다. 캐릭터가 이동하고 있는 방향쪽으로 자동으로 회전하게끔 한다. Pawn 컴포넌트에서 Use Controller Rotation Yaw을 체크 해제해준다. 1번에서 이동 방향에 맞게 회전하게끔 하더라도 여기에 체크가 되어 있으면 Pawn에서 회전을 막게 된다. 하게되면 캐릭터가 카메라 방향을 기준으로 좌우상하로 움직일 수 있게된다. 그래도 해결이 되지 않는다면 camera에서 Use Pawn Control Rotation이 true인지 확인한다. 출처 ansohxxn.github.io/ue4%20less..
Unreal 문자열의 추가
·
Game Programming/Unreal
void AC01_Property::BeginPlay() { Super::BeginPlay(); FString strl; strl.Append("A :"); strl.Append(FString::FromInt(A)); strl.Append(", "); } Append는 변수에 문자열을 +=같이 추가해준다. FString::FromInt()는 int를 문자열로 바꾸어 준다.