아래 내용들은 제가 학습한 정보를 추후에도 사용하기 위해 기록한 내용입니다.


[113. Pawn Class Creation]

  • Actor
     월드에 배치 가능
     시각적 표현 가능
  • Pawn
     Actor를 상속
     플레이어 또는 AI에 의해 제어
     입력을 받을 수 있음
  • Character
     Pawn을 상속
     캐릭터의 움직임, 행동과 같은 특정 속성을 가짐

[114. Components]

  • USceneComponent
     Transform을 가짐
     Attachment 지원
     시각적 표현 없음
  • UCapsuleComponent
     USceneComponent에서 파생
     충돌 처리
  • UStaticMeshComponent
     USceneComponent에서 파생
     시각적 표현 지원

RootComponent

RootComponent는 월드에서 위치를 결정하고 충돌을 탐지하는 컴포넌트여야함

[115. Forward Declaration]

불필요한 include를 줄여 파일 크기가 작아짐 > 컴파일 속도 향상

.cpp 파일에서는 헤더 파일을 include 해주어야함

[135. Spawn Projectile]

 

UClass에는 C++과 블루프린트 간 리플렉션을 가능하게 하는 함수가 내장

 

 

  • UClass* : 생성되는 객체의 실제 타입
  • FVector : 객체의 생성 위치
  • FRotator : 생성 시 객체의 회전

 

 

액터 스폰하기

게임플레이 코드에서 Actor 의 새 인스턴스, AActor 를 생성하는 메서드에 대해 설명합니다.

docs.unrealengine.com

[137. Hit Events]

 

UStaticMeshComponent간 충돌 발생 시 타격을 입은 컴포넌트를 포함한 해당 출돌에 대한 데이터를 생성

 

 

FHitResult

Structure containing information about one hit of a trace, such as point of impact and surface normal at that point.

docs.unrealengine.com

 

 

멀티캐스트 델리게이트

  • 여러 함수를 바인딩하고 바인딩된 모든 함수들을 동시에 실행시킬 수 있는 델리게이트
  • 함수가 멀티캐스트 델리게이트에 바인딩되면 Invocation List라는 곳에 추가되고 무슨 일이 생길 시 브로드캐스트를 보내고 이에 응답에 바인딩된 모든 함수가 동시에 실행

 

 

멀티캐스트 델리게이트

여러 함수에 바인딩시켜 동시에 실행시킬수 있는 델리게이트 입니다.

docs.unrealengine.com

'개인 공부 > Unreal Engine 5' 카테고리의 다른 글

[UE 5/C++] Section3  (0) 2024.01.22
[UE 5/C++] Section2  (0) 2024.01.13
[UE 5/C++] Section1 #2  (0) 2024.01.13
[UE 5/C++] Section1 #1  (0) 2024.01.12
[UE 5/C++] 강좌 소개 및 설치  (0) 2024.01.11

아래 내용들은 제가 학습한 정보를 추후에도 사용하기 위해 기록한 내용입니다.


[이번 섹션에서 배울 것]

  • 포인터와 참조
  • 액터 컴포넌트와 씬 컴포넌트
  • 헤더 파일
  • 루멘으로 빛 표현
  • 모듈식 레벨 디자인
  • 라인 트레이싱과 콜리전
  • for 반복문과 배열
  • 블루프린트에서의 C++ 함수 호출

[71. Modular Level Design]

2D 게임의 타일배치처럼 모듈화된 아트 작업물들을 갖고 다양한 조합을 통해 새로운 환경(레벨)을 만들어내는 것

[74. Light Types]

포인트 라이트(Point Light): 모든 방향을 빛을 뿜듯이 작동하는 라이트

스포트 라이트(Spot Light): 한 지점에서 원뿔 모양으로 빛을 내는 라이트

렉트 라이트(Rect Light): 정의된 너비와 높이로 된 직사각 평면 모양으로 씬에 빛을 내는 라이트

디렉셔널 라이트(Directional Light): 무한히 먼 거리에 있는 광원에서 오는 빛을 흉내내는 것

스카이 라이트(Sky Light): 레벨의 먼 부분을 캡처하여 그 부분을 씬에 라이트로 적용하는 것

[75. Lumen]

UE 5부터 제공하는 완전 다이내믹 글로벌 일루미네이션 및 리플렉션 시스템이자, 디폴트 글로벌 일루미네이션 및 리플렉션 시스템

 

[85. Line Trace & Sweep]

Trace(트레이스)는 레벨을 뻗어나가며 직선상에 무엇이 존재하는지 확인할 수 있는 메서드를 제공.

두 (시작과 끝 위치) 지점을 제공해 주면, 피직스 시스템에서 그 두 점에 직선을 그으며 거기에 (콜리전으로) 걸리는 액터가 있는지 보고해 주는 식으로 사용.

 

트레이스 채널

유니티의 Layer와 유사

[86. GetWorld()]

UWorld:: GetWorld()

현재 실행 중인 월드를 불러옴

