Kickstarter에는 한국이 포함되어 있지 않다.

외국의 유명한 클라우드 펀딩 사이트인 킥스타터(이하 Kickstarter).  나도 언젠가 크리에이터가 되어 제품을 출시해 보고자 하는 마음에 몇 년전부터 관심이 많았다.  가장 큰 클라우드 펀딩 사이트이거니와 성공한 게임 프로젝트도 종종 나왔기에 어떠한 절차가 있는지부터가 나에겐 큰 관심사였다.  간단히 소개를 하자면 all-or-nothing형식의 펀드를 조성하는데, 목표한 모금액에 달성하면 모금액을 모두 가져갈 수 있지만,…

[Unity] 에디터 프로그래밍 – 게임 오브젝트에 이름표(Name Tag) 달아보기

위의 이미지와 같이 Scene view에서 게임 오브젝트의 이름 정보가 UI로 표시되도록 구성해보려고 한다.  이를 위해 3단계로 나누어서 구현해 보았다. 게임 오브젝트 생성 이름표 정보 GUI 표시 이름표와 게임 오브젝트사이에 연결선 그리기 첫번째인 게임 오브젝트 생성은 상황에 따라 다르겠지만, 여기서는 단순하게 Resources 폴더에 있는 MyCube.prefab을 로드하여 생성하는 것으로 해보았다.  자, 이제…

[Unity] 에디터 프로그래밍 – 데이터 저장

에디터 윈도우를 통해 얻은 input 데이터들은 어떻게 저장을 해야할까.  예전에 커스텀 에디터 윈도우를 띄운 후 변수와 컨테이너에 열심히 값을 담았는데, 다시 에디터 윈도우를 열었을 때 모두 사라져 버려 당황한 적이 있다.  에디터 윈도우를 닫고, 새로 열때 마다 다른 인스턴스가 만들어지기 때문에 에디터 윈도우 클래스에서 선언된 변수는 이전 변수를 가리킬 수…

[Unity] 에디터 프로그래밍 – Drag and Drop UI 구현

에디터 윈도우를 하나 띄워보고, 프리팹을 드래그 앤 드랍하여 해당 오브젝트를 사용해보자.  우선 BEditorWindow.cs 스크립트를 만들고, OnEnable, OnDisable, OnGUI 함수를 추가하였다.   파일을 드래그하여 놓을 위치는 GUI.Box를 이용하여 영역을 잡아보았다. using UnityEngine; using UnityEditor; public class BEditorWindow : EditorWindow { [MenuItem(“Tools/DragNDropWindow”)] static void Init() { EditorWindow.GetWindow(typeof(BEditorWindow)).Show(); } protected void OnEnable() { }…

[Unity] 에디터 프로그래밍 – 한글폰트 적용하기

에디터 윈도우를 하나 띄워보고, 간단한 레이블을 추가해보자.  AEditorWindow.cs를 만들어, Editor 폴더 안에 위치시키는 것으로 시작할 수 있다.  (Editor 폴더는 스페셜 폴더로서 Editor 나 EditorWindow를 상속받은 스크립트는 이 폴더 아래에 위치해야 한다.) AEditorWindow.cs에 기본 골격을 갖추기 위해 Init, OnEnable, OnDisable, OnGUI을 추가하였다. 컴파일이 잘 되었다면, 유니티 탑 메뉴에서 Tools 아래에 My Editor Window를 선택하여…

[UE4] 발사체를 날린 후, 방향과 도착지점을 예측해 보았다

물리가 적용된 물체에 AddImpulse로 힘을 가하여 물체를 날려보낼 경우, 그 방향과 도착지점을 계산하여 예측해 보았다.  이전에 글에서 발사체를 궤적에 따라 날려보내는 방식을 소개한 적이 있는데, 이 글에서는 매 Tick에서 얻을 수 있는 물체의 속도로 부터 최종 위치를 예측해 보는 방식으로 테스트하였다. 제한 사항으로는 물체가 날아가는 동안 Linear Damping을 0으로 하였고, 중력가속도는…

도메인 정보 조회시 개인 정보 노출

도메인 등록 대행 업체(보통 호스팅 업체)를 통해 도메인을 등록 및 관리를 하고 있었는데, 뜻밖에 개인정보가 온라인 상에 노출되어 있는 것을 발견했다.  도메인을 가지고 있는 사람이라면 한번 자신의 도메인 정보을 찾아보자 (WHOIS조회).  나 같은 경우는 도메인 등록시 정직한 마음으로 추가한 나의 이름/주소/전화번호가 고스란히 노출되어 있었다.  아 이런 나의 무지함이란…  이름은 그렇다…

버그, 문제, 그리고 과정

문제 해결 방식은 프로그래머마다 다들 자기만의 방식이 있다.  그러나 그 방식들이 때론 try-and-error, 즉 시행착오법일 때가 많고 문제를 겉도는 경우도 많다.  그래서 어떤 기이한 버그(원인이 밝혀지지 않은 아주 가끔씩 발생하는 버그)는 프로그램팀내에서도 논리적으로 문제를 접근해 나아갈 수 있는 팀원에게 업무가 주어지곤 한다.  만약 자신에게 그러한 일이 잘 주어지지 않는다면, 스스로…

[UE4] Physics Sub-stepping(피직스 서브스테핑)에 대한 정리 (2 / 2)

#언리얼4 공부중 / UE4 버젼: 4.22.3 / 피드백 환영 Physics Sub-stepping(피직스 서브스테핑)에 대한 정리 (1 / 2) 에서는 피직스 서브스테핑에 관련한 용어를 정리해 보았다.  이제 substep의 tick을 받을 수 있는 샘플 코드를 작성해보자. Header에서는 FCalculateCustomPhysics 타입의 delegate를 선언하고, bind할 함수를 하나 정의하자. // Header UCLASS() class BALLMOVEMENTPROJ_API AStaticMeshActor : public AActor {…

[UE4] Physics Sub-stepping(피직스 서브스테핑)에 대한 정리 (1 / 2)

#언리얼4 공부중 / UE4 버젼: 4.22.3 / 피드백 환영 Physics Sub-stepping은 문자 그대로 보면, 물리 엔진의 작업 스텝을 서브 스텝으로 나눠서 작업이 행해진 다는 의미를 담고 있는 듯 하다.  무슨 소린지 어렵다.  일단 물리로 오브젝트를 다루려면 물리 프레임을 기반으로 게임상의 오브젝트들도 동작하여야 한다.  유니티에서는 FixedUpdate가 그 역할을 담당하는데, 언리얼에서는 fixed…