본문 바로가기

언리얼C++게임개발/03.움직이는 액터의 제작

(3)          글쓰기    
[이득우 언리얼 C++] 프로젝트의 재구성 언리얼에서 액터생성은 쉽게 했지만 제거는 할수 없다. 제거를 위해서는 C++개발환경의 이해가 필요하다. 프로젝트 폴더를 보면서 체크된 폴더를 지워야한다. 먼저 프로젝트를 닫기전 레벨에서 Fountain관련 객체들을 지운다. Visual Studio에서 Source폴더내 Private, Public폴더내의 Fountain.h와 Fountain.cpp를 우클릭후 프로젝트에서 제외를 선택한다. 코드는 Source폴더내 Private, Public폴더내의 Fountain.h와 Fountain.cpp를 지워야 한다. 폴더안에 모든 파일및 폴더를 지우면 안된다. 이후 프로젝트 폴더의 ArenaBattle.uproject위를 우클릭해 솔루션파일을 생성해주면 된다. Arenabattle.uproject가 다시 생기면 ..
[이득우 언리얼 C++] 움직이는 액터의 설계 이번에는 렌더링 프레임 호출되는 액터의 Tick()함수를 이용해 액터의 움직임을 구현해본다. Tick()함수는 전 렌더링프레임과의 시간차를 DeltaTime에 담아 전달해준다. 구현시 사용하는 moveSpeed와 같은 변수들은 public:으로 사용하면 문제없지만 private:일 경우 컴파일 에러가 발생한다. 이를 피하기 위해 다음과 같이 Fountain.h에 선언해야한다. private: UPROPERTY(EditAnywhere, Category = Stat, Meta = (AllowPrivateAccess = true)) float RotateSpeed; Fountain.cpp Tick()에 AddActor~를 추가해 오브젝트를 돌게 해준다. 현재 회전값에 RotateSpeed*DeltaTime만큼..
[이득우 언리얼 C++] 로깅 환경의 설정 로깅 환경의 설정 출력 로그 윈도우 언리얼 엔진은 로그(Log) 환경을 위해 UE_LOG 라는 매크로를 제공하고 있다. 표준 카테고리를 사용하면 아무런 선언없이 사용할 수 있다. 그냥 표준을 쓰는걸 권장드린다. 괜히 커스텀 카테고리 만들라고 이런걸로 시간 없애지 말자. UE_LOG(카테고리, 로깅수준, 형식 문자열, 인자... ) Fountain.cpp BeginPlay()에 다음과 같이 로그를 넣으면 플레이시 콘솔에서 로그를 볼 수 있다. #include "Fountain.h" //DEFINE_LOG_CATEGORY(ArenaBattle); // Called when the game starts or when spawned void AFountain::BeginPlay() { Super::BeginPl..