[88. Reference vs Pointer]

[95. DrawDebugSphere()]

파란색은 라인 트레이스가 벽과 닿은 지점이니 무시하자

셰이프 트레이스 시 FHitResult의 location값은 해당 구제체의 중심 좌표를 리턴 > 초록색 구체

ImpactPoint는 구체와 사물이 충돌이 발생한 지점의 좌표를 리턴 > 빨간색 구체

[97. Waking Physics Objects]

물리 시뮬레이션 컴포넌트는 성능상 이유로 일정 시간이 지날 시 슬립 상태에 들어감

> 깨워 줄 필요가 있음

[99. Overlap Event]

오브젝트 A와 B가 겹쳐지면 발생하는 이벤트. Generate Overlap Event가 True여야 발생.

[101. TArray]

언리얼 엔진의 배열

TArray<int32> IntArray;

'개인 공부 > Unreal Engine 5' 카테고리의 다른 글

[UE 5/C++] Section 4 #1  (0) 2024.03.14
[UE 5/C++] Section2  (0) 2024.01.13
[UE 5/C++] Section1 #2  (0) 2024.01.13
[UE 5/C++] Section1 #1  (0) 2024.01.12
[UE 5/C++] 강좌 소개 및 설치  (0) 2024.01.11

아래 내용들은 제가 학습한 정보를 추후에도 사용하기 위해 기록한 내용입니다.


 

[18. Project Setup]

여기서 프로젝트의 엔진 버전 변경 가능

[19. Compiling a C++ Project]

새로고침 후 열기

[20. UProperty]

UPROPERTY: 멤버 변수 앞에서 기술되며, UPROPERTY 내에 프로퍼티 지정자를 나열하여
해당 프로퍼티가 엔진과 에디터와 다양한 상호작용이 가능

[21. Live Coding Issue]

라이브 코딩은 에디터의 변경 사항에만 영향을 미치고 디스크에 영구적으로 저장하지는 않음.

▶ IDE에서 다시 컴파일하면 됨 또는 에디터 설정에서 라이브 코딩 False

[22. Begin Play]

게임 시작 또는 액터 스폰 시에 호출되는 이벤트

[23. Tick]

게임 루프(Game Loop): 입력을 수신하고, 게임 상태를 업데이트하고, 렌더링하는 사이클

Tick: 매 프레임마다 호출되는 이벤트

[24. DeltaTime]

각 프레임이 실행되는 데 걸리는 시간

[25. GameMode Class]

뷰포트에서 우클릭을 통해 플레이/테스트하려는 위치를 정할 수 있음

[26. FRotator]

AddActorLocalRotation을 사용하는 것을 권장

'개인 공부 > Unreal Engine 5' 카테고리의 다른 글

[UE 5/C++] Section 4 #1  (0) 2024.03.14
[UE 5/C++] Section3  (0) 2024.01.22
[UE 5/C++] Section1 #2  (0) 2024.01.13
[UE 5/C++] Section1 #1  (0) 2024.01.12
[UE 5/C++] 강좌 소개 및 설치  (0) 2024.01.11

아래 내용들은 제가 학습한 정보를 추후에도 사용하기 위해 기록한 내용입니다.


[14. Geometry Brushes(BSP)]

지오메트리 브러시를 통해 레벨에 공간을 채워 넣거나 파낼 수 있음

[15. Materials and Lighting]

DirectionalLight를 통해 빛의 방향 등을 바꿀 수 있음

[16. Actor Components]

다른 컴포넌트의 자식일 경우 위치가 부모의 위치에서 상대적으로 표현

[17. Pure Function]

사이드 이펙트(Side Effect): 함수에서 눈에 보이는 효과. 함수 외부의 상테를 변경하는 것.

순수 함수(Pure Function): 사이드 이펙트가 없는 함수. 함수의 입력만이 출력 결과에 영향을 줌.

아래 내용들은 제가 학습한 정보를 추후에도 사용하기 위해 기록한 내용입니다.


[4. Level Blueprint]

 

 

우클릭 시

[5. Blueprint Event Graph]

이벤트 그래프(Event Graph) - 블루프린트를 그릴 캔버스

 

BrginPlay 노드와 Print String 노드를 연결

 

[6. Physics Simulation]

 

[7. Objects and References]

레벨의 액터의 레퍼런스를 저장하는 노드 생성

 

레퍼런스를 통해 큐브를 찾고 큐브의 StaticMechComponent를 찾은 다음 특정 값을 리턴

 

[8. Adding an Impulse]

충격량(Impulse) = 질량(Mass) * 속도 변화(Velocity Change)

활성화 시 질량을 무시하고 가속도 적용

[9. Blueprint Classes and Instances]

클래스(Class): 일종의 틀(Templete)

인스턴스(Instance): 클래스에 소속된 객체(Object)

 

[10. Spawning Actors]

Spawn Actor from Class를 통해 블루프린트 클래스 생성 가능

[11. Pawns and Actor Location]

