위젯의 크기
* 뷰포트 좌표유니티의 기본 단위와 NGUI UIRoot 위젯이쪽은 픽셀 단위의 크기가 달라서 어디가 픽셀 단위인지 적어둔다.
UISprite spr = .GetComponent();
UISpriteData spr_data = spr.GetAtlasSprite();
Rect inner_uv = new Rect();
inner_uv.Set(
spr_data.x + spr_data.borderLeft,
spr_data.y + spr_data.borderTop,
spr_data.width - spr_data.borderLeft - spr_data.borderRight,
spr_data.height - spr_data.borderBottom - spr_data.borderTop);
Debug.Log(
string.Format("inner_uv{0} position{1} localPos{2} drawingDimensions{3} drawRegion{4} localScale{5} lossyScale{6}",
inner_uv.ToString(),
pivot2DObj.transform.position.ToString(), // position : 유니티 뷰포트 단위
pivot2DObj.transform.localPosition.ToString(), // 픽셀 단위
spr.drawingDimensions.ToString(), // 위젯의 크기 (픽셀 단위)
spr.drawRegion.ToString(), // 그릴 텍스쳐의 좌표. 텍스쳐 UV
pivot2DObj.transform.localScale.ToString(), // 유니티의 스케일 단위. 기본 (1,1,1)
pivot2DObj.transform.lossyScale.ToString() // 0!
));
결과
inner_uv(x:153.00, y:39.00, width:8.00, height:8.00)
position(0.0, -100.5, 0.0)
localPos(0.0, -240.0, 0.0)
drawingDimensions(-300.0, -240.0, 300.0, 240.0)
drawRegion(0.0, 0.0, 1.0, 1.0)
localScale(1.0, 1.0, 1.0)
lossyScale(0.0, 0.0, 0.0)