비행기 도그파이팅 게임을 만들다보면 적 위치에 맞춰서 표적 마크를 보여줘야 한다. 안 그러면 잘 안 보이니까.... 표적 마크가 적의 위치에 따라서 바뀌는걸 여러가지 방법으로 구현할 수 있다. 적 오브젝트의 자식으로 추가해두는 것이 한 가지 방법. 그러나 3D 객체가 자유자재로 움직이는 상황에서 그대로 2D UI가 유지되도록 하는 것은 귀찮기도 하고 또 효율도 별로라서 다른 방법을 생각했다. 필요한건 플레이어의 카메라와 적의 게임오브젝트, UI 정보. 이것들이 있으면 UI가 그려져야 할 위치를 계산할 수 있다. 나는 UI를 그리기 위해 NGUI를 사용하기로 했다. Camera의 WorldToViewport 행렬을 이용해서 Viewport 상에서의 위치를 계산하고 이것을 NGUI의 좌표계로 변환하는 것이다..
Unity에서 AssetBundle을 쓸 일이 생겼는데, 그 중에서도 특히 Scene AssetBundle에 관심이 생겨서 몇 가지 테스트를 해봤다. 원래 Unity에서 Scene을 로드할 때는 Application.LoadLevel을 통해서 하는데, 원래는 Build Setting에서 Scene을 추가해줘야 한다. 그런데 AssetBundle을 이용하여 Scene을 실행할 때는 어떻게 해야하는지에 대한 설명이 빈약하다. 보통 예제들을 보면 AssetBundle을 WWW를 통해 다운로드 받은 뒤, www.assetBundle.LoadAll()을 한다. 그런데 직접 테스트 해 본 결과, LoadAll을 하지 않아도 LoadLevel을 하는데 문제가 없다. Application.LoadLevel의 인자로 넣..
루비 언어도 모르고, RoR은 당연히 모르고, 그 외 사용하는 프레임워크들을 전부다 모르는 상태에서 이걸 하려고 하니 정말 삽질을 많이 했다.사실 코드 자체는 정말 심플한데 구조를 잘 모르다보니 뭐가 어떻게 돌아가는지 몰라서 더 삽질을 심하게 했던 것 같다. 일단 환경은 다음과 같다.RoR로 API 서버가 돌아간다. URL 라우팅 같은건 RoR을 쓰는게 아니라 Grape라는 semi-framework를 사용한다. 파일을 저장할 때 로컬에 저장하는게 아니라 AWS S3에 저장하려고 한다. 0. 라이브러리 추가# Image Uploadgem 'paperclip', '~> 4.2'# AWSgem 'aws-sdk' Gemfile에 위 내용을 추가하고 'bundle install'을 해준다.paperclip 버전..
- Total
- Today
- Yesterday