I've been trying to use uDesktopDuplication by hecomi to project the connected Monitors inside Unity Editor (Unity Game Engine), his work was really interesting.
I should be contacting the developer to ask for help but then I considered posting here
Problem:
It seems that Desktop Duplication API is unsupported in Nvidia GPU's.
I've tried disabling Nvidia from my Device Manager to forcefully let unity use Intel HD / Also later tried setting Unity3D.exe to use Integrated Graphics in Nvidia Control Panel.
this works in my laptop with gtx 960m, but not in the one with gtx 1070.
Is it possible to keep using Nvidia and Project the monitors inside unity.
Is there any workaround for this problem. I'll be very grateful for any help.
Related
Unity Version: Unity 2019.3.9f1
Vuforia Version: 9.0.12
The app works fine in unity editor, it builds and runs successfully without error but no camera feed (black screen). Can't seem to find up to date solutions online.
Updated the Vuforia version to 9.2.7 does not seem to solve the problem.
I don't think to check the "Vuforia Augmented Reality Supported" under the "XR Settings" is an option, because it's able to deprecate. Also Checking the "Windows Mixed Reality" plug-in under XR Plug-in Management didn't solve the problem.
I already checked the "InternetClient" and "WebCam" in the publish setting for UWP.
Do I need to change anything in ARCamera's "Open Vuforia Engine configuration"? Some solutions mention disabling the Vuforia play mode will help, but I can't seem to find the option anywhere.
Anyone encountered the same issue and find a solution? Thanks.
I don't have a current solution, but would like to share my experience working with vuforia, UWP.
I found that there are varying breaking versions of unity and vuforia's SDK.
The latest version may not necessarily work I had to trial and error before I found a compatible version, so you might want to try that out. perhaps a older version of either unity/vuforia in reference with https://library.vuforia.com/platform-support/supported-versions.html
And yeah, definitely run your "hello world" tests on the sample projects first.
Best of luck, it's a great SDK ,once you get it to work.
I'm developing an app for the Hololens 1 in Unity, and it runs perfectly fine on the device when using Holographic Remote. However whenever I build and deploy the application through Visual Studio, it then only launches in 2D mode on the Hololens (as a flat "window" you can position in space). What settings control this behaviour?
Unity version is 2019.1.4f1,
Visual Studio is 2017 Community Edition,
I'm on Windows 10.
Developer mode is turned on on both the HL and my desktop. Virtual Reality Support is ticked in Unity, the Mixed Reality SDK is added to the list and the Build settings are on x86 / D3D Project.
I tried replacing my scene with one of the examples from the MRTK, but to no avail. Strangely enough, if I make a clean new project with nothing except the MRTK example in it it does deploy properly, so there must be something in my project interfering. I just can't figure out what.
Expected behaviour is that the application launches in "room scale" mode, i.e. all other applications disappear and the objects in my scene can be viewed in 3D.
EDIT: This has been marked as a possible duplicate. The answers given there do not solve my problem, however. I already made sure that "Virtual Reality Supported" is ticked in the XR settings and the SDK is added to the list. I don't think I have a Windows Insider preview, but since I was able to deploy perfectly fine with a fresh project I don't think that's really the problem...
It appears Vuforia was causing the issues. I got it to deploy in 3D with 'Vuforia Augmented Reality Supported' ticked and the following settings in VuforiaConfiguration:
Camera Device Mode: MODE_OPTIMIZED_SPEED
Device Type: Digital Eyewear
Device Config: Hololens
Video Background DISABLED
Device Tracker DISABLED
Furthermore, 'Vuforia' must not be added to the list of Virtual Reality SDKs in XR Settings.
Note that I have not tried all subsets of these settings individually, some of them might not have an impact whatsoever (except for the last one, I am quite certain adding that SDK will force the app into 2D mode).
Also note that I haven't verified that Vuforia actually works correctly on the Hololens, just that I can deploy the app in 3D mode with it enabled, given the above settings. If someone could confirm that Vuforia is even supported by MRTK v2?
EDIT: apparently the problem is also caused by ticking "WSA Holographic Remoting Supported" in the XR Settings, so be sure to disable that.
I have recently purchased a new computer :
https://pcandparts.com/hp-gaming-laptop-power-15-cb005ne-acid-green/
And I have installed Unity on it. The problem is that every time I try to move the layouts unity screen becomes black and freezes.
https://gyazo.com/fdbbba09cbee7005b1b55637cea19855
After trying to search online, post on multiple forums, contacting Unity Team and Nvidia support I have found that the only solution is running unity from the command using -force-glcore
In fact, Nvidia support have been unable to find the solution and Unity Team was stressing that I update my graphic drivers and Directx version however both of them are latest versions and so is Windows 10.
https://gyazo.com/ee810b7d18be7580d3703e42c7b46526
https://gyazo.com/ea751dcf39ebfc791f2dce59cd219a0c
https://gyazo.com/d43718cc693a7c9cac44f4924bf968da
This is the latest email I have received from Unity Team :
https://gyazo.com/df2d7e960484cd8c682e5b733860e935
as well as the link for unity forum that also includes the error and editor logs:
https://answers.unity.com/questions/1511848/unity-editor-crash-2.html?childToView=1512288#comment-1512288
I also tried multiple versions of Unity from 2017 and 2018.
I will provide any additional information needed.
How can I solve the problem so I can run Unity smoothly and without having to go to force-glcore ? And what is truly happening?
Thank you in advance for taking the time to read
How can I solve the problem so I can run Unity smoothly and without
having to go to force-glcore ?
There are other things you can try.
1.Use DirectX9 instead of DirectX11. The default on the new Unity verions is DirectX11.
Go to File ---> Build Settings... ---> Player Settings ---> Other Settings then un-check the Auto Graphics API for Windows API checkbox. From there drag and move Direct3D9 above Direct3D11 click Apply and restart the Unity Editor.
If Direct3D9 is already above Direct3D11 then move Direct3D11 above Direct3D9.
2.If #1 doesn't work, try other graphics API. You can try other 3 graphics API such as Direct3D9, Vulkan and OpenGL Core.
These are hidden and you must click the + sign then manually add them to the menu then drag them to the top.
Then you can chose which one to add and then drag them to the top to force Unity use them.
Once of these should work for you. Chose the one that works the most. You don't need -force-glcore when opening Unity to use this. Your issue is mostly a driver issue sometimes, a workaround like this solves it until the driver is fixed.
My question is can you built Windows (.exe) applications using ARToolKit in Unity? I've been working with Vuforia only to find out it supports mobile OS's and Win 10, but in editor on Win 8 it works just fine...
By the way has anybody tried connecting ARToolKit with MiddleVR, which I use for head and hand tracking, if so please share some thoughts about it.
I'm using NVisor ST50 + Inertia Cube 4, just in case :)
yes it is possible to build Windows stand alone applications using Unity and ARToolKit.
I cannot say anything in regards to your other question, sorry.
Has anyone done any Unity project where USB communication is done? I have to do USB communication with a board to get sensor values. How can I go about doing this USB communication?
You can link .NET DLLs in Unity by adding them to the project (drag and drop worked, if I recall correctly). So, code your board access library in a Visual Studio project using .NET, exposing the API you need to use and add the DLL.
You will be able to access the contents of the DLL from your Unity code (although I have only done this with C#).
Of course, this only works on PC. For other platforms, I don't know if this is even possible.
EDIT: Minor correction.