게임 개발 120

[UE4] Unreal Engine 4 include 참조 경로 설정

Unreal Engine의 Visual Studio Project파일은 자동으로 생성하므로 참조 경로를 프로젝트에 직접 추가하는 방법을 사용하지 않습니다. 아래 그림과 같이 생성을 합니다. Characters폴더 하위에 ABCharacter.h 파일이 있고 GameFramework 폴더에는 ABGameMode.h 파일이 있습니다. #include "ABGameMode.h" #include "Characters/ABCharacter.h" #include "GameFramework/ABPlayerController.h" AABGameMode::AABGameMode() { DefaultPawnClass = AABCharacter::StaticClass(); PlayerControllerClass = AABPl..

[UE4] Unreal Engine 4 PBR 텍스처

베이스 컬러 텍스처 표면의 색조, 색상 값만을 나타냅니다.(알베도) 노멀 텍스처 라이팅이 머티리얼에 픽셀마다 직접 반응하는 방식을 시뮬레이션합니다. R, G, B에 방향 데이터를 저장합니다. 폴리곤을 더하지 않더라도 표면의 좀 더 다듬어진 형태를 시뮬레이션하는데 사용합니다. 러프니스 텍스처 표면의 거칠기를 제어합니다. 거친 표면은 매끈한 표면 보다 더 많은 방향으로 빛을 산란시켜 머터리얼 표면에서 시각화 되었을때 리플렉션의 흐릿함이나 선명함을 제어합니다. 0은 거울과 같과 1은 전혀 반사가 없습니다. 0~1을 표시하므로 R,G,B는 필요 없고 회색조로 표현합니다. 메탈니스 텍스처 표면의 금속성 정도를 제어합니다. 0~1로 표시하며 회색조. 엠비언트 어클루젼 차폐로 인한 라이팅의 감쇠를 유사하게 모사하는 ..

[UE4] Unreal Engine 4 사용 환경 설정

언리얼 엔진용으로 Visual Studio를 구성하자. https://docs.unrealengine.com/4.27/ko/ProductionPipelines/DevelopmentSetup/VisualStudioSetup/ 언리얼 엔진용 Visual Studio 구성 언리얼 엔진 4 에서 작동하도록 Visual Studio 를 구성하는 팁입니다. docs.unrealengine.com 다음은 설정 완료한 visual studio 2019 세팅 파일입니다. 추가로 다음의 글 참고하여 자동 들여쓰기 설정도 변경해주면 좋습니다. [UE4] visual studio 2019 자동 들여쓰기 설정 UnrealVS 설치하자 https://docs.unrealengine.com/4.27/ko/ProductionPipe..

RPG 게임 이동 동기화 스트레스 테스트 봇

게임 서버 개발 초기에 오브젝트 관리 구조 개발을 위해 만들었던 툴이 보여 포스팅 합니다. 동영상과 같은 툴을 개발하여 최적의 성능을 내는 구조가 어떠한 구조인지를 테스트 하기 위해 만들었던 봇입니다. - Grid 사이즈 - 브로드캐스트할 Grid 수 - 오브젝트 관리 자료 구조 - 쓰레드 수 - 락 방식 vs 락 프리 방식 이러한 봇을 하나 잘 만들어 놓고 위와 같은 것들의 성능을 비교 분석하는 툴로 이용 하였습니다.

[UE4] Unreal Engine 4 시작하기

퀵 스타트 Unreal Engine 4를 퀵 가이드는 처음에 꼭 따라서 해봐야 겠습니다. https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/CPPProgrammingQuickStart/ 프로그래밍 퀵스타트 첫 코드 프로젝트를 만들고, C++ 클래스를 새로 추가해 봅니다. docs.unrealengine.com 빌드 설정 개념 Unreal Engine의 빌드 설정에 대한 개념을 잡아야 겠습니다. 이는 일반적으로 어플리케이션의 빌드 설정과 거의 비슷하지만 Unreal Engine, Game, Editor 세 가지가 있기에 다음과 같은 빌드 설정이 있습니다. Debug 디버깅용 심볼이 들어있는 환경설정입니다. Deb..

TCP 3/4 Way-handshake

