본문 바로가기

전체 글75

에디터에서 마우스 위치값 받기 유니티 포트폴리오가 꼭 게임일 필요는 없으니까 실제로 필요함을 느꼈던 툴을 만들기로 했다. 픽셀 아트를 찍음과 동시에 Mesh로 변형하고 UV맵을 정리해서 Prefab화 하는 툴인데, 추가로 필요에 따라 정점의 좌표를 이동해서 간단한 모델링이 가능한 것을 목표로 정했다. 그래서 기본적으로 에디터 내에서 마우스 입력을 받아올 필요가 있었다. ▼ 에디터 내 마우스 입력 예시 코드 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class ExampleWindow : EditorWindow { [MenuItem("Window/ExampleWindow")] public st.. 2021. 3. 2.
새로운 유니티 에디터 파일 만들기 유니티에서 새로운 에디터 파일(C#)은 유니티 예약 폴더 중 하나인 Editor 폴더 안에 위치해야 한다. 기본적으로 유니티는 에디터API와 런타임API를 구분한다. 그래서 빌드시 생성하는 Assembly-CSharp.dll(런타임)은 UnityEditor.dll(에디터)에 의한 참조가 일어나지 않아서 빌드 실패가 발생한다. 대부분의 경우 커스텀 유니티 에디터는 개발 단계에서 필요한거지 실제 게임에 적용되는 경우는 드무니까 빌드에 영향을 끼치는 건 바람직하지 않다. 이 문제를 해결하기 위해서 Editor 폴더 안에 해당 에디터 파일(C#)을 관리함으로써 Assembly-CSharp-Editor.dll(에디터)을 생성한다. Editor 폴더는 디렉토리 위치나 갯수는 상관없어 보인다. 가끔씩 런타임에서 에디.. 2021. 2. 28.
새로운 서버 생성 및 실행하기 Colyseus 최신 버전 내려받기 Colyseus Github에서 Colyseuse 최신 버전을 내려받을 수 있다. 글 작성 기준(2021.02.26) 0.14.2버전이 최신버전이다. github.com/colyseus/colyseus-unity3d/releases Releases · colyseus/colyseus-unity3d ⚔ Colyseus Multiplayer Client for Unity. Contribute to colyseus/colyseus-unity3d development by creating an account on GitHub. github.com 새로운 서버 보일플레이트 생성하기 아래의 3가지 개발도구들이 설치되어 있는지 확인해야 한다. 1. NodeJS 12.0+ 2. Gi.. 2021. 2. 26.
(번역)시작하기 Colyseus의 기본적인 사용법을 익히기 위해 공식 문서의 시작하기(Getting Started)를 따라해본다. 어차피 공부하는 거 겸사겸사 발번역으로 정리하면서 정리한다. 전반적인 내용은 '미리 만들어 둔 예제 프로젝트를 보라구 핫산'하기 때문에 초심자를 위한 문서는 아니다. ▼ 원문 docs.colyseus.io/getting-started/unity3d-client/ Unity3d - Colyseus 0.14  Unity3d Installation Running the demo server The colyseus-unity3d comes with a usage example, and a simple room handler for basic testing. You can test it locall.. 2021. 2. 26.
기본 예제 실행하기 오픈-소스 멀티플레이 프레임워크 Colyseus는 오픈-소스 게임 개발 전문 멀티플레이어 프레임워크다. (무료라는 뜻이다. 지금까지 그래와꼬 아페로도 계속) Photon이나 다른 상용 멀티플레이 프레임워크에 비하면야 인지도는 낮지만 무려 6년 동안이나 발전되어왔다. 그래서인지 C++, C#, Javascript를 비롯해서 꽤 많은 언어를 지원하고 동시에 해당 언어들을 사용하는 게임 엔진들도 다수 지원한다. (우리나라에서는 마이너한 Hex엔진, Defold 엔진까지도 지원한다.) 최근에는 LUCID SIGHT라는 게임 개발사가 유지보수에 참여하면서 다른 오픈-소스 멀티플레이 프레임워크에 비해서 주기적인 업데이트가 가능해져서 전망이 밝다. ▼ LUCID SIGHT는 다양한 게임을 만들면서 노하우를 가지고 있.. 2021. 2. 26.
Command Pattern Command Pattern은 게임에서 입력처리에 많이 사용된다. 실제로 사용해보면 여러가지 편리한 점이 많은데 가장 멋진 점을 뽑으라면 플레이어가 옵션에서 임의로 입력키를 바꿀 수 있는 기능을 구현할 수 있다! 아주 간단한 예제를 통해서 Command Pattern을 정리한다. 마우스 왼쪽 클릭을 입력하면 이동 명령을 Do 하면서 Stack에 쌓는다. 반대로 마우스 오른쪽 클릭을 입력하면 Stack을 거슬러 올라가면서 Un Do한다. ▼ 유니티 예제 ▼ 개념 Command Pattern의 개념은 그렇게 어렵지 않다. 단순하게 접근하면 명령어 클래스를 하나 만들고 그걸 변수로서 사용하는 것 뿐이다. 구현 로직은 아래와 같다. 1. ICommand라는 인터페이스를 만든다. public interface I.. 2021. 2. 25.