【问题标题】:Why is the Namespace "IUnityRenderPipeline" Suddenly Missing from the Vuforia Script?为什么 Vuforia 脚本中突然缺少命名空间“IUnityRenderPipeline”?
【发布时间】:2019-03-25 21:14:50
【问题描述】:

上个月左右我一直在 Unity 工作。我已经完成了一些基本 AR 应用程序的迭代,但我已经更新了 Unity,现在我的代码抛出了各种错误。

上周我的应用在构建到我的 Pixel 手机时运行良好。现在我已经更新到 Unity 2018.3.9,Vuforia 8.1 现在缺少标题中提到的命名空间。有人知道这方面的信息吗?

如果我重新启动 Unity 直到我尝试将应用程序构建到手机上,应用程序将正常播放。一旦构建失败,由于编译器错误,我无法重播应用程序。

我在 Vuforia 脚本中输入了不同的命名空间并检查了我的脚本。我的脚本与我在以前版本中使用的脚本相同,问题为零。我在命名空间中有 Vuforia,但问题似乎来自 Vuforia 固有脚本。

这是 Vuforia 代码中似乎存在最多错误的部分:

\\\\

namespace Vuforia.UnityCompiled
{
    public class RuntimeOpenSourceInitializer
    {
        static IUnityCompiledFacade sFacade;

        [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
        static void OnRuntimeMethodLoad()
        {
            InitializeFacade();
        }

        static void InitializeFacade()
        {
            if (sFacade != null) return;

            sFacade = new OpenSourceUnityCompiledFacade();
            UnityCompiledFacade.Instance = sFacade;
        }

        class OpenSourceUnityCompiledFacade : IUnityCompiledFacade
        {
            readonly IUnityRenderPipeline mUnityRenderPipeline = new UnityRenderPipeline();

            public IUnityRenderPipeline UnityRenderPipeline
            {
                get { return mUnityRenderPipeline; }
            }
        }

        class UnityRenderPipeline : IUnityRenderPipeline
        {
            public event Action<Camera[]> BeginFrameRendering;
            public event Action<Camera> BeginCameraRendering;

            public UnityRenderPipeline()

\\\\\

除了直接缺少“;”之外,我对 C# 的了解还不够,无法知道对代码进行 QC 的微调在很多这样的行中。

应用应该做的是正确构建到我的手机。在那里,一个应用程序会读取我绘制的草图,并根据放置在 Unity 中的图像目标和虚拟按钮显示空间的模型或多个渲染。

【问题讨论】:

  • 您遇到错误了吗? IUnityRenderPipeline 看起来不像命名空间。它似乎是一个接口,因为您的类 UnityRenderPipeline 正在实现它。
  • 它丢失的原因可能是因为名称更改为其他名称,由于轻量级渲染管道,渲染管道的内容发生了很多。向 Vuforia 投诉。
  • 是的,我遇到了一个错误。 Unity 将其识别为命名空间错误。 CS0246 是错误代码,但人们说解决方法是在用户脚本中添加“使用 Vuforia”。然而,这是 Vuforia 脚本,所以它绝对是 Vuforia 问题。但它只是在更新 Unity 后才发生 lol
  • 更新:所以我不知道这个.. Unity 更新但不识别任何 Vuforia 更新.. 所以我更新了 Vuforia,然后新版本的 Unity 没有识别...现在已经修好了。不过感谢您的帮助。

标签: c# unity3d vuforia


【解决方案1】:

你好

不确定您是如何创建应用的,但这些错误看起来与引擎 SDK 版本与 Vuforia 示例不匹配时出现的错误相似。随着 SDK 的发展和 API 的创建/更改,示例也会与它们兼容。以下是检查两者版本的方法(假设您使用了 Vuforia 示例资源):

- SDK 版本:Unity Editor->Window->Vuforia 配置。 - 示例版本:Unity Editor->项目窗口:Assets/Vuforia/version。 此外,您可以删除旧版本的 Vuforia,然后从 Unity 的包管理器中重新导入。

谢谢,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多