Version: 2017.2
Los rayos de la Cámara
Creando una impresión de un tamaño Grande o Pequeño

Usando un Frustum Oblicuo

Por defecto, el view frustum es arreglado simetricamente alrededor de la linea del centro de la cámara pero no necesariamente necesita que esto pase. El frustum puede ser “oblique”, que significa que un lado está en un ángulo más pequeño a la línea de centro que el el lado opuesto. El efecto es más bien como tomar una fotografía impresa y cortar un borde fuera. Esto hace que la perspectiva de un lado de la imagen parezca más condensada dando la impresión de que el espectador está muy cerca del objeto visible en ese borde. Un ejemplo de cómo esto es usado es un juego de carreras de carros dónde el frustum puede ser aplanado en su borde inferior. Esto haría que el espectador parezca más cerca a la carretera, acentuando la sensación de velocidad.

Mientras que la clase de la cámara no tiene funciones para establecer la oblicuidad del frustum, esto puede ser hecho muy fácil alternado la matriz de proyección:-

using UnityEngine;
using System.Collections;

public class ExampleScript : MonoBehaviour {
    void SetObliqueness(float horizObl, float vertObl) {
        Matrix4x4 mat  = Camera.main.projectionMatrix;
        mat[0, 2] = horizObl;
        mat[1, 2] = vertObl;
        Camera.main.projectionMatrix = mat;
    }
}

_Ejemplo de un C# script

function SetObliqueness(horizObl: float, vertObl: float) {
    var mat: Matrix4x4 = camera.projectionMatrix;
    mat[0, 2] = horizObl;
    mat[1, 2] = vertObl;
    camera.projectionMatrix = mat;
}

Ejemplo de un JS script

Afortunadamente, no es necesario entender cómo funciona la matriz de proyección para hacer uso de esta. Los valores horizObl y vertObl establecen la cantidad de oblicuidad horizontal y vertical, respectivamente. Un valor de cero indica que no hay oblicuidad. Un valor positivo cambia el frustum hacia la derecha o hacia arriba, por lo tanto aplanando el lado izquierdo o de abajo. Un valor negativo cambia hacia la izquierda o hacia abajo y consecuentemente aplana el lado derecho y de arriba del frustum. El efecto puede ser visto directamente si este script es agregado a la cámara y el juego es cambiado al scene view mientras el juego corre; la representación de alambre del frustum de la cámara cambiará a medida que varía los valores del horizObl y vertObl en el inspector. Un valor de 1 o –1 en cualquier variable indica que un lado del frustum es completamente planto contra la linea del centro. Es posible, aunque pocas veces necesario utilizar valores fuera de este rango.

Los rayos de la Cámara
Creando una impresión de un tamaño Grande o Pequeño
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961