Как привязать камеру к объекту в unity3d
Перейти к содержимому

Как привязать камеру к объекту в unity3d

  • автор:

 

Unity Camera follow Player

In this article you will see how to make the camera follow player using a script in Unity. In the below sections, you can find more methods like making the camera as the child of player and using Unity Cinemachine.

Camera Follow Player with Script

Set your camera as required by adjusting the transform in the editor. This will be your initial camera position. We will calculate the offset based on this in the script.

  • Create a new script by name Camera_Follow in the project window using create>new C# script.
  • Copy and paste the code below in the script.
  • Add the script to camera using add component button in the inspector window or drag and drop the script to the camera.
  • Drag and drop the player gameobject to the Camera_Follow script.
  • Run the game and the camera will follow the player.

If you are updating the camera position in the update function you can see that the player moves in and out of the scene if your game is running at a higher FPS. You might not see this in every case but it’s best to use “LateUpdate”. If you still find it difficult, you can just grab the asset below from the Unity asset store and solve all your Unity camera follow problems. You can read more about the Unity update function in our other blog post.

Making the camera as child of the Player

  • Drag and drop the camera into the Player gameobject in the Hierarchy window. This makes the camera a child of your player.
  • Now you can set the camera view, distance, and angle.
  • When the player gameobject moves the camera follows the gameobject as the camera is a child of the player gameobject.

But there is one issue with implementing camera follow in this manner. The problem comes when the Player rotates. This method is most effective in the case of 2D platformer games and First-person view.

When the parent object rotates, the child rotates along with it. So, when the player gameobject rotates, the camera rotates along with it, sometimes making the view disturbed and skewed. This can lead to poor gameplay experience. It is often not advised to use this method unless you are very sure of your character movement. So, it’s recommended to use scripts to control the camera movement.

Implementing Unity Camera Follow Player using Cinemachine

With the release of Unity Cinemachine a lot of camera features have been inbuilt in the virtual camera. Let’s see how to make the camera follow the player using virtual Vcam in Cinemachine.

Step1: Install Unity Cinemachine

  1. Go to Windows>Package Manager.
  2. If you are using Unity 2021 then select Packages: Unity Registry. You can skip this step for older versions.
  3. Search Cinemachine and Install it.

Step2: Add a virtual cam

  1. In older versions of Unity, you will see a Cinemachine option on the main menu. For Unity 2021 this option is moved inside Gameobject.
  2. Go to Cinemachine>Virtual camera.
  3. This will add a Vcam to the scene and a Cinemachine brain to the main camera.
  4. We need only one Vcam for this purpose.

Step3: Assign the player to the Virtual Cam

  1. Select the Virtual camera in the Hierarchy window.
  2. Go to the inspector window and find the CinemachineVirtualCamera component.
  3. Drag and drop your player to the follow option in the CinemachineVirtualCamera component.
  4. In the body component select framing transposer.
  5. Reduce x, y, z damping in the body component to reduce the delay in follow.

Play the game and the camera will follow the player.

This method cannot be used if you have multiple virtual cams for making cutscenes.

How to make the camera follow an object in Unity3D

In this tutorial, we are going to learn how we can make the camera follow an object in Unity3D using two different methods. The first one is by writing a script that updates the position of the camera according to position of the object. The second one is using Cinemachine component of Unity3D.

A Little Bit Vector Algebra

Before we start writing our CameraFollow script, first we need to review our knowledge about vectors a little bit. If you are already familiar with vector algebra, you may skip this part. As you probably know, we represent positions of objects in Unity3D using vectors. In 2D space, we need 2 numbers to represent a position. Likewise, for 3D space, we need 3 numbers. To make it simple, for now, we are going to study in 2D space first, then move our discussion to 3D space.

As we mentioned above, in 2D space we need two numbers to represent a position. For instance, A=(2,3) represents a point on 2D space such that 2 units on the x-axis, and 3 units on the y-axis. In the same way, B=(2,-1) represents another vector.

basic vector algebra for following an object in Unity3D

Vectors are cool mathematical objects that you can perform several mathematical operations like summation, subtraction, different kind of multiplications, etc. If you would like to deep dive into game development, you should definitely be comfortable if you are not familiar with them. But for this tutorial, we are only going to cover basic operations.

