Screen Space Overlay - ij¸¯ÅÍÀ§¿¡ Text Ãâ·Â
Camera.WorldToScreenPoint·Î ¿ùµå ÁÂÇ¥¸¦ ½ºÅ©¸° ÁÂÇ¥·Î º¯È¯ ÇÒ¼ö ÀÖ´Ù.
targetTrans´Â ij¸¯ÅÍ Æ®·£½ºÆûÀÌ´Ù.
offsetÀº Ÿ°Ù Æ®·£½ºÆû ¿ÀÇÁ¼ÂÀÌ´Ù.
using UnityEngine;
using UnityEngine.UI;
public class HudText : MonoBehaviour
{
public Transform targetTrans = null;
public Vector3 offset = Vector3.zero;
Camera uiCamera;
void Start()
{
uiCamera = Camera.main;
}
void Update()
{
transform.position = uiCamera.WorldToScreenPoint(targetTrans.position + offset);
}
}
À̤Ԥ¨¤Â¤Ô, TextÀÇ Alignment´Â ¼öÁ÷, ¼öÆò ¸ðµÎ Áß°£À¸·Î ¼³Á¤ÇÑ´Ù.
Screen Space Camera, World Space - ij¸¯ÅÍÀ§¿¡ Text Ãâ·Â
CanvasÀÇ RenderMode°¡ Screen Space Camera, World Space À϶§ UI ÁÂÇ¥¸¦ ij¸¯ÅÍ À§¿¡ Ãâ·Â ÇÒ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
- Camera.WorldToScreenPoint·Î Ä«¸Þ¶óÀÇ È¸é À§Ä¡¸¦ ±¸ÇÑ´Ù
- RectTransformUtility.ScreenPointToLocalPointInRectangle·Î ºÎ¸ð RectTransformÀÇ ½ºÅ©¸° À§Ä¡¸¦ ÀÚ½Ä ·ÎÄà À§Ä¡·Î º¯È¯ÇÑ´Ù.
using UnityEngine;
using UnityEngine.UI;
public class HudText : MonoBehaviour
{
//Target Object
public Transform targetTrans = null;
public Vector3 offset = Vector3.zero;
//Text UI Object
RectTransform rectTrans;
RectTransform parentRectTrans;
Camera uiCamera;
void Start()
{
rectTrans = GetComponent<RectTransform>();
parentRectTrans = (RectTransform)rectTrans.parent;
uiCamera = Camera.main;
var canvasArr = GetComponentsInParent<Canvas>();
for (int i = 0; i < canvasArr.Length; i++)
{
if
(canvasArr[i].isRootCanvas && canvasArr[i].worldCamera != null)
{
uiCamera = canvasArr[i].worldCamera;
break;
}
}
}
void Update()
{
if (targetTrans != null
&& rectTrans != null && parentRectTrans != null
&& uiCamera != null)
{
UpdateUiLocalPosFromTargetPos();
}
}
void UpdateUiLocalPosFromTargetPos()
{
var screenPos = uiCamera.WorldToScreenPoint(targetTrans.position + offset);
var localPos = Vector2.zero;
RectTransformUtility.ScreenPointToLocalPointInRectangle(parentRectTrans, screenPos, uiCamera, out localPos);
rectTrans.localPosition = localPos;
}
}
Âü°í)
ij¸¯ÅÍ¿¡ uGUI ÅؽºÆ® Ç¥½Ã
http://cocoamix.jp/archives/5735
CanvasÀÇ RenderMode°¡ Screen Space Camera, World Space À϶§ ij¸¯ÅÍ¿¡ uGUI ÅؽºÆ® Ç¥½Ã
http://westhillapps.blog.jp/archives/44661739.html
±âŸ
http://tsubakit1.hateblo.jp/entry/2014/07/22/010739
http://tsubakit1.hateblo.jp/entry/2016/03/01/020510
|