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) 
{
  //여기에 선택된 후 코드 삽입
}