2014년 11월 10일 월요일

인터넷 없이 NuGet으로 패키지 설치하기

인터넷 없이 NuGet을 사용하기 위해서는 다음 두 가지 과정이 필요하다

  1. NuGet 로컬 저장소 구성
  2. 패키지 파일 다운 받기
NuGet 로컬 저장소 구성
여기를 참고하여 설정하면 된다. 정리하면 다음과 같다.
  1. 하드에 저장소로 만들 폴더를 생성한다
    1. 예)c:\LocalNuGetFeed
  2. Visual Studio에 도구>NuGet 패키지 관리자>패키지 관리자 설정을 선택한다
  3. 옵션에서 패키지 소스를 선택한다
  4. 사용 가능한 패키지 소스의 오른쪽에 추가 버튼을 클릭한다
  5. 아래 이름에 My Local Feed, 소스에 c:\LocalNuGetFeed를 입력하고 업데이트 한다
  6. 새로 만든 My Local Feed를 가장 위로 올린다

패키지 파일 다운 받기
    
https://www.nuget.org/api/v2/package/{packageID}/{packageVersion}

packageID는 NuGet 패키지 관리자 콘솔에서 입력하는 패키지 이름이다. packageVersion은 NuGet 페이지에서 Vision History에 있는 버전 정보다.

예를들어, 다음은 SuperSocket 1.6.0 패키지 파일을 다운 받는 URL이다

    
https://www.nuget.org/api/v2/package/SuperSocket/1.6.0
이렇게 받은 파일을 위에서 만든 로컬 저장소에 복사하고, 패키지 설치를 하면 된다.

2014년 11월 2일 일요일

안드로이드 유니티 리모트 4 연동 문제 해결하기

안드로이드에서 유니티 리모트를 연동하기 법은 구글형이 잘 알려준다. 여기서는 자주 발생하는 문제에 대한 해결책을 정리한다.
  1. 폰이 인식되지 않는다
  2. 인증되지 않았다
  3. 유니티에서 Play를 해도 반응이 없다

폰이 인식되지 않는다

일단 USB를 꽂으면, 인식이 되고, 탐색기로 봤을 때, 폰이 보이고, 폴더에 접근하여 파일을 복사하거나 삭제할 수 있어야 한다.

확인방법

  1. 탐색기에서 보이는지 확인
  2. adb로 확인
  3. 폰의 개발자 모드에서 USB 디버깅 활성화 체크

해결방법

  1. USB 통합 드라이브를 설치한다. (구글형에게 문의)
  2. 콘솔명령창에서 adb devices를 실행한다.
  3. 폰 설정에 들어가서 USB 디버깅을 활성화 한다. (구글형에게 문의)

폰이 인증되지 않았다

폰이 인식되면, USB 디버깅을 활성화하면, 유니티에서 Play를 할 때, 개발 컴퓨터의 접속을 허가할 지, 폰에서 묻는다. 이 때, 잘 응답하면 문제가 없으나, 잘못하면 인증이 안된 상태가 된다.

확인방법

  1. adb devices를 했을 때, 폰은 나오나 Unauthorized라고 나온다.

해결방법

콘솔 창에서 다음 명령을 실행한다
  1. adb kill-server
  2. adb start-server
위의 명령을 하고 다시 유니티에서 Play를 하면 폰에서 인증창이 다시 나온다.

유니티에서 Play를 해도 반응이 없다

유니티가 실행된 후에 폰을 연결한 경우, 유니티가 인식을 못하는 경우가 있다

확인방법

  1. 위의 문제의 확인 방법을 통해서 문제가 없는데도 Play를 하면 안된다

해결방법

  1. 유니티 에디터를 재실행한다

Blogger와 SystaxHighlighter 연동하기, 코드 문법 하이라이트

코드 문법 하이라이트를 위해서 SyntaxHighlighter를 사용한다.

설치방법

  1. 구글 블로거의 디자인 -> 탬플릿 -> HTML 편집 을 선택한다
  2. HTML에서 </body> 바로 위에 아래 태그를 붙여넣는다
  3. 저장을 한다.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


사용방법

<pre /> 메소드



<script /> 메소드

마우스로 2D 오브젝트 선택하기

유니티에서 2D 오브젝트란 ...Collider2D라는 이름의 컴포넌트를 포함하고 있는 오브젝트를 말한다.
Vector2 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
RaycastHit2D hit = Physics2D.Raycast(pos, Vector2.zero, 0f);
if (hit.collider != null) 
{
  //여기에 선택된 후 코드 삽입
}

2014년 10월 30일 목요일

안드로이드에서 유니티 콘솔 로그 디버깅

안드로이드SDK를 설치하고, 설치폴더의 "\sdk\platform-tools"를 PATH에 추가한다.

콘솔 명령창에서 다음과 같이 입력한다.

  1. 에뮬레이터의 Unity관련 로그만 확인할 경우
    1. > adb -e logcat -s Unity
  2. 연결된 디바이스로 Unity관련 로그만 확인 
    1. > adb logcat -s Unity
  3. 연결된 디바이스 목록 확인
    1. > adb devices

2014년 10월 28일 화요일

Facebook 테스트 환경 구축하기

이 글은 테스트 계정을 만들고, 요청을 확인하는 방법을 설명한다.

테스트 계정 생성
Test Users를 참고하여 앱의 테스트 계정을 만든다. 테스트 계정을 만든 다음 Modify를 클릭해서, 사용자 이름을 변경하자. 그러면 이메일도 같이 변경되서 나중에 에뮬레이터에서 테스트할 때, 좀 더 편하게 할 수 있다. 또한, 여기서 테스트 계정끼리 친구 관계도 맺어줄 수 있다.


받은 요청 확인하기
웹 브라우저에서 테스트 계정으로 로그인 한다음, Facebook 앱 센터로 이동하면, 요청을 확인 할 수 있다. 테스트 계정으로는 Graph API Explorer에 접속할 수 없으므로 이렇게 확인하는게 편하다.


주의사항
테스트 계정은 하나 이상의 앱에 소속되어 있어야 한다. 그래서, 초대를 테스트하기 위해서는 실제 유저 계정이 필요하다.

Parse.com에 파일 올리기

파스 서버에 .unity3d나 이미지 파일들을 올려서 호스팅하는 방법을 설명한다.

파스에서 직접적인 파일 업로드를 지원하지 않는다. 대신 Cloud Code를 사용하면 임의의 파일을 서버에 올릴 수 있다. Cloud Code - Getting Started를 참고하여, 프로젝트를 설정한다.

이 튜토리얼을 따라가는 것은 어렵지 않다. 전부 다 볼 필요는 없고 "A Simple Function"에서 "$ parse deploy"까지만 보면 된다. 즉, 프로젝트를 설정하고 해당 폴더 아래서 앞의 명령어를 실행하면 알아서 파일을 서버에 올려준다.

문제는 초기에 생성된 config, cloud, public 중에 어느 폴더에 파일을 올리면 어떻게 웹으로 접근할 수 있는지이다. 파스에서 자신의 앱을 만들었고 로그인을 하고 해당 앱의 설정으로 가서, "Web hosting"탭을 클릭하면, "ParseApp Name"에 호스트 이름을 입력할 수 있다. (여기서는 yourapp이라고 하자.) 그러면 아까 public폴더 아래 your mage.jpg라는 파일이 있다면, URL은 http://yourapp.parseapp.com/yourimage.jpg가 된다.