언리얼 엔진은 Player Start라는 액터의 위치에 Pawn을 생성

[12. Control rotation]

Pawn의 회전과 카메라 회전은 별개. Get Control Rotaion 노드를 통해 카메라 회전 값을 반영해 줄 방법은 있음

[13. Get Forward Vector]

Get Forward Vector 노드로 얻을 수 있는 벡터의 길이는 1.0

아래 내용들은 제가 학습한 정보를 추후에도 사용하기 위해 기록한 내용입니다.


 

[2. Navigating The Viewport]

 

중앙의 큰 화면이 뷰포트(Viewport)

 

우상단 세팅에서 엔진 퀄리티 옵션을 조정 가능

 

개인적으로 뷰포트 탐색은 마우스 우클릭으로 조작하는게 편한거 같다...

[3. Moving & Placing Actor]

 

액터(Actor) - 레벨에 배치할 수 있는 오브젝트. 2의 이미지에서 시각적으로 보이는 물체들 전반

아웃라이너(Outlienr) - 현재 레벨의 모든 액터를 나타내는 계층형 트리 뷰. 2의 이미지에서 우측 상단

 

 

툴 바의 위 버튼을 통해 빠르게 액터 추가 가능

 

 

W(이동), E(회전), R(스케일)을 선택하고 중앙의 기즈모를 통해 액터의 위치, 회전, 크기 등을 조절할 수 있다.

 

참고로 이동 기즈모를 조작해보면 뭔가 끊기는 느낌을 받을 수 있는데 그리드 스냅이 켜져있어서 그렇다.

그리드 스냅

 

Alt를 누르고 드래그하면 액터가 자동 복사된다.

[4. C++ & Blueprint]

블루프린트

 

블루프린트(Blueprint)? 언리얼 엔진의 비주얼 스크립팅 시스템

 

장점

수정이 빠름

초보자 친화적

기능을 찾기 쉬움

언리얼 전용

 

C++

 

장점

간결함

업계 표준 언어

매우 빠른 속도

언리얼의 모든 영역과 기능에 접근 가능

대형 프로젝트에 적합

 

▶ 블루프린트와 C++의 적절한 병행 사용을 통해 두 언어의 장점을 모두 누릴 수 있음

umedy의 Unreal Engine 5 C++ Developer: Learn C++ & Make Video Games

 

언리얼 공부를 시작하기 전 Umedy의 언리얼 엔진 관련 강좌들이 좋다고 들어 해당 강좌를 통해 입문할 예정이다.

Unity로 프로젝트 할 때처럼 이것저것 찾아가며 배우는 것도 나쁘지는 않지만 시간 효율적으로는 이게 좋지 않을까 싶다.

 

한국어 자막도 지원하니 한 번 열심히 따라가봐야겠다.

'개인 공부 > Unreal Engine 5' 카테고리의 다른 글

[UE 5/C++] Section1 #2  (0) 2024.01.13
[UE 5/C++] Section1 #1  (0) 2024.01.12
[UE 5/C++] 강좌 소개 및 설치  (0) 2024.01.11
유니티 개발자를 위한 언리얼 엔진  (1) 2024.01.10
언리얼 엔진 설치  (0) 2024.01.10

아무래도 나처럼 유니티 엔진을 먼저 접한 뒤에 언리얼 엔진을 접하는 사람들이 많이 있을 것이라 생각한다.

 

그리고 언리얼 공식 문서에는 유니티 개발자를 위한 언리얼 엔진이라는 문서가 존재한다!

 

 

유니티 개발자를 위한 언리얼 엔진

유니티를 사용한 적이 있다면 언리얼 엔진 5를 시작하는 방법을 알아보세요.

docs.unrealengine.com

 

각 엔진의 UI 비교부터 시작해서 다양한 것들이 존재한다.

 

예시로 아래처럼 유니티에서 사용하는 용어와 그에 매핑되는 언리얼 엔진의 용어를 정리한 표가 있다.

카테고리 유니티 언리얼 엔진
게임플레이 유형 Component Component
GameObject Actor
Prefab Bluprint Class
에디터 UI Hierarchy Panel World Outliner
Inspector Details Panel
Project Browser Content Browser
Scene View Level Viewport
메시 Mesh Static Mesh
Skinned Mesh Skeletal Mesh
머티리얼 Shader Material, Material Editor
Material Material Instance
이펙트 Particle Effect Effect, Particle, Niagara
게임 UI UI Unreal Motion Graphics
애니메이션 Animation Skeletal Mesh Animation System
Mecanim Animation Blueprint
Sequences Sequencer
2D Sprite Editor Paper2D
프로그래밍 C# C++
Script, Bolt Line Trace, Shape Trace
피직스 Raycast Line Trace
Rigidbody Collision, Physics
런타임 플랫폼 iOS Player, Web Player Platforms

 

유니티 경험자가 이런 것들을 이용한다면 언리얼 엔진을 더 쉽게 이해할 수 있을 것이다.

+ Recent posts