Start a new topic

Camera issues in editor on Windows 10

With the 8.3.0 SDK (and perhaps the previous SDK) the camera view can sometimes be distorted within the editor on Windows 10 when running in Unity 2018.2 and Unity 2018.3, but not in Unity 2018.1. And not on OS X. And we have seen this issue only on 2 of 4 Windows 10 computers. We have tested with embedded cameras, external web cams, and remote camera using the Unity Remote 5 Android app. Each of those cameras displays a different incorrect scaling and does not cover the full screen.


I have attached an example image of the video within the editor from a particular Windows 10 machine. The scaling of the image is wrong and there are black borders typically on the right side and top of the screen. We have seen reports of black or missing video in this forum and we are wondering if we are seeing a variation of that.


For now we will continue to use Unity 2018.1 as we haven't experienced these issues with 2018.1.

image.png
(135 KB)

Alexandru!
I can confirm that this is THE issue!

Thank you for helping us find out the solution. For now we will use 100% scaling on our windows devices. I guess this is a good bug to find for the wikitude dev team as well. Thank you for your help!

I will wait eagerly for a new patch note with this scaling fix.

Norman and Tactic LLC

Hi !


I don't how you found this but thanks a lot for resolving my issue. It's actually good and i can keep going finally.


(I changed from 125% display to 100 % in Windows Settings ).


Hi, 


I was finally able to reproduce the issue. It seems to be caused by having a scaling value in the Windows Display settings that is larger than 100%. I guess Unity changed how it handled this on Windows and somehow affected our rendering.

We'll try to include a fix for this in the next update, but until then, please try to run without scaling, at least to verify that this is the source of the bug for you as well.


Thank you,

Alexandru

Attached are pictures of strange behavior regarding the offset and black border. Depending on where the game window is, the center of the "background image" is offset according to the game window's location. I can't seem to find a correlation between the two positions, but this information may be helpful to you.

We experience this on two of our computers.

The third computer has the same offset no matter where the game window is.
It is quite strange that the behavior is not consistent between all computers. All computers are using unity 2019.1.6 with the 8.5sdk and provided DLL


Hi, 


I'm not sure if this will work with your workflow, but maybe you can use the preview in the Scene view to align the content to the target, as described in the documentation, at least until we find a solution for the issue.


Best regards,

Alexandru

Hello again Alexandru

To follow up, yes the black border appears when using this DLL with the additional debug.

I have double checked and created a new unity 2019.1 with the 8.5 SDK, it still has the offset with the black border. I checked with both .NET 4.x and .NET3.5 (just in case). I adjusted both the Scripting runtime AND api compatibility. These all had the offset. This is all on a microsoft surface book 2.

We will only really use the custom camera for editor, yes. The main issue we're having again is that we need to be able to accurately line up elements to its real world tracker, so having this offset bug in editor is rather troublesome.

I will post more information as i continue debugging. Thank you again.

Hi,


Thank you for posting the logs. The values sees right to me and are similar to what I'm getting on my devices, when running with this aspect ratio. When these logs were printed, was the camera still displayed with the black borders?


The DLL with the additional is compatible with Wikitude SDK 8.5. I tried it again with a new project downloaded from our website and with Unity 2019.1. I also enabled ".NET 4.x Equivalent" and it still worked for me. Perhaps the project you tried it on is using an older version of the SDK?


Also, thank you for reporting the issue with Plugin - Advanced Custom Camera scene. I can reproduce it and will fix the tiling as soon as possible. When running this scene with an aspect ratio > 1, does the camera look correct, without black borders? Does the same aspect ratio then not work properly the regular samples?

In general, I would not recommend using Input Plugins to work around this issue, unless you're only planning on running in the editor. In the final build there will be additional overhead caused by copying the camera frame from Unity, which can cause some performance degradation.


Best regards,

Alexandru

We've done more testing - now that we have time between projects.

Current Unity version 2018.3.0 and 2019.1.2
Wikitude sdk 8.5
Using the wikitude demo project

The Input Plugins API for Unity states that it can be used to correct incorrect aspect ratios. Our current work around is to try to get this to work.

The Plugin - Advanced Custom Camera scene works, centering the camera view, however the camera aspect does not scale when using a 9:16 aspect and instead tiles.

image



The Plugin - Simple Custom Camera just returns a black screen.

I've narrowed it down to the input module of the the plugin component. When using the plugin input module (to gain access to the CameraFrame) we get a black screen, presumably because our scripts are wrong.



Edit:  (By deleting the old post. You guys should add an Edit button for these forum posts)
It looks as though even if we recenter the image via the Plugin API, there is still an offset to the actual Trackable Object.

image



Regarding Norman's post above, he was testing with Unity 2018.3, with "PC, Mac & Linux Standalone <DX11>" platform setting. He was testing one of the existing Wikitude demo projects.


Regarding my post above, my platform was set to "Android". I changed it to "PC, Mac & Linux Standalone <DX11>" setting but the errors I saw did not change.


When both of us switched to the regular WikitudeUnityPlugin.dll we did not get errors, but there were the previously encountered issues with the camera display - the offset/scale/cropping issues as reported before.

Hi


I just downloaded the WikitudeUnityPlugin.dll file that you posted. I tried it with a Wikitude project of ours with the new version of Unity that was released today - Unity 2019.1.5f1 on Windows 10.


I see the same "TypeLoadException" error message for signature:InitializeCoordinateSystem as Louis Mougin posted above. Also the black screen.


