【问题标题】:Spawn object after AR recognitionAR识别后生成对象
【发布时间】:2020-01-13 08:29:12
【问题描述】:

我正在开发一个增强现实应用程序,它可以从 Web 下载资产包并根据图像目标实例化不同的对象。我要做的是不自动生成对象,而是“暂停”脚本并等待用户单击按钮以生成对象。

【问题讨论】:

  • 你能告诉我们你到目前为止有什么(代码)吗?如果您可以检测到图像并立即生成一些东西,那么做其他事情应该不难,而不是导致稍后发生,但这取决于您已经拥有的东西。
  • 是的,当然。我已经搞定了逻辑,但我对 Unity 还很陌生,我不确定如何实现这个功能。这是代码的 sn-p:到目前为止,我所拥有的是以下内容: public void OnFound() { .... StartCoroutine(WaitForReq()); ... } IEnumerator WaitForReq() { //Asset bundle 被下载并自动实例化 } 当找到图像目标时,onFound 函数触发协程,另一方面等待assetbundle 被下载和实例化。我正在寻找的是中断该过程并在单击时实例化对象。
  • 请使用您拥有的代码编辑您的问题。在评论中它是不可读的。

标签: unity3d augmented-reality instantiation


【解决方案1】:

抱歉之前的回答。这是代码的sn-p。

当用户扫描特定目标时,应用程序必须在其上显示(生成)一个对象。目前,该应用程序会自动执行此操作,无需任何用户交互。我正在寻找的是在下载包后中断生成过程。

public void OnFound() {
    Debug.Log("[EasyAR] OnFound targtet name: " + target.name());
    StartCoroutine(WaitForReq());
}

IEnumerator WaitForReq() {

    while (!Caching.ready)
        yield return null;

    WWW www = WWW.LoadFromCacheOrDownload(url, version);

    yield return www;

    bundle = www.assetBundle;

    clone = Instantiate(bundle.LoadAsset(model)) as GameObject;
}

我的想法是在模型实例化之前有一个 if 语句以中断该过程,但我不确定如何实现它。

希望能解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-04-30
    • 2012-12-29
    • 2011-11-16
    相关资源
    最近更新 更多