basic vector algebra for following an object in Unity3D

basic vector algebra for following an object in Unity3D

Assume that you are at the center of the coordinate space. This point is called as the origin. And the coordinates of the origin are (0,0) in 2D space. Now assume that you are walking on the vertical axis to the up direction( i.e y-axis) by 3 units and then in the right direction by 2 units. Your final position will be the point (2,3). Alternatively, you can walk along the A. The final position will be the same. Let’s say A1=(0,3) and A2=(2,0). As you may notice we can represent vector A as the summation of two vectors, A1+A2. When we want to sum two vectors, we sum the first components and obtain the first component of the final vector. Likewise, we have to add the second component of two vectors to obtain the second component of the final vector.

Similarly, we can add any two vectors to obtain a third vector. For instance, if we add vector B to vector A, we get C which represents another position in the 2D space.

In addition to summation, we can multiply vectors by numbers (furthermore, you can multiply a vector with another vector but this is out of our interest, here). For instance, we can multiply vector B by 2. In this case, we will get a vector that is represented as (4,-2). Furthermore, you can multiply a vector with a negative number. For example, if you multiply B with -1, then you will get (-2,1).

All of our discussion here can be generalized to higher dimensions. All the mathematics is the same for 3D space also.

Up to now, we made a review of the basics of vector algebra and we are going to use these operations while we are writing a camera follow script.

Following an Object using CameraFollow Script

First, we will start with a basic script then we will make it better. Let’s start.

Assume that we have an object at some position in our scene. Let’s say the position vector that represents its position is O. And we have a camera that is located at some point in the scene that is represented by a position vector C.

position vectors of object and camera

Our aim is to update the position of the camera according to the object’s position. Therefore, we have to determine the position of the camera according to the object’s position. To do this, we need the position vector from the object to the camera. We can obtain this relative position vector by subtracting O from C:

Therefore, we can determine the new position of the camera by adding this relative direction vector to the object’s instantaneous position.

Create a new script and change its name to CameraFollow. Assign this script to your main camera.

As mentioned above, we get the relative position vector by subtracting the target object’s initial position from the camera’s initial position. We add this offset vector to the object’s position vector to find the new position vector of the camera. Do not forget to assign the target object into your script from the inspector.

We can make it smoother if we use the Vector3.Lerp method. Lerp method is used for linear interpolation. If we update the position of the camera with a delay, we will obtain a smooth movement. If you add a smoothness variable, you can control the delay.

Let me explain linear interpolation for those who are not familiar with. Linear interpolation is a method that returns a value between two values. In the Vector3.Lerp method, we used three arguments. The first and second ones are position vectors and the third one is the interpolation value. Assume that the first vector is a zero vector and the second vector is (1,0,0). If the third value is 0.5 then Vector3.Lerp method will return a vector (0.5, 0, 0). Likewise, in our CameraFollow script, we used smoothness*Time.fixedDeltaTime. Therefore, in each FixedUpdate() method call, the position vector is updated a small amount. This will create a smooth movement.

And this is the result:

Let’s take our script a step further. Now, we would like to specify a few coordinates relative to the target object and switch the position of the camera to these specified coordinates.

To do this, we can declare an enum and therefore when we want to switch the relative position, we can specify one of the selections.

Following an Object Using Cinemachine

In the second part of this tutorial, we are going to see how we can follow an object using the cinemachine component. First, we need to download and import the cinemachine from the asset store. If you have problems with importing cinemachine, you may need to restart Unity.

downloading cinemachine for Unity3D

Add the Cinemachine Brain component to your main camera. Cinemachine Brain is the control point for the virtual cameras that we will create.

creating a virtual camera to following an object using cinemachine

Now we can create several virtual cameras, control the behaviors of them and switching between them. But for this tutorial, we will create only one virtual camera to show how we can make the camera follow an object.

Create a virtual camera from the Cinemachine menu.

Click on the newly created virtual camera. Arrange your camera position, rotation or other settings as if it is your main camera. Then assign your target object to the Follow slot. If you would like to rotate your camera according to your object, you can assign it to Look At slot, also.

