Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

Camera.worldToCameraMatrix

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public var worldToCameraMatrix: Matrix4x4;
public Matrix4x4 worldToCameraMatrix;

Описание

Матрица, которая преобразует из мирового пространства в пространство камеры.

Используйте это, чтобы вычислить пространственное положение объектов на камере или обеспечить пользовательское положение камеры, не основанное на преобразовании.

Обратите внимание, что пространство камеры соответствует соглашению OpenGL: спереди от камеры значение является отрицательным для оси Z. Это отличается от соглашения Unity, где спереди значение положительное для Z оси.

Если вы измените эту матрицу, камера перестанет обновлять свой рендеринг, основанный на Transform. Это будет продолжаться до тех пор, как вы не вызовете ResetWorldToCameraMatrix.


        
	// Offsets camera's rendering from the transform's position.
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Vector3 offset = new Vector3(0, 1, 0); Camera camera; void Start() { camera = GetComponent<Camera>(); } void LateUpdate() { Vector3 camoffset = new Vector3(-offset.x, -offset.y, offset.z); Matrix4x4 m = Matrix4x4.TRS(camoffset, Quaternion.identity, new Vector3(1, 1, -1)); camera.worldToCameraMatrix = m * transform.worldToLocalMatrix; } }