【问题标题】:Displaying a text when looking on a GameObject in Unity VR在 Unity VR 中查看游戏对象时显示文本
【发布时间】:2019-01-23 18:31:14
【问题描述】:

我正在尝试使用 Google VR 资产进行统一,这很容易,我已经构建了我项目中的大部分内容。

我只有一个问题,我找不到向播放器显示文本的方法...

在我的项目中,用户在模型周围走动,当他查看模型的特定部分时,会弹出一个包含正确信息的窗口。

我尝试过使用 OnGui 功能,但无济于事...

你知道怎么做吗?

【问题讨论】:

    标签: user-interface unity3d virtual-reality


    【解决方案1】:

    您必须使用世界空间画布或 3D 文本。您可能还需要一些广告牌(面向用户的文本)。

    我经常为此使用这个助手(只需拖动到一个新的游戏对象):

    using UnityEngine;
    
    [RequireComponent(typeof(TextMesh))]
    [RequireComponent(typeof(MeshRenderer))]
    [ExecuteInEditMode]
    public class Billboarded3dText : MonoBehaviour {
    
        public bool yawOnly = false;
        public float minimalViewDistance = 0.5f;
    
        private MeshRenderer meshRenderer;
        private TextMesh textMesh;
    
    
        private void OnEnable()
        {
            meshRenderer = GetComponent<MeshRenderer>();
            textMesh = GetComponent<TextMesh>();
        }
    
    
        private void LateUpdate()
        {
            var cam = Camera.main;
            if (cam == null) return;
    
            var lookDir = transform.position - cam.transform.position;
            if (yawOnly) lookDir.y = 0;
    
            if(Vector3.SqrMagnitude(lookDir) < minimalViewDistance)
            {
                meshRenderer.enabled = false;
            }
            else
            {
                meshRenderer.enabled = true;
                transform.rotation = Quaternion.LookRotation(lookDir);
            }
        }
    
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多