following an object using cinemachine

You can fine-tune the delay of the camera behind the movement of the object by changing damping values in each direction.

Hello, my name is İsmail. I am an indie game developer. I have been developing digital games for five years. I have released several games. I have BS degrees in electrical engineering and physics. I love arts and science. The idea of creating worlds and experiences brought me to the game development which is also directly related to the arts and science.

You may also like.
Raycasting in Unity3D

by İsmail Çamönü · Published August 28, 2020 · Last modified October 17, 2020

The difference between Update, FixedUpdate and LateUpdate

November 16, 2019

by İsmail Çamönü · Published November 16, 2019 · Last modified October 17, 2020

How to draw lines, circles or anything else using Line Renderer

December 8, 2019

by İsmail Çamönü · Published December 8, 2019 · Last modified September 26, 2020

Помогаем камерам в фильмах и играх

Получившая награду «Эмми» система Cinemachine — это набор инструментов для создания динамических, умных, не требующих программирования камер, создающих лучшие кадры на основе композиции сцены и взаимодействия объектов в ней, что позволяет вам настраивать, разрабатывать, экспериментировать и задавать поведение камеры в реальном времени.

Воспользуйтесь пакетным менеджером Unity (в верхнем меню: Window > Package Manager), чтобы выбрать и установить Cinemachine. Если вы не видите этого пакета, найдите выпадающее меню над списком и выберите All packages.

Cinemachine бесплатна и доступна для любого проекта. Если система уже установлена, вы можете обновить ее до последней версии.

Harold Halibut by Slow Bros

Cinemachine ускоряет разработку игр. Она освобождает вашу команду от разработки дорогостоящей логики поведения камер и позволяет сразу же разрабатывать и прототипировать новые идеи, одновременно сохраняя настройки в режиме Play. Модули камеры Cinemachine были доведены до совершенства за долгие годы использования в разных условиях, от шутеров с видом от первого лица до игр со следящей камерой, от 2D до 3D, от игр в реальном времени до кат-сцен.

Основное поведение

Composer

Настройте камеру так, чтобы она автоматически поворачивалась и следила за вашими объектами в любой точке экрана. Composer позволяет осуществлять процедурную компоновку в реальном времени, настраивать задержку следования, ширину/высоту заглушения и даже опережающий просмотр движения, чтобы профессионально управлять кадром.

Transposer

Прикрепите камеру к любому объекту или прикажите ей следовать за любым объектом. С помощью большого количества настроек и поведений вы можете задать, как именно камера будет следовать за объектом и что будет делать в различных условиях.

Обзорные камеры

С легкостью управляйте орбитальными камерами в приключенческих играх от третьего лица с помощью проверенных в реальных условиях современных установок для парящих камер. К вашим услугам — многочисленные настройки, такие как скорость и форма орбиты, возвращение к центру, заглушение и тип ввода. Крайне точно управляйте несколькими обзорными камерами так, как требуется для событий в игре.

Cinemachine для 2D

Cinemachine поддерживает насколько характерных для 2D функций, включая ортогональную отрисовку и 2D-кадрирование, с помощью которых вы сможете компоновать, отслеживать и следовать за объектами. Настройка мощной 2D-камеры крайне проста.

Target Groups

С легкостью отслеживайте группу объектов и настраивайте вес и важность каждого из них. Функция Target Group позволяет динамически настраивать методы слежения, компоновки, настройки поля зрения и даже положение камеры, в зависимости от действий множества объектов.

Пользовательские смешения

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

Расширенное управление

Impulse

Модуль Impulse является основой полноценной системы тряски камеры. Настройте источники импульсов на объектах, и камера будет соответствующим образом реагировать, согласно масштабу и дистанции, выполняя тряску в 6 направлениях, которые вы можете задать вручную или сгенерировать процедурно.

 

Микшер

Изменяйте свои кадры, смешивая до 8 виртуальных камер, и управляйте смешением вручную с помощью Timeline или посредством кода. Микшер — это крайне гибкая система, где характеристики нескольких камер могут объединяться для создания идеального кадра в меняющихся условиях.

Коллайдер

