Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Aqsa31 · Sep 18, 2017 at 09:52 PM · unity 5cameraraycastphysics2d

Unity android screen resolution

I have made a simple 2D game on the latest unity version in free aspect ratio however whenever I change the screen to portrait or landscape things mess up. Now I have spent the whole day following tutorials and going through every tutorial or answer available but strangely not even one of the code helped. Here is how my screen looks on different resolutions

alt text alt text

Right now I'm using this code

 using System.Collections;
     using System.Collections.Generic;
     using UnityEngine;
 
     public class Screeratio : MonoBehaviour {
 
         // Use this for initialization
         void Start () {
 
             // set the desired aspect ratio (the values in this example are
             // hard-coded for 16:9, but you could make them into public
             // variables instead so you can set them at design time)
             float targetaspect = 16.0f / 9.0f;
 
             // determine the game window's current aspect ratio
 
             float windowaspect = (float)Screen.width / (float)Screen.height;
 
             // current viewport height should be scaled by this amount
 
             float scaleheight = windowaspect / targetaspect;
 
             // obtain camera component so we can modify its viewport
 
             Camera camera = GetComponent<Camera>();
 
             // if scaled height is less than current height, add letterbox
 
             if (scaleheight < 1.0f)
             {
                 Rect rect = camera.rect;
 
                 rect.width = 1.0f;
 
                 rect.height = scaleheight;
                 rect.x = 0;
                 rect.y = (1.0f - scaleheight) / 2.0f;
 
                 camera.rect = rect;
 
             }
             else // add pillarbox
             {
                 float scalewidth = 1.0f / scaleheight;
 
                 Rect rect = camera.rect;
 
                 rect.width = scalewidth;
 
                 rect.height = 1.0f;
                 rect.x = (1.0f - scalewidth) / 2.0f;
                 rect.y = 0;
 
                 camera.rect = rect;
 
             }
         }
 
         // Update is called once per frame
         void Update () {
 
         }
     }

and this doesn't seem to work as well. What should I do that my game runs smoothly on any screen size.

screenshot-52.png (424.9 kB)
screenshot-53.png (196.6 kB)
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by TheSOULDev · Sep 19, 2017 at 01:12 AM

For starters, anchor your GUI to the canvas. I'm pretty sure you're going to need to create 2 setups for each screen orientation or lock the screen orientation to one orientation. So, you'll probably want a script that replaces the positions of your elements based on screen orientation.

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Aqsa31 · Sep 19, 2017 at 09:02 PM 0
Share

I changed the orientation to landscape so portrait view is out of my game now, I tried anchoring gui to canvas however it does not work, whenever I switch to "Scale with screen size" landscape version I'm working on appears fine however when I switch to another landscape version like ratio 3:2 the whole background just goes out of camera view.

avatar image TheSOULDev Aqsa31 · Sep 20, 2017 at 08:28 PM 0
Share

Is there even a device that has a 3:2 ratio?

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

184 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Physics 2D Raycast is not working 3 Answers

Camera go through the wall. Please look at my script and help !!! 0 Answers

Rotating player relative to the camera (Unity C#) 1 Answer

Want to move object slowly to where the mouse clicks? 1 Answer

How do I change Raycast's direction based on movement input? 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges