BindAction("TargetSwitchLeft", IE_Pressed, CameraLockArm, &UTLSpringArmComponent::LockToSwitchTarget, EDirection::Left); 위와 같이 수정합니다. 4.26 버전부터 다음과 같이 작성하면 됩니다. BindAction("TargetSwitchLeft", IE_Pressed, CameraLockArm, &UTLSpringArmComponent::LockToSwitchTarget, EDirection::Left);
분류 전체보기
사용자 노출값으로 설정한 Static Mesh가 정상적으로 반영 되지 않아 점으로 출력됩니다. 위의 Mesh가 사용자 노출값으로 설정한 Static Mesh입니다. 이것을 PreviewMesh로 설정해보면 정상적으로 출력됩니다.
다른 타입의 변수들과 달리 오브젝트 타입의 변수는 변수 안에 값이 직접들어 있는 것이 아닌 실제 오브젝트를 참조(레퍼런스)하는 변수입니다. 그 중 오브젝트 레퍼런스는 오브젝트를 참조하는 변수, 클래스 레퍼런스는 클래스를 참조하는 변수라고 생각하면 됩니다. 블루프린트에서 함수를 사용할 경우 오브젝트 레퍼런스를 인자로 받는 함수는 오브젝트 레퍼런스로 선언된 변수를 받아야 하지만 클래스 레퍼런스를 인자로 받는 함수는 위의 사진과 같이 클래스를 지정하여 사용할 수 있습니다. void AddWeaponToInventory(class APCEWeaponBase* Weapon); 평소에 포인터로 인자를 받는 오브젝트 레퍼런스를 사용하는 함수의 경우 위와 같이 작성하지만 클래스 레퍼런스의 경우 다음과 같이 작성합니다...
▣ 헤더에서 특정 클래스를 포인터 / 레퍼런스 / 함수 파라미터 / 리턴 값으로만 사용합니다. - 이 클래스 변수의 메모리 크기를 구체적으로 알 필요가 없습니다. - 포인터가 아닌 해당 타입을 직접 포함하는 경우 해당 선언부를 직접 include 해야 합니다. ▣ inline / 템플릿 함수에서 이 클래스 내부 함수 / 변수를 호출하지 않습니다. - 이 클래스 내부 함수 / 변수의 기호에 접근할 일이 없습니다. enum 클래스는 크기를 명시해준다면 헤더에서 include를 제거할 수 있습니다. ex) enum class ESample : uint8;
FTimerHandle GravityTimerHandle; float GravityTime; GetWorld()->GetTimerManager().SetTimer(GravityTimerHandle, FTimerDelegate::CreateLambda([&]() { // 코드 구현 // TimerHandle 초기화 GetWorld()->GetTimerManager().ClearTimer(GravityTimerHandle); }), GravityTime, false);// 반복하려면 false를 true로 변경 블루프린터의 Delay노트처럼 일정시간이 지난 후 다음 코드를 실행하는 방법을 C++로 구현하려고 찾아보다가 발견해서 메모합니다.
기반 블루프린트 클래스를 생성(블루프린트로 상속)할 수 있는 최고 단위는 Actor이다.
Interface 함수를 C++에서 구현할 때 해당 함수를 C++에서만 사용하는 방법과 블루프린트에서도 사용하는 방법 2가지로 만들 수 있다. C++ 에서만 사용할 경우 // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreEngine.h" #include "UObject/Interface.h" #include "Interface_Character.generated.h" UINTERFACE(MinimalAPI) class UInterface_Character : public UInterface { GENERATED_BODY() }; class PROJECTCE_API I..