С легкостью управляйте и автоматизируйте уклонение от стен и объектов любой камеры Cinemachine, не прибегая к программированию. Коллайдер позволяет использовать несколько способов удержания камеры от столкновения с объектами мира.

Ограничитель

Задайте пределы помещений для своих камер, что автоматически запретит им выходить за границы определенных объемов или зон и сэкономит ресурсы (в отличие от коллайдеров).

Легко добивайтесь эффекта ручной съемки или добавляйте другие типы тряски камерам без необходимости создавать ключевые кадры, использовать пресеты или ручную настройку. Многоуровневая система шума Perlin в Cinemachine также снабжена визуальным дисплеем, на котором вы сможете увидеть, что именно происходит.

Приоритет

С легкостью управляйте приоритетом камер в больших средах с машинами состояний для достижения лучшего поведения камер при любых сценариях.

Разделенный экран и режим «картинка в картинке»

Без усилий настраивайте несколько «мозгов» Cinemachine для получения режимов «картинка в картинке», разделенного экрана на две или четыре части. Назначьте камеры Cinemachine к одному или всем «мозгам» и даже смешивайте изображения от одиночного и разделенного экранов и наоборот.

Следящее увеличение

Автоматически всегда получайте на экране объекты верного размера в сценариях, где положение персонажей может изменяться. Камера будет динамически изменять уровень увеличения, чтобы объекты всегда отображались нужного размера. Отлично подходит для интерактивных сцен диалогов.

Интеграция стека постобработки

Настраивайте изображение с каждой камеры Cinemachine так, как нужно вам, и смешивайте результаты. Cinemachine поддерживает профили постобработки и будет обрезать или смешивать эти настройки в зависимости от того, что делают камеры.

Clear Shot

Всегда получайте отличные кадры. Если что-то встанет между персонажем или объектом, Clear Shot выберет самую подходящую камеру, в зависимости от оценки кадра. Эта функция отлично подходит для повторов или кат-сцен в изменяемыми сценариями.

Мощные функции

Разделенный экран и режим «картинка в картинке»

Без усилий настраивайте несколько «мозгов» Cinemachine для получения режимов «картинка в картинке», разделенного экрана на две или четыре части. Назначьте камеры Cinemachine к одному или всем «мозгам» и даже смешивайте изображения от одиночного и разделенного экранов и наоборот.

Следящее увеличение

Автоматически всегда получайте на экране объекты верного размера в сценариях, где положение персонажей может изменяться. Камера будет динамически изменять уровень увеличения, чтобы объекты всегда отображались нужного размера. Отлично подходит для интерактивных сцен диалогов.

Интеграция стека постобработки

Настраивайте изображение с каждой камеры Cinemachine так, как нужно вам, и смешивайте результаты. Cinemachine поддерживает профили постобработки и будет обрезать или смешивать эти настройки в зависимости от того, что делают камеры.

Clear Shot

Всегда получайте отличные кадры. Если что-то встанет между персонажем или объектом, Clear Shot выберет самую подходящую камеру, в зависимости от оценки кадра. Эта функция отлично подходит для повторов или кат-сцен в изменяемыми сценариями.

Behind the Scenes on “Baymax Dreams”

Cinemachine — это ваш личный оператор-постановщик, знающий куда направить камеру и на чем сфокусироваться. Экспериментируйте с тележками для камер, слежением, тряской и постэффектами в реальном времени. Все выполняется процедурно, поэтому изменения просто срабатывают. Вы даже можете вносить изменения в анимации после разметки — Cinemachine знает, какие кадры вам нужны, и автоматически подстраивается, даже если события в кадре изменятся. Cinemachine получила премию «Эмми» за революцию в области кинематографии.

Мощные функции, полностью меняющие разметку CG

Composer

Камера автоматически создает компоновку кадра с помощью специальных настроек так же, как работает оператор камеры. Представьте, что вы настроили разметку, изменили анимации, но кадры все равно получились, несмотря на то, что анимация была изменена! Composer полностью меняет процесс предварительной подготовки и разметки.

Transposer

Камера автоматически следует за происходящим так же, как работает оператор камеры. Transposer открывает доступ к огромному количеству настроек того, как камеры должны следовать за действием в сцене. Настраивайте кадры, изменяйте происходящее, но результат все равно выйдет удачным.

