簡體   English   中英

將精靈放置在相機的邊緣(Unity)

[英]Position sprite at the edge of a camera (Unity)

我是Unity的新手,在過去的一天中,我無法將簡單的Sprite游戲對象放置在相機的邊緣,在iPhone和iPad上看起來不錯(因此基本上是兩個長寬比)。

例如,這就是在iPad上的外觀(在iPhone上看起來應該相同)

在此處輸入圖片說明

這就是它在iPhone設備(或基本上任何其他電話)上的外觀。

在此處輸入圖片說明

那么,我該怎么做才能使第二張圖片上的球看起來像第一張圖片上的球?

先感謝您!

基於Orthographic攝影機, Size 5

屏幕尺寸為1536 x 2048(圖像中的Ipad Mini Retina)。

創建新腳本ResizeCamera並將此腳本添加到MainCamera

using UnityEngine;

    public class ResizeCamera : MonoBehaviour {

        // Use this for initialization
        void Start () {
            float TARGET_WIDTH = 1536.0f;
            float TARGET_HEIGHT = 2048.0f;
            float PIXELS_TO_UNITS = 102.4f; // 1:1 ratio of pixels to units

            float desiredRatio = TARGET_WIDTH / TARGET_HEIGHT;
            float currentRatio = (float)Screen.width/(float)Screen.height;

            if(currentRatio >= desiredRatio)
            {
                // Our resolution has plenty of width, so we just need to use the height to determine the camera size
                Camera.main.orthographicSize = TARGET_HEIGHT / 4 / PIXELS_TO_UNITS;
            }
            else
            {
                // Our camera needs to zoom out further than just fitting in the height of the image.
                // Determine how much bigger it needs to be, then apply that to our original algorithm.
                float differenceInSize = desiredRatio / currentRatio;
                Camera.main.orthographicSize = TARGET_HEIGHT / 4 / PIXELS_TO_UNITS * differenceInSize;
            }
        }
    }

這就是HTC屏幕的結果(1080 x 1920作為圖像)

在此處輸入圖片說明

那就是Ipad Mini Retina屏幕的結果(15636 x 2048作為您的圖像)

在此處輸入圖片說明

...根據您的精靈PixelToUnits值改變PIXEL_TO_UNITS變量值以獲得所需的屏幕尺寸。 確保停止場景,然后更改代碼的分辨率以更新相機尺寸,因為我們的代碼位於Start方法中。

在這里查看更多!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM