인기 글

1. [Unreal 5] 언리얼 엔진의 렌더링 파이프라인 (Rendering Pipeline)
·
Computer Graphics
서론 게임에서 무언가가 모니터 화면에 보여지고 있다는 것(렌더링)은 게임 엔진이 렌더링 파이프라인 이라는 정해진 과정을 열심히 수행하고 있다는 증거이다. 게임 엔진은 일반적으로 렌더링 파이프라인 이라는 것을 수행해 이미지 또는 프레임을 화면에 렌더링 한다. 본 게시글은 Unreal Engine에서 이 렌더링 파이프라인이 어떤 방식으로 이루어지고 어떻게 플레이어의 화면에 무언가를 렌더링 할 수 있는지에 대해 다루도록 하겠다.Rendering Pipeline? 렌더링 파이프라인의 과정에 대해 설명한 글은 정말 많다. 하지만 그 글들을 보면 과정이 조금씩 다르거나 똑같은 과정이라도 지칭하는 이름이 다르다. 렌더링 파이프라인은 렌더링의 목적에 따라 여러가지 종류의 렌더링 파이프라인이 존재하고, 설명하는 주체가 ..
2. [Unreal 5] 언리얼 엔진의 렌더링 파이프라인 (Rendering Pipeline)
·
Computer Graphics
서론 이전 시간에 Unreal Engine에서의 렌더링 파이프라인에 알아보기 전에 기초적인 하드웨어(GPU)관점에서의 렌더링 파이프라인에 대해서 알아보았다. 이번 시간에는 Unreal Engine에서 사용하는 렌더링 파이프라인은 어떤 방식이며 그것에 대해서 알아보도록 하자.Forward rendering Unreal Engine에서 사용하는 파이프 라인은 기본적으로 디퍼드 렌더링(Deferred rendering)과 포워드 렌더링(Forward rendering)을 선택하여 사용하고 디폴트는 디퍼드 렌더링을 사용한다고 한다. 우선 디퍼드 렌더링에 대해 알기 전에 포워드 렌더링에 대해 간략하게 알아보자. 이전 시간에 GPU의 관점에서의 렌더링 파이프라인에 대해 알아보았다. 포워드 파이프라인은 이것에서 조금..
[Unreal 5] C++ 클래스 빨간줄이 발생할 때
·
Troubleshooting
언리얼에서 C++로 visual studio로 코드를 작성하다보면 간혹가다 코드에 Intellisence 에러가 발생하는걸 볼 수 있다.언리얼 에디터 내에서는 컴파일이 정상적으로 동작하는데 이런 에러가 발생할때에는 코드창 우클릭 다시검사 -> 솔루션 다시검사를 통해 해결할 수 있다.언리얼에서 C++로 Visual Studio를 사용해 코드를 작성하다 보면 간혹 IntelliSense 에러가 발생하는 경우가 있다.이러한 상황에서 언리얼 에디터 내에서는 컴파일이 정상적으로 동작하지만, Visual Studio에서 에러가 나타나는 경우 다음과 같은 방법으로 해결할 수 있다코드 창에서 우클릭"다시 검사" → "솔루션 다시 검사"위 과정을 통해 IntelliSense 에러를 해결할 수 있다.
[Unreal 5] Unreal Multi-User Editing 베타
·
Unreal 5
소규모로 레벨 디자인 팀플을 하게 되었다.개인적으로 해도 되지만 다같이 협업하는 게 더 좋을 것 같아서 협업 툴을 알아보던 중, 여러 명의 사용자가 하나의 라이브 세션에서 작업한 내용을 실시간으로 동기화하며 동시에 작업할 수 있는 플러그인을 발견했다.Unreal Multi-User Editing 가이드Multi-User Editing 사전 준비 사항모두 같은 언리얼 버전을 사용해야 한다.모두 같은 LAN이나 VPN에 접속해야 한다.같은 사본 프로젝트를 팀원들이 모두 가지고 있어야 한다.팀원들과 LAN 연결이 불가능한 상황이었기 때문에 Hamachi를 통해 가상 네트워크를 만들어 해결했다.기본 프로젝트를 수정하는 방식으로 진행했기에 UnrealLearningKit 프로젝트를 새로 생성해서 사용했다.단, 같..
[Unreal 5] C++ 클래스가 언리얼 에디터에서 보이지 않거나 삭제하고 싶을 때
·
Troubleshooting
언리얼 에디터에서는 C++ 클래스를 직접 삭제할 수 없기 때문에, 사용하지 않는 C++ 클래스를 삭제하려면 다음과 같은 과정을 따라야 한다.C++ 소스 삭제하고 싶을 때언리얼 에디터 종료Visual Studio 솔루션 탐색기의 프로젝트에서 해당 .cpp와 .h 파일 제거파일 탐색기에서 프로젝트 폴더 → Source 폴더 내의 Public에 존재하는 .h 파일과 Private에 존재하는 .cpp 파일 삭제Visual Studio에서 솔루션 우클릭 → 솔루션 다시 빌드빌드가 완료되면 언리얼 에디터 실행C++로 만든 클래스가 보이지 않을 때언리얼 에디터 종료Visual Studio에서 솔루션 우클릭 → 솔루션 다시 빌드빌드가 완료되면 언리얼 에디터 실행이 과정을 통해 삭제된 C++ 클래스 문제를 해결하거나, ..

최신 글

[C++] 백준/Silver/15549. if
·
Algorithm
문제: if (백준 15549번)문제 개요문제는 주관식으로, 자바 코드 내에서 아래 조건을 만족하는 변수 x의 타입과 값을 찾는 것이다.if (x != 0 && x == -x) { System.out.println("true");} else { System.out.println("false");}조건 분석조건을 만족하려면,x는 0이 아니어야 한다.x와 -x가 같아야 한다.일반적인 수학에서는 (x = -x)이면 (x)가 0이 되어야 하지만, 여기서는 0이 될 수 없으므로 특별한 상황(오버플로우)를 고려해야 한다.두의 보수와 오버플로우자바의 정수형(int)은 두의 보수(Two's Complement) 방식으로 표현된다.int의 범위: (-2^{31}) ~ (2^{31}-1) 즉, (-2147483..
[C++] 백준/Gold/1011. Fly me to the Alpha Centauri
·
Algorithm
Fly me to the Alpha Centauri (백준 1011번)문제 개요문제 설명:우주선이 $x$에서 $y$까지 이동할 때, 이동 거리에 따른 일정한 규칙을 따르는 “점프”를 사용한다.문제는 주어진 시작점 $x$와 도착점 $y$ 사이의 거리를 이동하기 위한 최소 점프 횟수를 구하는 것이다.이동 규칙 요약:첫 번째 점프는 무조건 1광년, 그 이후 점프 거리는 이전 점프 거리와 같거나 1 증가/감소할 수 있다.마지막 점프도 무조건 1광년이다.이러한 규칙을 종합하면, 거리를 이동하기 위한 점프 횟수는 일정한 패턴을 따르게 되며,(예: 거리 1→ 1회, 2→ 2회, 3→ 3회, 4→ 3회, 5,6→ 4회, 7,8→ 5회, 9→ 5회, …)접근 방법수학적 아이디어:기존의 정답 공식은 다음과 같다.$n = ..
1. [Unreal 5] Epic Online Service - 초기 설정
·
EOS
Epic Online Service?언리얼 엔진에서 멀티플레이를 구현하는 방법으로 데디케이티드 서버(Dedicated Server), 리슨 서버(Listen Server) 등의 방식이 있지만, 실제로 이를 불특정 다수의 플레이어가 접속할 수 있도록 만들려면 NAT 우회, 포트 포워딩 등의 네트워크 설정이 필요하다. 이는 우리가 일반적으로 접하는 상용 멀티플레이 게임과는 차이가 있다.EOS 소개 영상규모가 큰 멀티플레이 게임은 자체 전용 서버를 구축하거나 하이브리드 방식(P2P + 매치메이킹 서버 활용)을 사용하지만, 인디 게임이나 규모가 작은 멀티플레이 게임의 경우 언리얼 엔진 개발사인 Epic Games에서 제공하는 EOS(Epic Online Services)를 활용할 수 있다.EOS는 로그인, 클라..
[C++] 백준/Platinum/1786. 찾기
·
Algorithm
문제: 찾기 (백준 1786번)문제 개요목표주어진 텍스트 문자열에서 패턴 문자열이 등장하는 모든 위치(인덱스)를 찾아, 등장 횟수와 위치를 출력하는 문제.핵심 포인트단순 문자열 검색(브루트포스)은 O(n×m) 시간 복잡도를 가짐KMP (Knuth-Morris-Pratt) 알고리즘을 사용하여 O(n+m) 시간에 해결1. 패턴 접두사 함수 (KMP 함수)목적패턴 문자열 내부에서 각 인덱스까지의 부분 문자열이 가지는 최대 접두사-접미사 일치 길이를 pi 배열에 저장예시 "ABABC"인덱스부분 문자열접두사-접미사 분석pi[i]0"A"접두사 길이 001"AB""B"와 "A" 다름02"ABA""A" (인덱스 2)와 "A" (인덱스 0) 일치13"ABAB"인덱스 3의 'B'와 인덱스 1의 'B' 일치24"ABABC"..
2. [Unreal 5] 언리얼 엔진의 렌더링 파이프라인 (Rendering Pipeline)
·
Computer Graphics
서론 이전 시간에 Unreal Engine에서의 렌더링 파이프라인에 알아보기 전에 기초적인 하드웨어(GPU)관점에서의 렌더링 파이프라인에 대해서 알아보았다. 이번 시간에는 Unreal Engine에서 사용하는 렌더링 파이프라인은 어떤 방식이며 그것에 대해서 알아보도록 하자.Forward rendering Unreal Engine에서 사용하는 파이프 라인은 기본적으로 디퍼드 렌더링(Deferred rendering)과 포워드 렌더링(Forward rendering)을 선택하여 사용하고 디폴트는 디퍼드 렌더링을 사용한다고 한다. 우선 디퍼드 렌더링에 대해 알기 전에 포워드 렌더링에 대해 간략하게 알아보자. 이전 시간에 GPU의 관점에서의 렌더링 파이프라인에 대해 알아보았다. 포워드 파이프라인은 이것에서 조금..