게임 제작을 위해 필요한 다양한 기능(그래픽 렌더링, 물리 엔진, UI, 시뮬레이션, AI, 오디오, 네트워킹 등)을 제공하는 게임 개발 소프트웨어그래픽 렌더링 : 화면에 2D 및 3D로 게임 내 객체들의 그래픽 데이터를 출력하는 기능. 즉, 플레이어가 화면으로 보는
언리얼에서는 게임 씬을 레벨(level)이라고 하고 게임 세상(월드)의 모든 것 또는 일부로 게임 플레이 공간을 의미하고 게임의 특정 구역이나 단계의 물리적 환경, 비주얼 효과, 게임 로직, 오디오 등을 포함하는 종합적인 단위이다이 공간에서 게임이 진행되고 플레이어 상
UE 마켓 플레이스에서 Low Poly Buildings WI라는 에셋을 다운 받았다.이 에셋은 색, 높이, 크기가 다른 low poly 스타일의 건물을 만들 수 있다고 한다. 이 에셋을 다운받은 이유는 게임 공간의 한 구역을 내가 사는 동내를 본떠서 만들어 보고
선택한 게임의 이름은 무엇인가요? 선택한 게임의 장르는 무엇인가요? 선택한 게임의 어떤 시스템에 집중하셨나요? 해당 시스템이 동작하는 구조의 시작부터 과정을 자세하게 분석, 나열해봅시다. - 직접 분석해본 내용 중 가장 핵심이 되는 구성 요
뷰포트 : 현재 월드나 레벨을 보여주는 메인 인터페이스w - 이동 기지모e - 회전 기지모r - 스케일(크기) 기지모ctrl + \` - 기지모의 기준 변경(월드 or 물체)shift + 1~8 - 여러가지 모드랜드 스케이프풀리지 모드 - 노멀에 정렬 활성화 -> 랜드
오버랩 - 두 물체의 충돌영역이 겹치는 것을 의미 end overlap : 충돌 영역이 겹쳐지지 않으면 발생(캐릭터가 버튼 위에서 내려올 때 버튼이 비활성화 되는 그 때) begin overlap : 충돌 영역이 겹쳐지면 발생(캐릭터가 버튼 위에 올라가 버튼이 활성
언리얼 엔진 5.5 문서에는 언리얼 엔진에 있는 여러 기능들을 어떻게 사용할 수 있는 지에 대해 각 분야별로 잘 정리가 되어있었고 그 중 사전캠프에서 좀 궁금했던 부분들을 찾아봤다팹에서 다운 받고싶은 에셋을 들어가보면 '포함된 포맷'에 fbx가 있어서 대충 기본 에셋
오늘 강의에서는 언리얼 에디터를 사용하면서 각 패널이 어떤 일을 하는 곳인지 가볍게 상기해본 다음 액터의 머티리얼을 교체도 해보고 머티리얼 에디터에 들어가서 각 파라미터들을 조절하는 해보았다. 이후 이를 가지고 간단한 월드 꾸미기를 해보았다섬 하나를 만들고 섬 머티리얼
오늘은 레벨 블루프린트에서 블루프린트 사용법을 익혀봤다변수, 사칙연산, 비교 연산자, 논리 연산자(and bool이라고 검색하면 쉽게 찾을 수 있다) 등을 알아봤고 C언어에서의 if문(if-else문)과 반복문이 블루프린트에서는 branch와 while loop, fo
향상된 입력 시스템은 여러 액션들을 매핑 컨텍스트로 묶어서 캐릭터에 적용할 수 있다입력 액션 : 입력 액션은 '웅크리기'나 '무기 발사' 같은 사용자가 할 수 있는 행동을 나타낸다'아이템 집기'는 캐릭터가 무언가를 집기 원하는지 아닌지를 나타내는 on/off(boole
블루프린트 게임 블루프린트로 액터들을 이동시키거나 회전시키고 캐릭터가 액터의 collision box에 overlap이 되면 어떤 상호작용이 되도록하여 간단한 게임을 만들었다 레벨 디자인 오징어 게임 유리다리 건너기를 베이스로 여러 장치들을 추가하여 만들었다 발판
UE_LOG(LogTemp, Warning, TEXT("hello unreal"))LogTemp : 카테고리Warning : 심각성TEXT("..") : 출력 내용FMath::RandRange(a, b) : a ~ b 사이의 랜덤한 값 반환(a, b 포함)Add (또는
Binaries 폴더 : 프로젝트를 빌드 했을 때 실행파일, .dll 등 컴파일 관련 파일이 저장Config 폴더 : 프로젝트 설정 파일(.ini)들이 저장, 프로젝트의 전반적인 설정을 정의(키 매핑, 렌더링, 에디터 환경 등)DefaultEditor.ini : 에디터
언리얼 엔진의 에셋(리소스)은 서로서로 연관되어 있는 경우가 많은데(특히 애니매이션) 이런 연결 구조가 끊어지게 되면 리소스를 사용할 수 없게 된다. 이런 것들을 유지하기 위해 프로젝트 형태로 되어 있다이렇게 만들어져있는 리소스를 내 프로젝트에 가져오기 위해서는 Mig
UObject와 AActor
Actor 클래스 코드의 기본 구조 || | - | .h 파일 상단부 #pragma once : 헤더 파일의 중복 포함 방지를 위한 지시문 #include "CoreMinimal.h" : 언리얼 엔진의 주요 기능과 클래스를 제공하는 경량화된 헤더 파일 #
카테고리 정의하기 .h : DECLARELOGCATEGORY_EXTERN(카테고리 이름, 기본 심각도, All); .cpp : DEFINELOGCATEGORY(카테고리 이름); 생성자 : 오브젝트가 메모리에 할당될 때 딱 한번만 호출 world에 액터가 없을 가능
6주차 과제로 여러 방식으로 움직이는 액터들을 만들어 보았다 앞/뒤로 이동하는 발판 액터를 만들었는데 뭔가 끝 지점에 도달하면 잠시 멈췄다가 다시 이동하면 좋을 것 같아서 적당히 잘 왔다갔다하는 코드에 FTimerHandle과 SetTimer()를 사용해서 작동해보
GameMode 클래스 : 총괄 관리자(TextRPG의 GameManager) 역할 플레이어 캐릭터 관리 : 플레이어(Pawn 클래스 or Character 클래스)의 스폰 및 정보 관리 팀 기반인 게임에서는 팀 구성도 관리 PlayerController 클래스 :
PlayerController와 Enhanced Input System 입력을 처리하고 맵핑하는 방법 사용자 입력에 대한 캐릭터의 움직임을 어떻게 구조적으로 관리할 것인가 PlayerController 클래스 : 언리얼 엔진에서 플레이어 입력을 처리하고, 폰(Paw
캐릭터 애니메이션 Anim Instance : 애니메이션 시스템에서 가장 핵심 클래스 애니메이션 로직, 실행, 연동 등에 관한 것이 구현되어있음 Animation Sequence : 캐릭터가 실제로 움직이는 모션 데이터를 담고 있는 클립 (Clip) Event Gr
(X,Y,Z) 축으로 이동하고, (X,Y,Z) 축으로 회전도 하는 비행체를 구현하기 위해 마우스를 위로 올렸을 때 비행체의 Y 축(Pitch 축)을 기준으로 회전을 하도록 만들었는데(마우스 좌/우 - Z 축(Yaw 축))(마우스 위/아래 - Y 축(Pitch 축))(Q
물리적 충돌 : 물리 엔진에서 힘/속도/질량 등을 고려하여 실제 물리 법칙처럼 충돌을 처리하는 방식 => 충돌 후 물리적 반응(폭발, 넉백)이 있음상호작용을 위해 사용SetSimulatePhysics(true)트리거 충돌 : 물리적 반응 없이 단순히 Overlap만 감
Pawn 클래스를 키보드, 마우스로 조종하는 과제에 대한 해설 코드를 보고 이동에 관한 부분을 정리하였다위 코드는 캐릭터를 World 기준으로 이동시켜야하는 방향을 구하는 부분이다코드에서 주요 코드가FRotationMatrix(YawOnlyRotation).GetUni
아이템 설계 : 인터페이스를 사용 공통적으로 쓰일 함수 순수 가상함수로 구현 각 클래스에서 각 기능에 맞게 세부 구현 인터페이스 정의 - UInterface : 인터페이스 생성 함수 원형들만 정의(가상 함수 형태) OnItemOverlap()
앵커는 Widget BluePrint에서 Widget의 기준점이라 생각하면 된다 밑의 사진에 박스가 쳐진 꽃 모양이 앵커이다 앵커의 위치에 따라 체력 표시의 위치가 달라지는걸 볼 수 있는데 ||| | --- | --- | ||가 호출되고, 그 안에서 파티
8주차 과제로 기존의 코인, 지뢰, 회복 아이템 외에 추가로 아이템 클래스를 구현하는 과제가 있어, 먹으면 느려지는 아이템을 구현해보려고 했다 기존의 회복 아이템과 코드가 유사 하지만 아이템의 지속시간이 끝나고 캐릭터의 이동속도를 다시 올리는 부분에서 생각한대로 되
AI 이동의 기초 경로 탐색(Pathfinding) NavMesh 게임 월드에서 이동할 수 있는 영역을 메쉬 형태로 표현한 것. AI가 이 NavMesh 위에서 경로 탐색을 수행 AIController 게임 속 AI를 제어하는 주체로, Pawn이나 Chara
언리얼 리플리케이션(Replication) : 클라이언트와 서버의 사이의 복제
야구 게임 과제 - 트러블 슈팅1
야구 게임 과제 - 트러블 슈팅2
야구 게임 과제 - 트러블 슈팅3
야구 게임 과제 - 트러블 슈팅4
언리얼에서 클라이언트가 네트워크에서 연결되는 흐름에 관한 링크들
Plugin 만들기
멀티플레이 네트워크 최적화 - Replication & RPC
멀티플레이 네트워크 최적화 - Actor Replication
멀티플레이 네트워크 최적화 - Prediction & Reconciliation
언리얼 - AI : 네비게이션 메시 생성 및 경로 탐색 NavMeshBoundsVolume Navigation Invoker Nav Modifier Volume RVO(Reciprocal Velocity Obstacles) AIPerceptionComponent
Import Only Animations를 true 체크 안하면 애니메이션이 Model을 가지고 있는 경우 함께 Import함중복 모델이 여러 개 생길 수 있음 => 엄청 비효율적: 복잡한 애니메이션 행동을 만들고 제어하는 데 사용되는 비주얼 스크립트Animation
비헤이비어 트리 : 어떤 행동을 해야할지 정의해놓은 규약, 이 규약에 따라 이동/행동함
강의 따라한 로직 : AI의 시야에 플레이어가 있으면 계속 쫒아오고, 시야에서 사라지면 마지막으로 본 위치까지 이동(이걸 원하신 것 같음)
C++과 블루프린트에서 OnRep 함수의 차이점
언리얼 액터의 네트워크 복제 설정