Почему пространство имен "IUnityRenderPipeline" вдруг отсутствует в скрипте Vuforia? - PullRequest
1 голос
/ 26 марта 2019

Я работал в 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.

...