After that message occurs there is a second error message:


> MissingMethodException: void Wikitude.IPlatformBridge.InitializePlatformCamera()


Then sometime after that the TypeLoadException message occurs over and over again.


NOTE: we have set our Scripting Runtime Version to ".NET 4.x Equivalent" as this is necessary to use the TextMeshPro 2.0.1 package. I think the default used to be ".NET 3.5 Equivalent" so this might be a non-standard setting.

Hi Alexandru,
I am part of Peter Oberdorfer's team here at Tactic.

This is the log:

 

Screen.width: 1015 Screen.height: 997
CurrentTexture.width: 640 CurrentTexture.height: 480
_feed.deviceName: Microsoft Camera Front
_feed.requestedWidth: 640_feed.requestedHeight: 480
_feed.width: 640_feed.height: 480
_feed.texelSize.x: 0.0015625_feed.texelSize.y: 0.002083333
Camera Angle: 0
cameraFrameAspectRatio: 1.333333
scaling.x: 1.309688 scaling.y: 1
UnityEngine.Debug:Log(Object)
Wikitude.WikitudeCamera:SetGL()
Wikitude.BackgroundCamera:OnPostRender()

Thanks for the assistance with this, and sorry for the late reply, we were gearing up for AWE. It was good to see part of your team at AWE.

Norman 
Tactic

PS : I forgot to say that I am using Unity 2019.2.0b3

Hi,

I had the same problem and I tried to replace the WikitudeUnityPlugin  that you gave but there is an issue. now i  have a black screen instead of a cropped screen.


I'm currently looking for solutions but my errors are the following :

 

TypeLoadException: Could not load list of method overrides due to assembly:C:\Users\lmougin\Documents\Unity3D\Projets\WikitudeProject\Assets\Wikitude\Dependencies\WikitudeBridge.dll type:IPlatformBridge member:void {0}(intptr) signature:InitializeCoordinateSystem

System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor (System.RuntimeTypeHandle type) (at <23c160f925be47d7a4fd083a3a62c920>:0)

Wikitude.BridgeFactory..cctor () (at <38e43d3a963543259c454dd3f5c33dad>:0)

Rethrow as TypeInitializationException: The type initializer for 'Wikitude.BridgeFactory' threw an exception.

Wikitude.WikitudeSDK.CreateWikitudeBridge () (at <f70e8761daad42caa5a92eb4e46f11f6>:0)

Wikitude.WikitudeSDK.get_WikitudeBridge () (at <f70e8761daad42caa5a92eb4e46f11f6>:0)

Wikitude.WikitudeCamera.OnApplicationPause (System.Boolean paused) (at <f70e8761daad42caa5a92eb4e46f11f6>:0)



MissingMethodException: void Wikitude.IPlatformBridge.InitializePlatformCamera()



TypeLoadException: Could not load list of method overrides due to assembly:C:\Users\lmougin\Documents\Unity3D\Projets\WikitudeProject\Assets\Wikitude\Dependencies\WikitudeBridge.dll type:IPlatformBridge member:void {0}(intptr) signature:InitializeCoordinateSystem

System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor (System.RuntimeTypeHandle type) (at <23c160f925be47d7a4fd083a3a62c920>:0)

Wikitude.BridgeFactory..cctor () (at <38e43d3a963543259c454dd3f5c33dad>:0)

Rethrow as TypeInitializationException: The type initializer for 'Wikitude.BridgeFactory' threw an exception.

Wikitude.WikitudeSDK.CreatePlatformBridge () (at <f70e8761daad42caa5a92eb4e46f11f6>:0)

Wikitude.WikitudeSDK.get_PlatformBridge () (at <f70e8761daad42caa5a92eb4e46f11f6>:0)

Wikitude.WikitudeCamera.get_CameraTexture () (at <f70e8761daad42caa5a92eb4e46f11f6>:0)

Wikitude.WikitudeCamera.Update () (at <f70e8761daad42caa5a92eb4e46f11f6>:0)







Hi, 


Attached you will find a new version of the WikitudeUnityPlugin.dll file which contains additional logging related to camera rendering. If possible, please replace the one in /Assets/Wikitude/Dependencies/ with this one and send us the logged values. They should look something like this:


Screen.width: 540 Screen.height: 383
CurrentTexture.width: 1280 CurrentTexture.height: 720
_feed.deviceName: FaceTime HD Camera
_feed.requestedWidth: 640_feed.requestedHeight: 480
_feed.width: 1280_feed.height: 720
_feed.texelSize.x: 0.00078125_feed.texelSize.y: 0.001388889
Camera Angle: 0
cameraFrameAspectRatio: 1.777778
scaling.x: 1.260905 scaling.y: 1
UnityEngine.Debug:Log(Object)


The .dll is compatible with the 8.5 release.


Thank you,

Alexandru

dll

Hi Alexandru


We downloaded the 8.5 update and retried it with Unity 2018.3 and 2019.1.2. The issues with the camera offset, scaling and cropping are still present. We have posted a video that illustrates the problem - https://youtu.be/wRlie-3N0Q4. This video was made on a Microsoft Surface book 2.


It is at least an inconvenience for us in that we will need to author the Wikitude apps in an earlier editor than we will build the release versions with. And including any features of later versions of Unity (such as the new AR features offered in Unity 2019) will be problematic.

Login or Signup to post a comment