본문 바로가기

전체 글

(52)
벡터 크기의 이해와 정규화 과정 오늘부터 게임 개발에 필수적인 벡터에 대해 공부하면서, 배운 내용을 블로그에 정리해보겠다. 첫 포스팅은 벡터의 크기와 정규화 과정에 대해 이해해보겠다. 벡터의 크기 벡터의 크기는 곧 기하학적으로 그려진 벡터의 길이를 뜻한다. 3차원 그림을 그리자니 필자의 그림 실력이 후달려서 2차원으로 옮겨봤다. (2차원이나 3차원이나 요소 하나의 차이이므로 상관 없다.) 그려진 벡터의 꼬리를 (0,0), 머리를 (2,1)이라고 해보자면 피타고라스 정리를 활용해 벡터의 크기를 쉽게 구할 수 있다. (수식 입력 하는 방법을 조망간 찾아봐야겠다.) 벡터의 크기는 이중 수직선으로 표기하는데, 위 그림을 예로 들면 ||√5|| 라고 할 수 있겠다. 벡터의 정규화 벡터는 크기, 방향, 속력을 나타낼 수 있다는것을 알고있다. 만약..
UE4 .NETFramework 에 대한 참조 어셈블리를 찾을 수 없습니다. 해결 간만에 포맷하고 언리얼 소스 빌드중에 이런 오류를 마주쳤다. 학교 컴퓨터에 언리얼 소스 빌드할 때 가끔 마주친 오류인데, 해결법은 매우 단순하다. .NET Framework 4.6.2 (개발자 버전) 이상으로 설치해주면 된다. https://dotnet.microsoft.com/download/dotnet-framework/net462 Download .NET Framework 4.6.2 | Free official downloads Downloads for building and running applications with .NET Framework 4.6.2 . Get web installer, offline installer, and language pack downloads for .NET Fr..
[UE4] pak 파일로 압축된 컨텐츠 확인하기 언리얼 엔진에서 게임을 패키징 하면 (Windows 기준으로) .pak 파일과 실행 파일이 나온다. .pak 파일에는 게임에 들어갈 컨텐츠들이 저장된다. 특정 폴더를 분리해서 패키징할 때 등 pak 파일에 어떤 내용이 들어갔는지 궁금할때가 있다. 프로그램 설치 없이 무엇이 압축되어 들어갔는지 확인 하는 방법을 알아보자. UnrealPak.exe 찾기 엔진 설치 경로에서 아래 디렉터리로 이동하면 UnrealPak.exe 파일을 찾을수 있다. \UE_4.25\Engine\Binaries\Win64 명령프롬프트로 해당 경로로 이동해서 UnrealPak.exe 를 실행해보자. 대개 까만창에 하얀글씨로 반겨준다. 테스트 게임 소개 1분동안 만든 간단한 테스트 프로젝트다. pak 파일에는 스타터 컨텐츠과 PakTe..
[UE4] 안드로이드 패치 시스템 구축하기 안드로이드에서 패칭 시스템을 구축하고자 했던건 꽤 옛날일이다. 1년전인가 무슨 덴스게임 비슷한거 만든다고 이와 관련해서 삽질을 좀 해 봤는데 자료도 없고 머리아파서 때려쳤던걸로 기억한다. 지금 새로 진행중인 프로젝트에서 패칭 시스템을 필요로 하는것 같아서 이번 기회에 멱살잡고 제대로 알아보고자 한다. 구조 파악 현재 필자의 목표는 아래와 같다. (그림 참 수준 낮다) 사용자 휴대폰에는 "A 스프라이트와 A 오디오 파일" 이 있다. 이는 릴리즈 되는 기본 앱에 포함된 데이터라고 생각한다. (기본 캐릭터 같은 느낌이다.) 만약, 사용자가 아이템을 구입했거나 퀘스트를 클리어 했다든지 어떤 이벤트가 발생하여 "B 스프라이트와 B 오디오 파일" 이 필요해졌다고 가정해보자. 이때 서버에서 새로 필요해진 파일을 다운..
[UE4] Paper2D 택스쳐 색상이 바래지는 현상 해결 Paper2D 로 프로젝트를 개발하고 있다. 2D 게임이므로 당연히 라이팅이 전혀 필요 없기 때문에 월드에 스프라이트를 배치하고 Unlit 가 적용된 머티리얼을 사용할텐데, 아무 설정도 하지 않았는데 전체적으로 톤이 조절되는 현상이 있다. 즉 아래 사진처럼 레벨에 배치하면 이렇게 표시되는데 실행하면 하예진다. ToneMapper 쪽 문제로 추정하고 있는데 정확한 원인은 알 수 없으나 PostProcessVolume 의 값을 설정해주면 되는것으로 확인됐다. 해결 PostProcessVolume (없으면 새로 배치) 의 노출 보정을 0 으로 두면 해결 할 수 있다. 성능상 큰 문제가 되지 않으면 Infinite Extent 옵션을 켜 주면 확실히 적용된다. 마지막으로 Tonemapper 기능을 꺼 줘야한다...
[UE4] 구글 플레이 로그인 구현 게임 내 사용자를 구분하는건 중요한데 HTTP 웹 서버를 따로 구현해서 인증 서비스를 만들지 않는 이상 쉬운 작업은 아니다. 따라서 이번 포스팅에서는 구글 플레이 게임에 로그인 하는 방법에 대해 알아보겠다. 이 과정을 마치면 이후 리더보드나 업적과 같은 구글 플레이 게임에서 제공해주는 기능을 언리얼에서 사용 할 수 있다. 결과물 "로그인" 버튼을 누르면 화면처럼 "~님 안녕하세요"가 뜨며 구글 로그인을 할 수 있다. "로그아웃"을 누른 후 다시 로그인을 누르면 계정을 선택할 수 있다. 아래 업적 부분은 작동은 하지만 아직 연구중인 과제로 이후 포스팅에서 다루도록 하겠다. 플레이 콘솔에서 게임 생성 우선 구글 플레이 콘솔에서 앱을 하나 만든다. 개발 초기에는 그래도 게임 이름이나 설명 정도는 적을 수 있으..
[UE4] Perforce 소스 컨트롤 구축 몇달 전, SVN 을 사용하여 언리얼 프로젝트를 소스 컨트롤 서버에 올리고 다른 사용자들과 (솔직히 혼자인데) 공유 하는 방법을 알아보았다. 이번에는 언리얼 엔진에서 공식적으로 인정(?) 하고 있는 퍼포스 소스 컨트롤에 대해 알아보겠다. https://docs.unrealengine.com/ko/Engine/Basics/SourceControl/Perforce/index.html Perforce 소스 컨트롤 사용 팀 내 다른 사람들과의 애셋 공유를 위한 Perforce 구성 방법입니다. docs.unrealengine.com 다만, 언리얼 도큐먼트에서는 Perforce 서버를 구축 하는 방법에 대해서는 설명하지 않고 있고, Perforce 서버 구축을 해본 결과 별로 어렵지 않으므로 이번 포스팅에서 함께..
내가 퍼니오 호스팅을 떠난 이유와 Vultr 사용 최근에 급속도로 성장하고 있는 Vultr 서비스 사용을 시작했다. 우선 3년간 퍼니오를 써온 유저로 써, 퍼니오의 장단점을 객관적으로 분석 해보려고 한다. 그리고 Vultr 로 이전을 하게 된 이유를 설명하고 얼마 안됐지만 좋은점을 적어보려고 한다. 기존에 사용하던 서비스는 이곳이다. http://fun25.co.kr/ 퍼니오 호스팅 | Fun25 퍼니오의 클라우드 서비스를 경험하세요. 2002년 부터 호스팅 서비스를 제공해 왔으며, 2007년부터 클라우드 서비스를 지속적으로 운영하고 있습니다. 안정적인 서비스와 부담없는 이용료의 퍼니 fun25.co.kr VPS-1 옵션을 사용하고 있었고, 작성일 기준 약 3주뒤에 만료된다. 옵션을 보면 1년 선납시 50% 할인을 해주고 있기 때문에 매우 저렴한 가격에..