Постобработка

Постобработка, цветокоррекция, эмуляция линз, глубина поля и многое другое — в реальном времени для каждого кадра. Если вы измените редактуру, цветокоррекция изменится вместе с ней. Смешивайте кадры на Timeline, и все остальное тоже смешается. Новый, функциональный и крайне быстрый метод работы.

Смешивание кадров

Timeline позволяет смешивать клипы из Cinemachine, создавая анимацию. Настраивайте последовательности кадров и смешивайте их в течение заданного времени. Вы за секунды добьетесь плавного движения камеры.

Следящее увеличение

Автоматически всегда получайте на экране объекты верного размера в сценариях, где положение персонажей может изменяться. Камера будет динамически изменять уровень увеличения, чтобы объекты всегда отображались нужного размера. Отлично подходит для интерактивных сцен диалогов.

Наборы линз

Наборы линз Cinemachine позволяют составить список любимых линз в выпадающем меню. Добавьте своему проекту последовательности, ограничив фокусные расстояния набором пресетов, как это делается на съемочной площадке.

Компонент Camera

Камеры Компонент, который создает изображение определенной точки обзора в вашей сцене. Вывод либо рисуется на экране, либо фиксируется в виде текстуры. Подробнее
См. в Словарь устройства, которые захватывают и отображают мир игроку. Настраивая камеры и управляя ими, вы можете сделать презентацию своей игры по-настоящему уникальной. У вас может быть неограниченное количество камер в сцене Сцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь . Их можно настроить для отображения в любом порядке, в любом месте экрана или только в определенных частях экрана.

Справочник по инспектору камеры

Unity отображает различные свойства в Инспекторе окна Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или настройках проекта. , что позволяет просматривать и редактировать значения. Дополнительная информация
См. в Словарь в зависимости от конвейер рендеринга, который использует ваш проект.

  • Если в вашем проекте используется универсальный конвейер рендеринга (URP), см. микросайт документации пакета URP.
  • Если в вашем проекте используется конвейер рендеринга высокого разрешения (HDRP), см. Микросайт документации пакета HDRP.
  • Если в вашем проекте используется встроенный конвейер рендеринга, Unity отображает следующие свойства:

Когда включены свойства физической камеры, Unity вычисляет поле зрения, используя свойства, имитирующие атрибуты реальной камеры: фокусное расстояние, размер сенсора. и Сдвиг объектива.

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

Меньшие значения приводят к более широкому полю обзора и наоборот.

При изменении этого значения Unity автоматически обновляет свойство Field of View соответствующим образом.

При выборе формата камеры Unity автоматически устанавливает для свойств Размер сенсора > X и Y правильные значения.

Если вы измените значения Размер сенсора вручную, Unity автоматически установит для этого свойства значение Пользовательский.

Unity устанавливает значения X и Y автоматически, когда вы выбираете Тип датчика. При необходимости вы можете ввести собственные значения.

Сдвиг объектива можно использовать для исправления искажений, возникающих, когда камера находится под углом к объекту (например, сходящиеся параллельные линии).

Сдвиньте объектив вдоль любой из осей, чтобы сделать усеченную камеру наклонной.

Для получения дополнительной информации о воротах разрешения и пленки см. документацию по физическим камерам.

Если соотношение сторон сенсора больше, чем соотношение сторон игрового экрана, Unity обрезает обработанное изображение по бокам.

Если соотношение сторон сенсора меньше, чем соотношение сторон игрового экрана, Unity пересканирует визуализированное изображение по бокам.

При выборе этого параметра изменение ширины сенсора (Размер сенсора > Свойство X) не влияет на визуализируемое изображение.

Если соотношение сторон сенсора больше, чем соотношение сторон игрового экрана, Unity закрывает отображаемое изображение сверху и снизу.

Если соотношение сторон сенсора меньше, чем соотношение сторон игрового экрана, Unity обрезает обработанное изображение сверху и снизу.

При выборе этого параметра изменение высоты сенсора (свойство Sensor Size > Y) не влияет на визуализируемое изображение.

Details

