【发布时间】:2015-01-02 10:45:09
【问题描述】:
我有一个正交相机。视口rect的值如下...
x = 0
y = 0
W = 1
H = 1
假设我有两个比例为 1 的立方体。一个位于 x = 0 处,一个位于 x = 1 处。现在假设正交相机位于 x = 0.5(立方体之间的中间),位于立方体上方在他们身上,我需要多大尺寸的相机才能让立方体占据屏幕的整个宽度?
【问题讨论】:
标签: unity3d camera orthographic
我有一个正交相机。视口rect的值如下...
x = 0
y = 0
W = 1
H = 1
假设我有两个比例为 1 的立方体。一个位于 x = 0 处,一个位于 x = 1 处。现在假设正交相机位于 x = 0.5(立方体之间的中间),位于立方体上方在他们身上,我需要多大尺寸的相机才能让立方体占据屏幕的整个宽度?
【问题讨论】:
标签: unity3d camera orthographic
您尝试使用视口矩形是否有任何特殊原因?
如果您只是想让它们适合立方体,最好只更改相机的正交尺寸。
Link to Unity's API on Camera.orthoGraphic size
如果您想将它们完全适合相机的宽度,则必须根据纵横比更改正交尺寸。
但是,如果您尝试将它们完全适合 高度,则正交大小将为 1。
【讨论】:
希望大家可以使用这段代码,根据屏幕尺寸的不同,使相机的正交尺寸也不同。
查看代码块:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraScaler : MonoBehaviour {
public float scrnHeight =800f;
public float scrnWidth =480f;
public float tempRation = 1;
public const float fixedValue = 3f ;
//public Vector2 nativeRes = new Vector2 (480,800);
void Awake()
{
scrnHeight = Screen.height;
scrnWidth = Screen.width;
tempRation = scrnWidth / scrnHeight;
Debug.Log (Screen.height);
Debug.Log (Screen.width);
Debug.Log (tempRation);
Camera.main.orthographicSize = fixedValue / tempRation;
}
}
【讨论】: