본문 바로가기

전체 글330

5. UE LOG(문자열, int) UE_LOG란 프로그래머가 코드 실행 중에 언리얼 엔진에서 상태를 로깅하는 방법이다. void AShooterCharacter::BeginPlay() { Super::BeginPlay(); UE_LOG(LogTemp, Warning, TEXT("BeginPlay() called!")); int myInt = 42; UE_LOG(LogTemp, Warning, TEXT("int myInt: %d"), myInt); } - 이런 식으로 활용이 되며, Warning으로 LOG를 입력하자 아래와 같이 노란 색으로 로깅된다. - 포트폴리오 제작할 때에도 디버깅할 수 있는 콘솔 창이 있었으면 좋겠다고 생각했었는데, 콘솔 창을 띄워서 비슷한 기능을 구현해봐야겠다. 2023. 3. 24.
4. Character 만들기 이번 강의에서는 캐릭터 클래스를 만들고, 만든 캐릭터 클래스를 기반으로 Blueprint 클래스를 생성하는 실습을 했음 // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "GameFramework/Character.h" #include "ShooterCharacter.generated.h" UCLASS() class SHOOTER_API AShooterCharacter : public ACharacter { GENERATED_BODY() public: // Sets default values for this character's p.. 2023. 3. 23.
10. Trigger Callback & RigidBody 구현 Trigger Callback - Trigger Callback은 PhysX에서 물체끼리 충돌했을 때, 물리 작용이 일어나는 대신 알림만 보내는 용도로 사용한다. - 캐릭터의 경우 몬스터의 총탄이 맞고 날아가거나, 회전하는 등의 물리효과가 일어나는 일은 흔치 않기 때문에, 보통 이런 물리 시뮬레이션이 일어나서는 안된다. - PhysX에는 이런 기능을 지원하는데, Kinematic 객체의 경우 이런 물리 시뮬레이션에서 제외되는 대신, 키보드로 움직일 수 있다. - Kinematic 객체가 충돌이 발생했을 때, OnTriggerEnter 함수가 호출되도록 구현했다. (이 함수 내부에서는 타일과 충돌했는지를 확인하고, 캐릭터가 중력이 해제되고 속도를 0으로 만들어서 바닥에 서는 등의 작업을 수행한다) Rigi.. 2023. 3. 23.
3. 프로젝트 세팅 1. 에디터 & 기본 맵 설정 - 몇 가지 폴더 구조(Game, 다시 Game 내부 폴더에 Maps, Character, GameMode) 추가 - 현재 떠 있는 Level을 저장하고, 프로젝트 설정에서 이 맵을 기본 맵으로 설정 2. 게임 모드 - 게임 모드는 플레이어(사용자)가 게임을 Play할 때 빙의되는 Actor를 설정하거나 하는 등 게임 모드에 관한 것 - 아무것도 설정해주지 않으면 기본적으로 언리얼 엔진에 내장된 기본값으로 설정되고 마우스, WASD키로 카메라를 움직일 수 있다. - Shift + F1을 눌러서 마우스를 꺼내고 Eject를 누르면 빙의가 풀리고 내가 사실 카메라가 아닌 구(Sphere)이었다는 것을 확인할 수 있다. 3. 클래스 - 이제 GameMode에 Actor를 설정해주.. 2023. 3. 22.