I hope someone can help me. I have created a game with unity 5 for the school assignment but im struggling with the main menu. The problem is that i place some text on the screen but when i change the resolution then everything is displayed differently. At least not how and where i would like them. I have already watched some tutorial but none of them helped me.
So this is the menu on small resolution.
And this is on big resolution
But i would like to display it on big resolution like this:
The structure is the following:
Canvas
-Render mode: screen space camera
-Pixel perfect on
-plane distance = 1
-Everything else is in default settings
Panel
-Stretch horizontally and vertically
ExitGamePanel
-Center Bottom
-Text (Exit Game) as child
OptionsPanel
-Center Bottom
-Text (Options) as child
I have tried many settings but none of the would work. If anyone has an idea or could get me a link for a good tutorial i would really appropriate that.
Thank You!!
Attach Canvas Scaler to the Canvas if it is not attached already. And set it's UI Scale Mode to Scale With Screen Size.
Related
As a beginner on Unity, I'm looking for a solution to a rather annoying problem. I've been through a lot of videos and articles, but I still can't solve it.
On a blank Scene, in a Canvas containing a Panel and an Image. I'm trying to display this image correctly. It is a pixel art image.
The problem is that it remains blurred and badly arranged according to the resolutions.
I try to find a way to display it correctly while keeping its pixel art aspect.
(I looked at the pixel perfect cameras, the stretch settings and others, I set the sprite parameters to Point and No compression and others. But nothing works).
I don't know how to propose different types of zoom according to the resolution and that the image doesn't blur
If someone has a little time, and can make me a scene just with his camera, and therefore the canvas, panel and image, with good setting so that I can understand my error. It would be a great help for me !
Thanks for reading !
The background picture :
Try selecting the image in the assets and change the Resize algorithm to Point(no filter)
Hop, I found the solution thanks to this threed :
Official - Pixel Perfect Preview Package
By looking correctly at the settings apply. It came from the resizing of the Canvas and the management of the Camera.
Thanks for your messages !
And thanks to the author of the threed : rustum !
I have created a simple Unity AR Foundation app which places objects on a plane whenever the screen is touched. I would like to add some UI so the user can press a button rather than anywhere on the screen.
I have followed several different tutorials which seem to be doing mostly the same thing. I right-click the Hierarchy -> UI -> Button. I have scaled it so it should fit my mobile screen and anchored it to the center so it should be easy enough to find.
These are the canvas settings:
Might the UI somehow be hidden behind the camera feed from the AR Session Origin -> AR Camera? Am I missing any steps to anchor the UI to the screen?
As you can probably tell, I am very new to Unity but I feel like I have followed the tutorials for creating a UI, but it simply won't show. If you need more information, please just ask and I will provide.
Not sure but sounds like you might need to have that Canvas Scalar to scale with the screen size. Change the UI scale mode to Scale with Screen Size.
I was compiling the wrong scene. I had two very similar scenes, so when I compiled I didn't realize there were no changes and that I was inspecting the entirely wrong scene.
Once I changed to the correct scene the setup above worked as expected.
Here is my issue, the way my game works is that you click on the edges of the screen to navigate. This is done through an Overlay Canvas using OnPointerClick. I colored the navigation areas, and scale the canvas according to screen size and the navigation areas appear on their screen as they should. Yet they CANNOT click any of the elements for some reason. They have another monitor that works without issue. They've noted that their larger monitor is AMD. I've also confirmed that the ability to navigate in game has not been hindered. I have never had this issue (or any other testers) on 1920x1080 monitors.
I have completely exhausted what the issue can be, they cannot even navigate on a bare bones tutorial. Any ideas would be GREATLY appreciated.
Here is an image of their screen and the respective clickable navigation areas.
[img]https://i.imgur.com/NVQkA8g.png[/img]
Unity 2019.2.14f1
Put a Image component without sprite, because without that, you will not detect any click. You can set the alpha to 0 after you see that working.
Also check the anchors of the navigation areas.
I'm quite new to Unity, so I'm sorry if this is a basic question. I've been trying to set up the UI for a mobile game, but I'm not quite sure how to make the UI lock it's position, no matter the screen size. I've tried using anchors (though I don't fully understand how to use them properly), I've tried using a canvas scaler, I've looked at the Unity document and I just can't seem to find an answer. The buttons are off screen/half off the screen when I build the game to my device/switch screen sizes in the game view. Does anyone know how to fix this?
You can set your anchor point by selecting the UI object (such as a button) and then clicking here and selecting the right anchor point. You can also press down shift to set the pivot and/or alt to move the object to that point at the same time. The object should now be anchored to that point and keep its position even if the resolution is changed. You can set a precise position from the inspector, too. Simply adjust the Pos X and Pos Y variables. It will still adhere to the anchor point.
Note that you might have to play around with the Canvas object's UI Scale mode and its settings to get the right setup.
I am using the ViewportHandler script for Unity(https://github.com/dfsp-spirit/way2close/blob/master/Way2Close/Assets/Scripts/ViewportHandler.cs), to allow for my UI to appear the same in different resolutions. I am pretty sure that it was looking just fine and pretty much the same in all resolutions(with different quality graphics due to stretching, but that is fine).
I have opened up my project after a while and I am now noticing that while the game scene looks fine inside the editor, the UI elements change position for all resolutions when building the game.
I am attaching two screenshots to show the difference. The Editor one is the proper one where elements are aligned properly. The other one is when I am building the game and running it full screen.
The weird thing is that when building the game, every resolution displays the wrong way (as in picture 1). So the elements are actually resizing properly, but they are just in the wrong place for some reason and I really can't see why. Any ideas ?
(My Canvas is Screen Space - Overlay, Scale with Screen Size, Ref resolution is 2560/1440, Match width and height and ref pixels 100).
You don't need 3rd party scripts to achieve a constant size on different resolutions. Use the Canvas Scaler component on your canvas and set it to 'Constant Physical Size'. Unity should handle all the rest.
If images/sprites change position, try to change the anchor point to fit your needs.