* 터치가 UI오브젝트 위에 있는지 검사
EventSystem.current.IsPointerOverGameObject()를 사용하면 PC의 마우스 입력으로는 잘 검사되는데, Android에서 실행하니까 false를 내뱉으며 동작하지 않았다.
> mwk888이란 사람이 포스팅한 코드중 발췌
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | bool IsPointerOverUIObject() { // Referencing this code for GraphicRaycaster // https://gist.github.com/stramit/ead7ca1f432f3c0f181f // the ray cast appears to require only eventData.position. PointerEventData eventDataCurrentPosition = new PointerEventData(EventSystem.current); eventDataCurrentPosition.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y); List<RaycastResult> results = new List<RaycastResult>(); EventSystem.current.RaycastAll(eventDataCurrentPosition, results); return results.Count > 0; } | cs |
* Animator CrossFade vs. CrossFadeInFixedTime
CrossFade는 상태(state)가 천이(transition)하는 도중에는 적용되지 않는다. 상태 천이 도중 강제로 다른 상태로 전환하고자 할 때 CrossFadeInFixedTime을 사용한다. (Unity3D 5.1부터 적용)
=> CrossFade( "state", duration, -1, 0.0f )를 사용해도 된다.
* Serializing Enumeration : 당연하게 숫자로 저장된다!!.
* GameObject::OnMouseDown 순서: 카메라 거리가 가장 가까운 오브젝트가 검출
=> 2D에서는(ortho-camera) 오브젝트의 z값으로 순서를 정할수 있다.