如何将Vuforia Unity项目构建为Windows PC独立应用程序?

时间:2016-06-19 22:36:27

标签: c# unity3d vuforia

我在Vuforia for Unity上有this app,但是当我为Windows构建它(作为.exe)时,它甚至没有打开相机。

必须有一种方法,因为您可以在Windows上测试Unity内的应用程序。

修改

我一直在搜索关于这个主题的解决方案,结果发现有人解决了这个问题,但它为plugin he developed收取250美元。

我可以告诉他的演示,他提供的插件所做的就是搜索可用的网络摄像头并让用户选择一个,然后激活它。

这个黑客背后的想法只是傻瓜vuforia 认为是在Unity的Play模式中,而不是一个独立的应用程序。

有人知道如何做到这一点吗?

Unity Play模式没有什么特别之处,它只是运行你在Unity编辑器中工作的场景,而Vuforia已经有了使用它的程序。事实上,在vuforia中触发Play模式的唯一脚本是在 VuforiaBehaviour.cs 中:

else if (VuforiaRuntimeUtilities.IsPlayMode())
    unityPlayer = new PlayModeUnityPlayer();

完整脚本:

using UnityEngine;

namespace Vuforia
{
    /// <summary>
    /// The VuforiaBehaviour class handles tracking and triggers native video
    /// background rendering. The class updates all Trackables in the scene.
    /// </summary>
    public class VuforiaBehaviour : VuforiaAbstractBehaviour
    {
        protected override void Awake()
        {
            IUnityPlayer unityPlayer = new NullUnityPlayer();

            // instantiate the correct UnityPlayer for the current platform
            if (Application.platform == RuntimePlatform.Android)
                unityPlayer = new AndroidUnityPlayer();
            else if (Application.platform == RuntimePlatform.IPhonePlayer)
                unityPlayer = new IOSUnityPlayer();
            else if (VuforiaRuntimeUtilities.IsPlayMode())
                unityPlayer = new PlayModeUnityPlayer();

            SetUnityPlayerImplementation(unityPlayer);

            gameObject.AddComponent<ComponentFactoryStarterBehaviour>();

            base.Awake();
        }

        private static VuforiaBehaviour mVuforiaBehaviour= null;

        /// <summary>
        /// A simple static singleton getter to the VuforiaBehaviour (if present in the scene)
        /// Will return null if no VuforiaBehaviour has been instanciated in the scene.
        /// </summary>
        public static VuforiaBehaviour Instance
        {
            get
            {
                if (mVuforiaBehaviour == null)
                    mVuforiaBehaviour = FindObjectOfType<VuforiaBehaviour>();

                return mVuforiaBehaviour;
            }
        }
    }
}

我试图改变它,但它不起作用,我认为是因为程序现在没有使用什么相机。如何强制此脚本使用集成网络摄像头?

我不会放过这个问题。

4 个答案:

答案 0 :(得分:1)

您可以在编辑器中进行测试,但只能针对iOS和Android进行构建。

答案 1 :(得分:0)

这里讨论过 - Vuforia augment reality windows

没有正式的解决方案来构建独立的应用程序。

答案 2 :(得分:0)

Vuforia仅支持手机,设备和HMD:http://vuforia.com/Devices

This discussion使其看起来像许可问题,其中StudierStube保留对桌面实施的权利。

答案 3 :(得分:0)

我有同样的问题但是有可能是Windows 10.您可以做的是设置:Windows存储作为统一构建设置的平台,并下载Visual Studio 2017.确保您已安装通用Windows平台开发您可以在visual studio安装程序上查看。完成所有这些后,您可以从visual studio构建应用程序,还可以创建一个可在Windows 10桌面上运行的应用程序包。 请参阅此链接,了解如何为Windows 10构建:https://blogs.windows.com/buildingapps/2016/10/12/how-to-develop-augmented-reality-apps-with-vuforia-for-windows-10/#om4WrsBhgs8u87hs.97