3 way-handshake (TCP 접속) 1단계 SYNchronize : TCP 접속 요청 2단계 SYN, ACKnowledge : 응답 및 요청 3단계 ACK : 2단계 SYN에 대한 응답 4 way-handshake(TCP 연결 해제) 1단계 FIN : TCP 연결 해제 요청 2단계 ACK : 서버는 확인 메시지 보내고 통신이 끝날때 까지 3단계 FIN : 서버가 통신이 끝나면 연결이 종료되었다고 클라이언트에게 FIN 전송 4단계 ACK : 확인 메시지 전송 해제는 어느 쪽에서든 먼저 할 수 있습니다. client, server 상관 없이 동일합니다. 가장 중요히 알아야 할 것은 먼저 close한 쪽에 TIME_WAIT 상태가 오래 지속 된다는 것입니다. close를 먼저 요청한 쪽에 최종적으로 ..

Unreal Engine 5 설치

Unreal Engine 5 런처를 다운로드 받습니다. https://www.unrealengine.com/ko/download 언리얼 엔진 | 가장 강력한 리얼타임 3D 창작 플랫폼 언리얼 엔진은 게임, 시뮬레이션, 시각화의 디자인 및 개발에 사용되는 통합 크리에이터용 툴세트입니다. www.unrealengine.com 런처를 설치하고 실행하여 Unreal Engine 5를 다음과 같이 설치 합니다. 짜잔~ 설치 완료!!

Overlapped IO, IOCP

Overlapped IO WSASend, WSARecv, GetQueuedCompletionStatus 함수의 인자에 모두 Overlapped 구조체가 넘어 온다. 왜 필요한가? 넌블러킹, 비동기 IO를 처리가기 위한 IO 방법이다. 여러 IO가 중첩 되게 처리 한다고 해서 Overlapped라는 이름을 붙였다. 또 다른 의미로는 작업과 IO가 동시에 진행된다는 의미 장점 넌블럭 IO 버퍼핑 오버 헤드 감소 : OS에 의해사용자가 지정한 버퍼에다 바로 read/write 한다. IOCP(IO Completion Port) 재사용이 가능한 쓰레드 풀 유지 스마트한 워크 쓰레드 관리 커널의 IO 쓰레드에 제어를 위임하여 IO 완료를 통보 받아 생성한 워커 쓰레드에서 로직 처리 즉, 사용자는 IO Comple..

C++ 프로그래머가 알아야할 C# 기능 요약

C++만 개발하다가 C#으로 서버 개발을 해야지하고 마음을 먹은 다음 C# 기본서를 읽으면서 특별히 기억했으면 해서 그록해 두었던 내용들이네요. 요즘은 첫 언어로 C++보다는 C#을 먼저 접하는 분들이 많지만 예전에는 C#은 더더욱 젋은 언어였었네요. 값 타입 & 참조 타입 값 타입: 선언과 동시에 메모리 할당 byte, char, int, long, float, double, decimal, bool, struct, enum 참조 타입 : 선언 후 메모리를 직접 할당 참조 변수로 함수 인자 전달(ref, out) ref : 반드시 초화 하고 전달. out : 초기화 필요 없다. void func(ref int x) void func(out int x) C#에서 포인터 사용(unsafe 코드) 컴파일 옵..

네비게이션 메쉬 + A* (Navigation Mesh + AStar)

2004년 MMORPG 게임 서버 개발시에 정리 했던 내용이네요. 추억이 새록 새록~ 지금은 너무 당연하고 공개된 자료도 많지만, 그 때는 정보 하나 하나가 너무 소중하고 덕분에 삽질 많이 했었지요. 네비게이션 메쉬 + A* (Navigation Mesh + AStar) : 3차원 지형을 2D처럼 간단하게 표현 하는 방식으로 Object가 이동 가능한 모든 지형을 Cell(삼각형)으로 표시 하여 A*와 같은 길찾기 알고리즘을 쉽게 적용 할 수 있게 해 줍니다. [Navigation Mesh] 1. NaviCell 만들기 Cell 이란? vetex 세개로 구성되어 이루어 진 하나의 삼각형입니다. - 삼각형의 사이드 라인 세개를 만듭니다. - 평면 방정식을 위한 Plane을 생성 합니다. - Cell의 중점..

반응형