Камеры необходимы для демонстрации игры игроку. Они могут быть настроены, написаны по сценарию или созданы для достижения практически любого вообразимого эффекта. Для игры-головоломки вы можете оставить камеру неподвижной для полного обзора головоломки. В шутере от первого лица вы должны привязать камеру к персонажу игрока и разместить ее на уровне глаз персонажа. В гоночной игре камера, скорее всего, будет следовать за автомобилем игрока.

Вы можете создать несколько камер и назначить каждой из них разную глубину. Камеры прорисовываются от низкой Глубины к высокой Глубине. Другими словами, камера с глубиной, равной 2, будет отображаться поверх камеры с глубиной, равной 1. Вы можете настроить значения нормализованного прямоугольника порта просмотра. для изменения размера и положения камеры на экране. Это может создать несколько мини-просмотров, таких как ракетные камеры, виды карты, зеркала заднего вида и т. д.

Путь рендеринга

Unity поддерживает различные пути рендеринга. Вы должны выбрать, какой из них вы используете, в зависимости от вашего игрового контента и целевой платформы / оборудования. Различные пути рендеринга имеют разные функции и характеристики производительности, которые в основном влияют на свет и тени. Путь рендеринга, используемый вашим проектом, выбирается в настройках Player. Кроме того, вы можете переопределить его для каждой камеры.

Дополнительную информацию о путях рендеринга см. на странице пути рендеринга.

Очистить флажки

Каждая камера сохраняет информацию о цвете и глубине при отображении изображения. Части экрана, которые не нарисованы, пусты и по умолчанию отображают скайбокс. Когда вы используете несколько камер, каждая из них сохраняет свою информацию о цвете и глубине в буферах, накапливая больше данных по мере рендеринга каждой камеры. Поскольку любая конкретная камера в вашей сцене отображает свое изображение, вы можете установить флажки очистки, чтобы очистить различные наборы информации о буфере. Для этого выберите один из следующих четырех вариантов:

Скайбокс

Это настройка по умолчанию. Любые пустые части экрана будут отображать скайбокс текущей камеры. Если для текущей камеры не установлен скайбокс, по умолчанию будет использоваться скайбокс, выбранный в Окне освещения (меню: Окно > Визуализация Процесс вывода графики на экран (или в текстуру рендеринга). По умолчанию основная камера в Unity выполняет рендеринг. его представление на экране. Подробнее
См. в разделе Словарь > Освещение). Затем он вернется к цвету фона. В качестве альтернативы к камере можно добавить компонент Skybox. Если вы хотите создать новый Skybox, вы можете использовать это руководство.

Сплошной цвет

Во всех пустых частях экрана будет отображаться Цвет фона текущей камеры.

Только глубина

Если вы хотите нарисовать оружие игрока, не позволяя ему попасть в окружение, установите для одной камеры значение Глубина 0, чтобы нарисовать окружение, а для другой камеры — Глубина. 1, чтобы вытащить оружие в одиночку. Установите для параметра Очистить флаги камеры оружия значение только глубина. Это сохранит графическое отображение среды на экране, но отбросит всю информацию о том, где находится каждый объект в трехмерном пространстве. Когда пистолет вытащен, непрозрачные части полностью закроют все, что нарисовано, независимо от того, насколько близко пистолет находится к стене.

Орудие рисуется последним, после очистки буфера глубины камер перед ним.Орудие рисуется последним, после очистки буфера глубины камер перед ним.

Не очищать

В этом режиме не очищается ни цвет, ни буфер глубины хранилище памяти, в котором хранится глубина z-значения каждого пиксель в изображении, где значение z — это глубина каждого отображаемого пикселя от плоскости проекции. Подробнее
См. в Словарь . В результате каждый кадр рисуется поверх следующего, что приводит к эффекту размытия. Обычно это не используется в играх и, скорее всего, будет использоваться с пользовательским шейдером программой, работающей на графическом процессоре. Подробнее
См. в Словарь .

