【问题标题】:Unity with vuforia showing 2d image when targed is detectedUnity with vuforia 在检测到目标时显示 2d 图像
【发布时间】:2017-02-21 17:11:41
【问题描述】:

我对如何在检测到的标记上显示简单的 2d 图像有疑问。我已经按照一些教程来展示 3d 模型,它工作正常。 3d没有问题。当我想添加普通的 2d object->sprite 时,问题就开始了。当我添加简单精灵时,我无法添加纹理,当我插入 UI 图像时,它与画布一起添加,并且在检测到目标时不显示。编辑器上的原始图像放置得如此之远以至于很难找到它。如果有人能指出我正确的方向,我将不胜感激。

【问题讨论】:

标签: unity5 augmented-reality vuforia


【解决方案1】:

在您的ImageTarget下,您需要有类似 Trackable Event Handler 脚本之类的东西。默认为DefaultTrackableEventHandler。

您可以找到两种方法: OnTrackingFound() & OnTrackingLost()。如你所见,这些方法正在启用或禁用Colliders 和Renderes,因此在检测到目标时显示 3D 模型没有问题。要显示像 Canvas 或 Sprite 这样的 2D 对象,您需要修改这些方法和几行代码。

例如:

 private void OnTrackingFound() {
        Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true);
        Collider[] colliderComponents = GetComponentsInChildren<Collider>(true);
        Canvas[] canvasComponents = GetComponentsInChildren<Canvas>(true);

        foreach (Canvas component in canvasComponents) {
            component.enabled = true;
        }

        // Enable rendering:
        foreach (Renderer component in rendererComponents) {
            component.enabled = true;
        }

        // Enable colliders:
        foreach (Collider component in colliderComponents) {
            component.enabled = true;
        }

        Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");
    }

这对我有帮助。

【讨论】:

  • 先生,随机单词怎么样,那么情况是一个单词已经显示它就再也没有显示了
  • 我不确定我现在是否理解你。你能解释一下你所说的“词”是什么意思吗?
  • 对于随机文本先生,例如当随机文本中显示“氢”时,如果随机文本更改,“氢”一词将被启用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多