UIは、3Dキャラクターに従ってください
文字ヘルスバーやダイアログボックス
UIの2次元座標に文字座標を変換する方法
3Dキャラクターを追跡する必要性にマウントするUI_Followスクリプトを
相殺するオフセット
UIをフォローするrectTransformの必要性を
以下の3D文字にUIなし、モードモードをレンダリングキャンバスを調整することなく、共通のUIを作成します。
public class UI_Follow : MonoBehaviour {
/// <summary>
/// 偏移量
/// </summary>
public Vector2 offset;
/// <summary>
/// 人物头顶标识
/// </summary>
public RectTransform rectTransform;
void Update()
{
FollowPlayer();
}
/// <summary>
/// UI跟随人物
/// </summary>
void FollowPlayer()
{
if (rectTransform == null) return;
Vector2 screenPos = Camera.main.WorldToScreenPoint(transform.position);
rectTransform.position = screenPos + new Vector2(offset.x, offset.y);
if (screenPos.x > Screen.width || screenPos.x < 0 || screenPos.y > Screen.height || screenPos.y < 0) rectTransform.gameObject.SetActive(false);
else rectTransform.gameObject.SetActive(true);
}
}
第二に、第二の方法は、モードの世界空間方法に変更レンダリングキャンバスを描画します
UIは、以下の3Dキャラクターを作成します。
現在のUIやキャンバス上のスクリプトを作成し、Update関数書かLookA
// Update is called once per frame
void Update () {
transform.LookAt(Camera.main.transform);
}