We are working on a game using Unity 3D. And now we have a problem with Apple TV build: most of the TV's on which we tested the game use some kind of zoomed screen mode by default. And in our game the edges of the screen are important.
Is there a way to make a TV screen fit the image by default?
You can use Screen.safeArea and position your game edges inside.
And if still necessary build a view where the user can adjust your game edges to his screen edges.
Related
I am trying to make a game on mobile unity2d and I am having trouble getting this to work.
There are four game objects I am using. These represent the walls. These four gameobjects are placed on the edges of the screen and the player can only move within this space. However, when the device changes from an iPhone to an iPad, these walls do not appropriately appear in the correct spot. The iPad will show what the game would look like if running on an iPhone, with the top and bottom walls appearing closer to the middle rather than the top of the screen where they should be. How could I get these objects to stick to the edges and resize themselves based on the device's screen size?
iPhone:
iPad:
How am I supposed to get these walls to stay on the edges of the screen no matter what screen size it is?
I have only tried using scripts that scale the entire games resolution but even that doesn't work.
I am using Unity 2019.2 with its Vuforia plugin. My initial scene is just a menu without camera, from which AR scenes are loaded- These use regular Image Targets for 3D stuff as well as UIs in different screen spaces based on needs.
With the current configuration, the AR works normally under all Android devices and on two iPhones, 7 and 11, with the latest software updates. Only on the only iPad I can test on, an iPad Air 2 with the latest software updates, there is a strange bug I can find no answer to:
As soon as I load into a an AR scene from my main menu, instead of showing the camera view, it shows the splash screen again, frozen halfway through the default Dolly animation, or sometimes a black screen or weird pixelated markings (like something was extremely zoomed in). UIs that use "Screen Space - Overlay", or "Screen Space - Camera" with a non-AR camera, work fine, and the Image Targets are recognised just fine. But my 3D stuff that should be laid over the image targets just doesn't appear (it's there and active though, scripts that rely on them work). So I can say with confidence everything in the app works and the Splash Screen is just hiding my AR camera view.
I have tried to turn the Splash Screen off via script in one of the AR scenes, but that simply didn't do anything. Adding an AR or regular camera to the start menu made the whole app crash/not start up properly.
In the ARCamera, I have tried to make the Background transparent (didn't change anything) and adjusted clipping planes (neither). Turning off the Splash Screen in the Player Settings just turned the views black. Changing the Architecture to ARM64 didn't change anything, either. The XCode log doesn't say anything useful, either - the camera is working, Vuforia is working, everything is working just fine, there is just a Splash Screen in front of the iPad's camera that shouldn't be there, by all accounts.
I'm trying to build a "lights-off" feature in my ARKit app, where I basically turn off the camera video background and only show my 3D content, sort of like VR.
Could someone please help me figure out how to turn off the the video background. I can see that a material called YuVMaterial is being used to render the camera texture but setting that to single color actually covers the entire screen and doesn't show my 3D content either.
You can uncheck the UnityEngine.XR.ARFoundation.ARCameraBackground component under the main AR camera, it will just render a black background.
In Unity, you can switch between cameras while using ARKit. The main camera has a run time spherical video applied to it, so it's not actually your device camera, but a rendering of what the device camera sees. By switching cameras, you can effectively "turn off" the background video image, but still take advantage of the ARKit properties. Have fun.
I'm currently creating a google cardboard vr app and I'm running into an issue for the UI. The VR app is set up to be on rails by creating an animation for an empty object that contains the google cardboard camera prefab. I have a world space canvas that has 3 UI objects (backwards, pause, and forward similar to the iphone). In the first case the UI works for pausing (time scale set to 0) as seen in the image below.
However the issue I'm having is having those UI icons show up while in motion. The icons seem to go off in a weird direction have a mind of their own - even though I can track the canvas and know it's in the same position relative to the camera. If I pause in game or in the editor it returns to the correct state in example 1.
I have the canvas set to world space and the event camera is the google cardboard camera prefab. I'm not sure what's going on.
When I start an app that the first scene contains too much data, after 3 seconds the Unity splash is like "frozen"... By this way, if I move my head to see any part of the VR world, all is black.
I can only see a rectangle area with the unity logo from the splash, but the remaining space is black.
I suppose that it occurs because all data of the scene are being loading, but, is there anyway to avoid this problem?
I'm using a Gear VR and a Samsung Galaxy S7 Edge.
Check this image to see that the user see if move their head after the splash is "frozen":
Thanks in advance.