Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 11 Next capture
2021 2022 2023
1 capture
11 Jun 22 - 11 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
2
Question by DevSkeletal · Jul 17, 2015 at 06:13 AM · cameraresolutionpixelorthographicaspect-ratio

Keep Aspect ratio/Letterbox and maintain pixel perfection

Hello everyone, first time posting on this account but thought id see if you guys had any ideas on how to help with this issue im having since im relatively new to programming

wondered if anyone had any ideas how to letterbox the screen or maintain a consistent aspect ratio in unity while maintaining pixel perfection via an orthographic camera

so heres how i made achieved pixel perfection in unity, first i made all my sprites a power of two but most importantly i set the pixels per unity to a power of two, in this case 32x32

secondly i made sure my orthographic camera's size right using this script

Camera.main.orthographicSize = Screen.height / 32.0f/ 2.0f;

Now this alone makes everything work fine so long as all the sprites PPU are set to 32 and the sprite sheets them-self are a power of two, however before i did this i also had another script which made sure the screen maintained an aspect ratio of 16:9 at all times so if the resolution changed the edges of the screen weren't cut off, i used the following script which i found online

const float KEEP_ASPECT = 16/9f;

void Update () { float aspectRatio = Screen.width / ((float)Screen.height); float percentage = 1 - (aspectRatio / KEEP_ASPECT); GetComponent().rect = new Rect(0f, (percentage / 2), 1f, (1 - percentage)); }

Now i dont fully understand how this method of maintaining aspect ratio works but it does function properly, however if you have the two together then the pixels will still flicker and shift

So can anyone here help me understand this better, all i want to do is avoid cutting the edges of the screen off, is there a method where i can keep pixel perfection and letterbox the screen to fit, would love any advice

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

0 Replies

· Add your reply
  • Sort: 

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

2 People are following this question.

avatar image avatar image

Related Questions

Same camera view on different resolutions 0 Answers

How to set constant orthographic viewport? 1 Answer

Why is the camera aspect ratio broken for the game tab? 0 Answers

Camera horizontal distortion? 1 Answer

What is the meaning of 1:1 in unity? 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