2018-10-26

Unity - 스크립트에서 한글 입력시 깨짐 현상

* C# 스크립트에서 텍스트를 대입하면 실행시 깨져서 나오는 경우가 있습니다.

예) _uiTitleText.text = "한글입력확인";

* 아무리 봐도 로직상에 문제가 없다면 스크립트 파일 형식이 UTF-8 형식으로 바꾸어 줘야합니다.

* VS나 기타 에디터로 스크립트를 UTF-8 형식으로 바꾸고 다시 저장하면 해결이 됩니다.

* Git이나 다른 소스 관리 툴이 파일 형식을 자동으로 바꿀수 있으니 그 부분도 확인해야 합니다.

Unity - 화면 좌표로 UI 좌표를 얻기

* 화면에서 마우스 클릭 위치로 UI 패널을 이동시키는 것과 같은 처리를 할 경우 RectTransformUtility.ScreenPointToLocalPointInRectangle()을 이용합니다.


RectTransform referRect = _scenePanel.GetComponent<RectTransform>();
RectTransform rectTrans = _infomationPanel.GetComponent<RectTransform>();
Canvas canvas = _infomationPanel.GetComponentInParent<Canvas>();
Vector2 mousePosition = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
Vector2 localPoint;
RectTransformUtility.ScreenPointToLocalPointInRectangle(referRect, mousePosition, canvas.worldCamera, out localPoint);

* 주어진 referRect를 참고하여 마우스 위치(스크린 위치)에 해당하는 상대적인 UI 좌표를 localPoint에 담습니다.

* 참조 캔버스의 월드 카메라는 null일 수 있으나 잘 작동합니다.

2018-10-22

2018-10-20

2018-10-06