본문 바로가기

볼봇의 코딩 생활/언리얼한 엔진

(35)
[UE4] MediaPlayer 를 사용하여 인터넷 비디오 재생하기 시험기간이 드디어 끝나, 간만에 언리얼 엔진 포스팅을 해보고자 한다. 이번에는 인터넷상에 존재하는 비디오(또는 오디오) 파일을 받아와서 언리얼엔진의 MediaPlayer 를 통해 재생해보는 것이 이번 포스팅의 목표 이다. 웹 (또는 디스크)에 저장된 동영상 파일을 재생할 일은 생각보다 많다. 예를 들어, 게임이 시작될 때 오프닝 영상을 재생한다던지, 게임 내 요소로써 (예, 전광판) 사용될 수 있다. 필자는 전광판도, 오프닝 영상도 아닌 리듬게임에서 단순히 MV 영상을 보면서 도트를 치고 싶은 마음으로 이 기능을 연구하였다. 이 글을 모두 읽게 되면... 이 글을 모두 읽게 된다면, 아래 이미지 처럼 TV 에서 인터넷에 업로드 된 비디오 파일을 재생 할 수 있게 된다. 또한, 런타임에서 동영상을 바로 불..
[UE4] HTTP 통신으로 파일 다운로드 언리얼 엔진으로 VR 리듬게임 프로젝트를 진행하고 있다. 리듬 게임에서 중요한건 당연 음악인데, 인게임에 음악은 동적으로 추가되고 제거되어야 한다. (음악 파일 을 추가할때마다 업데이트를 할 수는 없기 때문) 즉, 오디오 에셋을 정적으로 로드시켜 둘 수 없고, 인터넷(서버) 에서 오디오 파일을 다운로드 받아야 하는 상황이다. 어떤 상황에서든 에셋파일을 프로젝트에 끼워 넣는 방식이 아니라 파일을 게임 플레이 시간 (런타임) 에서 동적으로 다운로드 해서 로드 하는 부분이 필요할때까 꽤 많다. 즉, 파일을 다운로드하는 부분을 제작 해야 한다. 다운로드에서도 많은 방법이 있는데, 스트리밍 서버를 따로 짜서 TCP 프로토콜로 연결, 패킷을 보내서 파일을 작성 하는 방법이 있고, 언리얼 엔진에서 제공하는 편리하고 ..
UE4 바스트 모핑 (물리적인 가슴) 구현 오늘 포스팅 할 내용은 언리얼 엔진에서 바스트 모핑을 처리하는 방법에 대해 알아 본다. 바스트 모핑이 무엇인지는... 다들 잘 알것으로 믿고, 설명은 생략 하며 잘 모르는 분들은 검색을 하고 아래 글들을 계속 읽을지 결정하기 바란다. https://namu.wiki/w/%EB%B0%94%EC%8A%A4%ED%8A%B8%20%EB%AA%A8%ED%95%91 바스트 모핑 - 나무위키 선구자적인 작품 다이콘4 - 오프닝(1983년 8월 20~21일)[5]에서 애니메이션 역사상 최초로 바스트 모핑을 의도적으로 대놓고 노리고 어필한 작품.[6] 또한 이 오프닝 영상을 만든 다이콘 필름의 멤버들이 이후 가이낙스를 창립하게 되었다.루팡 3세(2기 TV시리즈) 145화. 1980년 7월 28일 방영. 미야자키 하야오가..
[UE4] 데디케이트 서버 (Dedicate Server) 구축 - Linux 편 저번 포스팅에서 윈도우 데디케이트 서버를 구축 하는 방법에 대해 정리 했다. 이번에는 더 나아가, 리눅스에서 이를 실행 하는 방법에 대해 정리해본다. 왜냐하면, 서버는 대부분 리눅스를 쓰지 윈도우를 쓰지 않는다. (윈도우 서버 제외) 가장 중요한점은 필자 서버 컴퓨터는 Centos 6.5 가 깔려 있다. 서론에서 유추할 수 있듯이 이번 포스팅은 CentOS 6.5 기준으로 진행되며 우분투나 다른 리눅스 계열 OS 에서도 큰 문제 없이 잘 작동할 것으로 예상 된다. 시작해보자. 소스코드 빌드 하기 이전 글에서 소스코드 빌드 관련 언급을 하였다. 리눅스 빌드를 하기 위해 윈도우와 다르게 해줄 작업은 없으므로 링크로 대체한다. https://api.unrealengine.com/KOR/GettingStarte..
[UE4] 데디케이트 서버(Dedicate Server) 구축 - Windows 편 굉장히 오랜만에 글을 쓰는 듯 하다. 이번에는 며칠간 문서를 보면서 공부해본 데디케이트 서버 구축에 대해 정리해보겠다. 데디케이트 서버를 구축하기 위해서는, 당연히 멀티플레이가 가능하도록 설계된 게임이 있어야 한다. 아직 게임이 없다면 미리 언리얼에서 제공하는 ThirdPersonExample 를 미리 생성 해 두자. 필자는 방금 완성한 따끈따끈한 간단한 채팅 게임이 있어 이를 사용하려고 한다. UE4 소스코드 빌드하기 런쳐에서 받은 언리얼 엔진은 몇몇 기능들이 빠져있다. 실제로 , 데디케이트 서버를 빌드하기 위한 기능도 빠져있다. 그러므로 우리는 언리얼 엔진 코드를 다운로드 받아 직접 빌드 해야 한다. 소스코드 빌드 부분은, 필자보다 문서에 훨씬 더 잘 설명하고 있고, 실제로 진행해보니 큰 장애가 없었..
UE4 안드로이드에서 프로젝트 개발 하기 언리얼 엔진은 여러 가지 플랫폼을 지원할 수 있도록 설계되어 있다. PC와 안드로이드 장치는 물론, IOS, 플레이 스테이션, Xbox 등.. 최근에는 MS 홀로그렘도 지원하려고 한다고 한다. 이번 글에서는 안드로이드 장치에서 우리가 만든 프로젝트를 패키징 하고, 업로드해보겠다. 참고로, 기어 VR 도 몇몇 설정만 더 바꿔주기만 하면 충분히 개발할 수 있다. 아래 글은 UE 4.21 버전에 맞춰 작성되었다. 컴포넌트 설치 하기 안드로이드 개발을 하기 앞서, 안드로이드 SDK, JDK, NDK 등등.. 굉장히 설치할 것이 많다. 언리얼에서는 이들을 원스톱으로 관리할 수 있게 해주는 Codeworks for Android를 제공 (포함) 한다. 이는 NVIDIA에서 개발하여 언리얼에 탑재된 것이다. 아래 경..
UE4 우주 배경 (스카이박스) 만들기 게임 제작에 필요한 스카이 박스를 만들어본다. 스카이 박스를 한국어로 하면 하늘 상자, 즉 이번에는 하늘을 만들어보는 것 이다. 참 이해 안되는데, 초심자든 숙련자든 한번씩은 써봤을 엔진 컨텐츠의 BP_Skybox 를 의미 한다. 물론, 언리얼에서 기본 제공하는 스카이박스는 여러가지 기능을 지원하지만, 이 글에서 만들 스카이박스는 말 그대로 그냥 스카이박스. 아무 기능도 없는 간단한 스카이박스다. 필요에 따라 여러가지 기능을 추가 할 수 있지만, 현재 진행중인 프로젝트는 기어 VR 에서 돌아가기 때문에 괜히 복잡해졌다간 프레임 떨어지고 멀미가 심해질수도 있고.. 여튼 가장 단순한 스카이 박스를 만들어본다. 큐브맵? 먼저 큐브맵에 대해 이해가 필요하다. 이것을 이해하면 스카이박스가 어떤건지도 알 수 있게 ..
UE4 SVN 을 통해 프로젝트 체크 아웃 하기 저번에 언리얼 프로젝트를 SVN 과 연결 하는 작업을 했다. https://ballbot.tistory.com/11 UE4 SVN 소스 컨트롤 사용 하기 게임은 혼자 만들지 않는다. 혼자서 모델링 하고 사운드 만들고 맵 짜고 코딩 하고 UI/UX 디자인은 할 수 없기 때문. 물론, 천재라면 가능하겠지만.. 필자는 그런 천재가 아니라 다른 친구들의 도움을 받고 있다... ballbot.tistory.com 이번에는 소스 컨트롤 서버 (SVN 서버) 에 있는 프로젝트 파일을 받아오고 받아온 프로젝트를 소스 컨트롤에 연결 하는 방법을 알아 본다. UE4 프로젝트가 SVN 서버에 업로드 되어 있고, Tortoise SVN 이 설치되어 있음을 가정 한다. 프로젝트 받아 오기 빈 폴더 하나를 만들고 폴더 안으로 들..