【问题标题】:Unity orthographic camera size propertyunity 正交相机尺寸属性
【发布时间】: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


    【解决方案1】:

    您尝试使用视口矩形是否有任何特殊原因?
    如果您只是想让它们适合立方体,最好只更改相机的正交尺寸。

    Link to Unity's API on Camera.orthoGraphic size

    如果您想将它们完全适合相机的宽度,则必须根据纵横比更改正交尺寸。
    但是,如果您尝试将它们完全适合 高度,则正交大小将为 1。

    【讨论】:

    • 我不是在修改视口rect的大小,我是要修改正交相机的大小
    • 啊,既然您在问题中说明了视口矩形的值,我假设您正在尝试修改这些值。我可能应该完全阅读这个问题。我的错。但是,其余答案仍然适用。
    • 您能否详细说明我应该如何根据纵横比更改宽度?也许用公式之类的?
    【解决方案2】:

    希望大家可以使用这段代码,根据屏幕尺寸的不同,使相机的正交尺寸也不同。

    查看代码块:

    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;
    
    
    
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多