Awake 함수의 경우에 호출되는 시점이


저는 AddComponent 했을때 바로 호출된다고 생각을 했는데 (생성자 처럼)


그렇지 않아서 Add 한 후에 바로 안에 함수를 사용했을때 에러가 났습니다.


(Awake에서 GameObject 내부에서 Get해온다거나 하는 처리시, Awake보다 함수가 먼저 불려서 발생)


근데 바로 호출되는 시점이 있더군요


프리팹에 Component를 미리 추가해두고 그 프리팹을 불러와서 생성할 경우


Awake가 생성자처럼 바로 호출됩니다.

  1. Layer를 기준으로 충돌을 무시할때 해당 오브젝트에 Layer를 설정하고 충돌을 무시할 레이어를 설정해준다.

    Physics.IgnoreLayerCollision(LayerMask.NameToLayer("Enemy"),                             
                                 LayerMask.NameToLayer("Enemy"), true);

    이렇게 하면 Enemy Layer끼리는 충돌하지 않는다.

  2. 각 오브젝트의 Collider를 부분적으로 충돌시키고 싶지 않을 때

    Physice.IgnoreCollision() 함수를 사용한다.

    사용법은 위와 같으나 Layer대신 Collider가 인수로 들어간다.



참조: http://www.devkorea.co.kr/reference/Documentation/ScriptReference/Physics.IgnoreLayerCollision.html

참조: http://www.devkorea.co.kr/reference/Documentation/ScriptReference/Physics.IgnoreCollision.html


NGUI 초반버전때 NGUI에서 제공했던것으로 생각되는 조이스틱이다.


버전이 바뀌어서 수정할 부분이 있다.


1. 이걸 임포트하고나서 UIJoystick.cs가 Plugin폴더에 들어있는데 이걸 NGUI/Scripts/UI 폴더로 옮긴다.


2. UIJoystick.cs 스크립트에서 에러가 날것이니 아래 2가지를 전부 수정한다.

   - Tweener -> UITweener

   - UICamera.lastCamera -> UICamera.currentCamera



Unity4에 맞게, NGUI 2.5.1 버전에 맞게 다 수정해서 올려두었다.


이걸 왜 지금은 제공하지 않는건지 모르겠다.


(이거 있으면 정말 편한데.. 이거 없어서 얼마나 뻘짓을 했는지..)



처음부터 그냥 제공했으면 됬을거 아냐!





만약 조이스틱 컨트롤이 작동을 안할 경우에 Layer가 설정되어 있기 때문이므로 다른 Layer로 바꾸거나 Default로 바꿔주면 작동한다.


참조 : http://www.tasharen.com/forum/index.php?topic=55.0




NGUI Joystick.unitypackage