분류 전체보기 (233) 썸네일형 리스트형 [UE4] 채팅창 만들기 저번에는 긴 인내의 시간을 끝으로 데디케이티드 서버를 열어 보았습니다. 이번에는 간단한 채팅창을 만들어 보도록 하겠습니다. 채팅은 클라이언트가 입력한 메시지를 서버 측에서 받아서 처리해 클라이언트에게 띄워주는 방식으로 진행됩니다. 1. 채팅창 UI 만들기 다음과 같이 유저 인터페이스 - 위젯 블루프린트를 만들어주세요. 이 블루프린트의 이름은 TestChat 이라고 하겠습니다. TestChat을 열어주세요. 기본적으로 Canvas Panel이 하나만 추가되어 있을 거에요. 팔레트 검색에서 검색하시면서 아래와 같이 UI를 만들어주세요. 사진이 잘 안 보이신다면 클릭하셔서 확대해주세요. 사용된 것들은 카테고리의 위에서부터 나열하자면, [ Canvas Panel, Canvas Panel, Image, Horiz.. [UE4] 언리얼 엔진 데디케이티드 서버(Dedicated Server) (2) 지난번에는 언리얼 엔진 소스 코드를 다운해 예제 프로젝트까지 만들어봤습니다. 이번에는 서버를 만들어보겠습니다. [이전 글] [UE4] 언리얼 엔진 데디케이티드 서버(Dedicated Server) (1) 지난번 만든 테스트 프로젝트를 열어줍니다. 그리고 콘텐츠 브라우저에 있는 Maps 폴더를 밖으로 꺼내 콘텐츠 폴더의 하위 폴더로 만들어줍니다. Maps 안에 새로운 레벨을 만들어줍시다. 아래와 같이 빈 레벨로 프로젝트명Entry 이름의 레벨을 만들어줍니다. 그리고 해당 레벨의 레벨 블루프린트를 열어서, BeginPlay 이벤트 노드를 Open Level(by Name) 함수 노드와 연결해주세요. 그리고 Level Name에 127.0.0.1을 넣어주세요. Level Name에는 IP가 들어가게 됩니다. .. [UE4] 언리얼 엔진 데디케이티드 서버(Dedicated Server) (1) 언리얼 엔진으로 데디케이티드 서버를 구축하는 방법을 알아보도록 하겠습니다. 데디케이티드 서버를 구축하기 위해서는 언리얼 엔진의 소스 코드를 다운로드받아야 하는데요, 그러려면 먼저 언리얼 엔진 깃허브와 연동을 해야 합니다. 연동 방법과 설치 방법은 링크에서 친절하게 잘 알려주므로 링크에서 알려주는 방법대로 하셔도 됩니다. 깃허브 연동하기 GitHub 내 언리얼 엔진 4 언리얼 엔진은 게임, 시뮬레이션, 시각화의 디자인 및 개발에 사용되는 통합 크리에이터용 툴세트입니다. www.unrealengine.com 소스 내려받기 Setting Up Dedicated Servers How to set up and package a dedicated server for your project. docs.unrealen.. [알고리즘] NP-완비(NP-Complete) 세상의 문제 모든 문제들은 "해결할 수 있는 문제인가?" 와 "해결할 수 없는 문제인가?"라는 두 가지의 집합으로 나눌 수 있다. 해결할 수 없는 문제의 대표적인 경우가 앨런 튜닝이 증명한 정지 문제가 되겠다. 해결할 수 없는 문제는 다시 "현실적인 시간 안에 풀 수 있는 문제" 와 "현실적인 시간 안에 풀 수 없는 문제"로 나눌 수 있다. 지금까지 공부한 알고리즘들은 모두 다항식 시간이 걸리는 문제들이었다. 예를 들어, \(O(n^2)\)의 시간이 필요한 선택 정렬, \(O(nlogn)\)의 시간이 필요한 병합 정렬, \(O(n^3)\)의 플로이드-워셜 알고리즘, ... 등이 있었다. \(O(nlogn)\)은 다항식은 아니지만, \(O(n^2)\)에 속하기 때문에 다항식 시간에 속한다고 볼 수 있다. .. [C++/STL] priority_queue (우선순위 큐) 이번에는 priority_queue에 대해 알아보겠습니다. 우선순위 큐는 아래 내용을 참고해주세요. [자료구조] 우선순위 큐와 힙 [자료구조] 우선순위 큐와 힙 우선순위 큐(Priority Queue) 우선순위 큐의 큐는 먼저 들어온 데이터가 먼저 나가는, 그 큐가 맞다. 둘의 차이점이라면, 우선순위 큐는 우선순위가 높은 데이터가 먼저 출력되는 것이 차이다. 아래 ggjjdiary.tistory.com #Include priority_queue는 queue 헤더파일에 같이 존재합니다. #include template class priority_queue; Priority_queue의 기본 컨테이너가 벡터입니다. 다음에 Compare가 있는데요, 저 부분이 우선순위를 나타내는 부분이라고 생각하시면 됩니다... [알고리즘] 동적 계획법(Dynamic Programming) 동적 계획법(Dynamic Programming) 큰 문제의 해답에 그보다 작은 문제의 해답이 포함되어 있으면 최적 부분 구조(Optimal Substructure)라고 한다. 이 최적 부분 구조가 지켜진 상태에서 문제에 대한 해답을 찾는 과정이 바로 동적 계획법이다. 동적 계획법은 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법이다. 예시로 피보나치 수를 보자. 피보나치 수는 다음과 같다. 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 이를 점화식으로 나타내면 다음과 같다. $$\begin{align} f(1) & = f(2) = 1 \\ f(n) & = f(n-1) + f(n-2) \end{align}$$ \(n\)의 피보나치 수는 더 작은 크기인 \(n-1\)의 피보나치 수와.. [알고리즘] 최소 신장 트리(Minimum Spanning Tree) 최소 신장 트리(Minimum Spanning Tree) 신장 트리(Spanning Tree)란 그래프의 모든 정점을 포함하는 트리를 말한다. n개의 정점이 있다면 n-1개의 간선이 존재해야 한다. 이는 트리의 일종이기에 모든 정점들은 최소 하나의 간선에는 연결되어 있어야 하고, 사이클이 없어야 하기 때문이다. DFS와 BFS를 통해 얻어낸 트리도 신장 트리의 한 예가 된다. 최소 신장 트리(Minimum Spanning Tree)는 가중치 그래프에서 가중치의 합이 가장 작은 트리를 뜻한다. 이러한 최소 신장 트리를 찾는 알고리즘의 종류에는 프림 알고리즘(Prim Algorithm), 크루스칼 알고리즘(Kruskal Algorithm)이 있다. 프림 알고리즘(Prim Algorithm) 프림 알고리즘은 .. [프로그래머스/C++] [1차] 프렌즈4블록 미숙한 블로그 주인이 코딩테스트 문제를 풀어가는 과정을 담은 글입니다. 이 풀이가 효율적인 풀이가 아닐 수 있으며, 부정확한 정보가 많이 있을 수 있습니다. 보완해야할 점이 있다면 댓글로 남겨주세요! https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr [1차] 프렌즈4블록 문제 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌.. 이전 1 ··· 20 21 22 23 24 25 26 ··· 30 다음