본문 바로가기

로바토의 하루하루

(332)
SVProgressHUD 똘똘하게 사용하기 어플을 쓰다보면 무언가 시간이 오래걸리거나, 로딩을 할때에는 심심치 않게 아래와 같은 진행바? 같은것을 볼수 있다. 전에 게임제작에 관련되서 글을쓸때도 언급했지만, 인터페이스에서 어쩌면 가장 중요한것은피드백이라고 할수 있다. 피드백이라 함은 결국 유저가 무엇가를 했을때 그 행위의 결과로 시스템에서 알려주는 것이다.단순히 버튼을 눌렀을대 '삑' 하고 소리가 난다든지,버튼의 그림자가 눌려서 눌리는 느낌을 준다든지. 액션겜의 타격감과 같이 구지 게임이 아니더라도 피드백은 인터페이스에서 아주 중요한 위치를 차지하고 있다. 오늘은 이런 피드백중에 보통은 액티비티인디케이터! AcitivityIndicator라고 불리우는 녀석에 대해서 알아보자 그냥 애플에서 제공하는 인디케이터를 사용해도 전~~혀 문제가 없지만,디자..
Day.1 Optional? 뭐가 옵션인디? Swift는 Apple이 2010년부터 개발을 시작해서 2014년도에 배포한 새로운 iOS의 언어다.이전까지는 Objective-C라는 언어가 있었는데, 여러 이유로 노선은 Swift로 전환한것같다. 나 같은 경우는 한창 아이폰 어플 개발 열풍이 불었을때 한 30개정도의 어플을 오브젝티브 씨로 개발했는데,먹고 살라고 어플 개발자는 그만두고 여기저기 프리랜서로 하루하루 먹고 살다보니 뜬끔없이 애플에서 스위프트라는 언어를! 똭! 기존 오브젝티브씨를 업데이트한게 아니라 아예 새로운 언어를 똭! 나온지도 꽤됐지만, 하루 하루 입에 풀칠하며 사는 나에게 새로 공부를 한다는건 사정상 어려워서 미뤄두었는데요즘 시간이 생겨서 대충 훌터보고 있는 중에! 발견한거슨!!!! 옵션어ㅓㅓㅓ언?optional?!?!?!?!?!?..
에디터 화면시점으로 카메라 위치 옮기기 이걸 알기 전까지 얼마나 개고생을 했던가....이렇게 돌려보고 저렇게 돌려보고...나이먹어서 3D할라니까 개념도 이해가 안되는데, 카메라의 시점은 더더욱 3D를 힘들게 했다. 그러던중 어떤 유튜버의 강의에서 보석과 같은 팁을 얻었는데,그거슨 바로!! 에디터에서 보는 시점으로 카메라의 위치를 변경시키는것이다. 이 얼마나 직관적이고 편한 기능이란 말인가!!!!!이걸모르는 몇달동안 개고생을 했던 것인가... 방법은 아주 쉽다. hierarchy에서 카메라를 선택한후 메뉴에서 GameObject를 선택하면Align with View를 하면 카메라의 위치가 현재 에디터상의 뷰로 전환된다. 이것은 카메라에만 적용되는것이 아니라 모든 오브젝트에 적용가능하다.하지만 카메라에 적용하면 아주 쉽게 뷰를 조정할수 있다.
WorldToScreenPoint 그리고 ScreenPointToLocalPointInRectangle 오늘은 아주 간단한것을 알아보자. 유니티의 좌표계는 조금은 특이하다.특히나 나같이 기본 네이티브에서 개발하던 사람입장에서는 더더욱 그런거 같다. 왜냐하면 좌표계가 하나가 아니다. 전체 좌표계와 스크린 좌표계가 존재한다. 용어의 선택이 옳바른지는 모르겠지만, 영문을 해석하면 비슷한거 같다. 픽셀단위의 좌표계와 유니티 내부의 스크린좌표계가 존재한다. 보통 에디터에서 작업할때는 스크린좌표계를 사용하는 것이고,UI에서는 픽셀단위의 좌표계를 사용한다고 생각하면 쉬울것이다. 왜 그렇게 사용하는지는 작업을 하다보면 자연스럽게 이해가 된다. 하지만 무제는 전화를 할때 어떻게 해야하느냐 라고 할수 있다.UI작업이나 터치작업을 하면 반드시 이 좌표값들을 변환해야할 경우가 생긴다.그래서 유니티에는 다음과 같은 두개의 함수를..
[Unity] 안드로이드 기기에서 테스트 하기 내가 터치 스크립트를 만들었는데 터치가 작동하는지 안하는지는 유니티엔진에서 알 방법이없다. 백날 윈도우 화면에서 테스트 디버깅해봐야, 실제로는 스마트폰으로 만들것이기 때문에 반드시 어플 개발은 폰에서 확인해 보아야 한다. 준비물은 안드로이드 기기와 USB케이블이 있으면된다. 1. 먼저 각각 제조사에 들어가서 USB드라이버를 받는다. SDKManager에 Tools에서 받아도 되는데 이상하게 난 오류가 뜨기 때문에.. 원래 우리나라폰은 그렇게 쓰는 것일 수도 있지만.. 2. 안드로이드 기기에 Unity Remote 어플리케이션을 설치한다. GooglePlay에 있다. 3. 기기에 설정에 들어가서 개발자옵션에서 "USB디버그" 옵션을 허용한다. USB케이블에 꽃여 있으니 "켜진 상태로 유지"도 허용해준다. ..
2016/09/05 개발노트 GCM서버, BookFlip, FileIO, RuntimePlatform 1. 푸쉬서버를 구축해 보자 예전부터 푸쉬서버 구축해보고 싶었는데, 문제는 안드로이드나 애플을 각각 다르게 해야한다는 점에서 아예 포기를 했는데, 이번에 GCM이 3.0으로 버전업이 되면서 둘다 지원한다고 한다. 그리고 AWS로 기본 서버를 구축하고 있는 상태이니까 한번 도전해 보고 싶다. 2. 책넘기기, Book Flip 단어장 어플을 만들겠다고 몇년전부터 생각했는데, 항상 흐지부지하게 아무 결과도 남기지 못했다.유니티 애셋 스토어에 보면 책넘기는 효과가 무료로 공개되어있으니까 그걸 함 사용해서 만들어 보자. 3. TEXT파일 입출력 아무리 서버가 있고 DB가 있어도, 역시 가장 편하고 기본이 되는 존재는 TXT파일이지 않을까 한다.유니티에서도 간단히 텍스트 파일을 입출력할수 있는데, c#에서 기본제공..
Mesh로 2D 삼각형 그리기 유니티는 엔진이니까 모든지 다 해줄거처럼 보였는데,의외로 삼각형을 기본 제공하지는 않는다. 그래서 메쉬를 이용한 삼각형을 만들어 보았다.코드는 다음과 같다. using UnityEngine;using System.Collections; public class ExampleClass : MonoBehaviour { void Start() { gameObject.AddComponent(); gameObject.AddComponent(); Mesh mesh = GetComponent().mesh; mesh.Clear(); mesh.vertices = new Vector3[] {new Vector3(0, 0, 0), new Vector3(0, 1, 0), new Vector3(1, 1, 0)}; mesh.uv ..
배열 형태의 JSON데이타 가져오기 (Feat.JsonUtility) 게임서버를 구축하고 서버와 클라이언트간의 데이타 통신을 할때 가장 편하게 쓸수 있는 형식은 아마도 JSON이라고 할수 있다. 결국 딕셔너리 형식으로 형태로 어떤형태의 데이타라도 통신할수 있기때문에아주 명시적이고 간단하게 사용할수 있다. 하지만 몇년전까지만 해도 unity에서 공식적으로 JSON을 지원하지 않았기때문에,다른 개발자분들이 만드신 라이브러리를 사용하는 경우가 많았지만,5.3버전이후로 JsonUtility라고 하는 클라스를 지원해주었다. 결국 이전에 사용하던 3rd파티들의 라이브러리는 사용하지 않는 편이 좋을것이다.(당연한 이야기이지만, 공식제공하는 유틸이 훨씬 성능면이나 속도면에서 유리하다.) 이 JsonUtility의 사용법은 다음과 같다. 아주 명료하게 사용할수 있다. 하지만 이 유틸에도 ..