Обратите внимание, что на некоторых графических процессорах (в основном мобильных графических процессорах) если не очистить экран, его содержимое может оказаться неопределенным в следующем кадре. В некоторых системах экран может содержать предыдущее изображение кадра, сплошной черный экран или случайно окрашенные пиксели Наименьшая единица в компьютерное изображение. Размер пикселя зависит от разрешения вашего экрана. Пиксельное освещение рассчитывается для каждого пикселя экрана. Подробнее
См. в Словарь .

Обрезать плоскости

Свойства Near и Far Clip Plane определяют, где начинается и заканчивается обзор камеры. Плоскости располагаются перпендикулярно направлению камеры и измеряются от ее положения. Ближняя плоскость — это ближайшее место, которое будет визуализировано, а дальняя плоскость — самое дальнее.

Плоскости отсечения также определяют, как точность буфера глубины распределяется по сцене. Как правило, для повышения точности следует перемещать плоскость Near как можно дальше.

Обратите внимание, что ближняя и дальняя плоскости отсечения вместе с плоскостями, определяемыми полем обзора камеры, описывают то, что обычно называют усеченной пирамидой камеры. Unity гарантирует, что при рендеринге ваших объектов те, которые полностью находятся за пределами этой усеченной пирамиды, не будут отображаться. Это называется отбраковкой усеченного конуса. Отбор усеченного конуса происходит независимо от того, используете ли вы в своей игре Occlusion Culling.

Из соображений производительности может потребоваться отбраковка небольших объектов раньше. Например, небольшие камни и обломки можно сделать невидимыми на гораздо меньшем расстоянии, чем большие здания. Для этого поместите небольшие объекты в отдельный слой и настройте расстояния отбраковки для каждого слоя с помощью Camera.layerCullDistances. функция скрипта.

Маска отбраковки

Маска выделения используется для выборочного рендеринга групп объектов с использованием слоев. Дополнительную информацию об использовании слоев можно найти здесь.

Нормализованные прямоугольники области просмотра

Прямоугольник нормализованного окна просмотра специально предназначен для определения определенной части экрана, на которой будет отображаться текущий вид камеры. Вы можете поместить вид карты в нижний правый угол экрана или вид ракеты в верхний левый угол. Немного поработав над дизайном, вы можете использовать Прямоугольник области просмотра для создания уникальных вариантов поведения.

Эффект разделения экрана для двух игроков легко создать с помощью Normalized Viewport Rectangle. После того, как вы создали две камеры, измените значения H обеих камер на 0,5, затем установите значение Y первого игрока на 0,5, а значение Y второго игрока на 0. Это сделает отображение камеры первого игрока с середины экрана вверх, и Камера второго игрока начинается снизу и останавливается на полпути вверх по экрану.

Отображение для двух игроков, созданное с помощью свойства Normalized Viewport RectangleОтображение для двух игроков, созданное с помощью свойства Normalized Viewport Rectangle

Орфографический

Пометка камеры как ортогональная удаляет всю перспективу из вида камеры. В основном это полезно для создания изометрических или 2D-игр.

Обратите внимание, что туман отображается равномерно в режиме ортогональной камеры и поэтому может выглядеть не так, как ожидалось. Это связано с тем, что координата Z постперспективного пространства используется для «глубины» тумана. Это не совсем точно для ортогональной камеры, но используется для повышения производительности во время рендеринга.

Перспективная камера.Перспективная камера. Орфографическая камера. Здесь объекты не становятся меньше с расстоянием!Орфографическая камера. Здесь объекты не становятся меньше с расстоянием!

Визуализировать текстуру

Это поместит вид камеры на текстуру используемое изображение при рендеринге GameObject, Sprite или элемента пользовательского интерфейса. Текстуры часто применяются к поверхности сетки, чтобы придать ей визуальную детализацию. Подробнее
См. в Словарь , который затем можно применить к другому объекту. Это упрощает создание видеомониторов для спортивных арен, камер наблюдения, отражений и т. д.

Текстура рендеринга, используемая для создания живой камеры арены.Текстура рендеринга, используемая для создания живой камеры арены.

Целевой дисплей

Камера имеет до 8 целевых настроек отображения. Камерой можно управлять для рендеринга на один из 8 мониторов. Это поддерживается только на ПК, Mac и Linux. В Game View будет показан выбранный дисплей в Camera Inspector.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *