Как сделать управление камерой unity3d

Камера

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

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3d

Свойства

Свойство:Функция:
Clear FlagsОпределяет, какие части экрана будут очищены. Это удобно при использовании нескольких камер для отрисовки разных элементов игры.
BackgroundЦвет, применяемый для фона после отрисовки всех элементов, в случае отсутствия скайбокса.
###Маска отрезанияВключение или исключение слоёв объектов на рендер этой камерой. Назначение слоёв объектам производится через Inspector.
ProjectionПереключает способность камеры симулировать перспективу.
XКамера будет рисовать объекты в перспективе.
XCamera will render objects uniformly, with no sense of perspective. NOTE: Deferred rendering is not supported in Orthographic mode. Forward rendering is always used.
Size (когда выбран ортографический режим)Размер зоны видимости камеры для ортографического режима.
Field of view (когда выбран режим перспективы)Ширина угла обзора камеры, измеряется в градусах по локальной оси Y.
###Clip Planes (Плоскости отреза)Дистанция, на которой камера начинает и заканчивает рендеринг.
XБлижайшая точка относительно камеры, которая будет рисоваться.
XДальняя точка относительно камеры, которая будет рисоваться.
Normalized View Port RectЧетыре значения, отражающие то, в какой области экрана будет выведено изображение с камеры, в экранных координатах (от 0 до 1).
XНачальная позиция области по горизонтали вида камеры, который будет рисоваться.
YНачальная позиция области по вертикали, где вид камеры будет рисоваться.
W (Ширина)Ширина вида камеры на экране.
H (Высота)Высота вида камеры на экране.
DepthПозиция камеры в очереди отрисовки. Камеры с большим значением будут нарисованы поверх камер с меньшим значением.
###Способ рендераОпции для определения методов рендеринга для камеры.
XКамера использует метод рендеринга, установленный в Player Settings.
Вершинное освещениеВсе объекты рисующиеся этой камерой будут рендериться как Vertex-Lit-объекты.
XВсе объекты будут рендериться с одним проходом на материал.
Deferred Lighting (только в Unity Pro)Все объекты будут рендериться сначала без освещения, а затем будет произведён рендер освещения для всех объектов разом, в конце очереди рендеринга.
Target TextureСсылка на Render Texture, которая будет содержать результат рендеринга камеры. Назначение этой ссылки отключает способность камеры рендерить на экран.
HDRВключение технологии High Dynamic Range.
Target DisplayDefines which external device to render to. Between 1 and 8.

Детали

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

Вы можете создать несколько камер и назначить каждой свою глубину(Depth). Камеры будут отрисовываться от низшей глубины до высшей глубины. Другими словами, камера с Depth 2 будет отрисована поверх камеры с Depth 1. Вы можете настроить значение свойства Normalized View Port Rectangle для изменения позиции и размера изображения с камеры на экране, например для создания нескольких экранов в одном, или для создания зеркала заднего вида.

Способ рендера

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

См. способы рендеринга для получения всех подробностей.

Clear Flags

Каждая камера хранит информацию о цвете и глубине, когда рендерит свой вид. По умолчанию, незаполненные части экрана, будут показаны в виде скайбокса. При использовании нескольких камер, каждая камера будет иметь свои буферы цвета и глубины, заполняемые при каждом рендеринге. Каждая камера будет рендерить то, что видно с её ракурса, а путем изменения настройки Clear Flags можно выбрать набор буферов, которые будут обновлены (очищены), во время рендеринга. Это осуществляется, выбором одного из четырёх вариантов:

Skybox

Solid color

Любые пустые части экрана будут отображать текущий фоновый цвет ( Background Color ) камеры.

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

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3dОружие отрисовано последним после очистки буфера глубины предшествовавшей камеры.

Не очищать

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

Clip Planes (Плоскости отреза)

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

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

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

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

Маска отрезания

Culling Mask используется для выборочного рендеринга групп объектов посредством использования слоёв. Больше информации об использовании слоёв можно найти здесь.

Normalized Viewport Rectangles

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3dСоздание экрана для двух игроков с помощью Normalized ViewportRectangle

Orthographic

Переключив камеру в ортографичесий ( Orthographic ) режим, вы устраните всю перспективу из отрисовываемого ей изображения. Это полезно для создания двумерных и изометрических игр.

Заметьте, что туман отрисовывается при этом равномерно, так что может выглядеть не так, как вы ожидали. Прочтите справко по компоненту Render Settings для получения подробностей.

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3dПерспективная камера. Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3dОртографическая камера. Изображение объектов не уменьшается при увеличении дистанции.

Текстура рендера

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

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3dИспользование рендертекстуры для создания монитора

Target display

A camera has up to 8 target display settings. The camera can be controlled to render to one of up to 8 monitors. This is supported only on PC, Mac and Linux. In Game View the chosen display in the Camera Inspector will be shown.

Источник

Советы Доброго Змея Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3d

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3d

Управление камерой в Unity3D, используя мышку

Одна из первых проблем, вставших передо мной — показать игроку мир вокруг него.

Но мы не ищем лёгких путей

Обращаю внимание, что в этой статье я «изобретаю велосипед» с целью познакомиться с элементарными операциями в Unity3D, изучения классов и операций с объектами. Поэтому, если Вы гуру программирования, то можете проходить мимо =)

Подготовка объектов.

Итак, начнём с того, что создадим какой-нибудь объект (например куб) и привяжем на него камеру (она у нас сейчас только одна — главная камера).

После этого создадим скрипт C#, и назовём его MoveMouse

Написание скрипта.

Изначально нужно было определить позицию мышки.

Это оказалось довольно просто — через класс Input и его параметр mousePosition, который содержит три координаты для каждой из осей — x, y и z.

Итак, заведём внутреннюю переменную MousePos, и будем сохранять в неё координаты текущей позиции мышки. Делать это лучше всего перед отрисовкой экрана в событии Update().

Для удобства, сохраним ссылку на камеру и ссылку на объект, к которому она привязана во внутренних переменных, чтоб всегда можно было к ним обратиться.

При этом мы считаем, что камера привязана именно к тому объекту, вокруг которого будет вращаться. Поэтому ищем этот объект через связь «Родитель-потомок».

Незачем это делать каждый раз, а достаточно будет сделать при создании самой камеры на сцене:

Итак, у нас уже есть ссылка на камеру, которую будем крутить, ссылка на объект, вокруг которого будем крутить, и координаты мышки.

Добавим условие, что крутить камеру будем только тогда, когда нажата правая клавиша мышки.

Узнать состояние клавиш мышки можно через всё тот-же класс Input. Специально для этого у него есть метод GetMouseButton.

Само перемещение камеры будем располагать в событии FixedUpdate():

И наконец, мы подошли к самому интересному — определить угол поворота в зависимости от позиции мышки и повернуть камеру.

Коэффициент поворота определить довольно просто: определяем позицию мышки, отнимаем от неё координату середины экрана, и делим получившееся число на размер экрана (отдельно для оси Х и отдельно для Y).

К примеру, мышка находится на координате 852 по оси Х, а размер экрана по ширине равен 1024. Тогда, согласно формуле:

Угол мы рассчитали, теперь осталось только повернуть камеру.

Сделать это можно, используя метод RotateAround класса transform.

Примечание.

Внимательные читатели могли заметить, что ось, указанная для поворота по горизонтали указана goCamera.transform.up. Честно говоря, я не знаю почему так, но именно так оно работает.

И теперь то-же самое для поворота по вертикали:

Вроде-бы можно и закругляться, но есть ещё один момент, который нужно учесть.

Пользователи всегда хотят настраиваемые параметры. И чувствительность мышки обычно стоит на одном из первых мест при настройке игры «под себя».

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

Скрипт целиком.

Вот теперь точно всё, и осталось только показать весь скрипт целиком, с моими комментариями =)

Источник

Как сделать управление камерой unity3d

Нажимаем «Add component>>Physics>>Rigidbody» и «Add component>>Physics>>Capsule Collider». В «Capsule Collider» Выставляем размеры нашей капсулы что бы получилось как на картинке, слегка чуть больше модельки самой.
Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3d
В «Rigidbody» ставим галочку «Use gravity». Раскрываем вкладку «Constraints» и ставим все 3 галочки на «Freeze Rotation». Это нужно для того что бы наш персонаж не проваливался сквозь землю, не падал на землю если вдруг окажется на неровности и тому подобное.
Программируем персонажа на перемещение.
Создадим c# скрипт «movePlayer».

200?’200px’:»+(this.scrollHeight+5)+’px’);»> using UnityEngine;
using System.Collections;

public class movePlayer : MonoBehaviour <

private GameObject player; //Переменна объекта персонажа с которым будем работать.

public static int speed = 6; //Скорость перемещения персонажа. Запись public static обозначает что мы сможем обращаться к этой переменной из любого скрипта
public static int _speed; //постоянная скорость перемещения персонажа
public int rotation = 250; //Скорость пповорота персонажа
public int jump = 3; //Высота прыжка

//Поворачиваем персонажа. Так как наша переменная x глобальна, из скрипта камеры в неё будем записывать длину на сколько сместился указатель мыши и по оси X и относительно этого будет повернут наш персонаж
Quaternion rotate = Quaternion.Euler (0,x,0); //Создаем новую переменную типа Quaternion для задавания угла поворота
player.transform.rotation = rotate; //Поворачиваем персонаж

200?’200px’:»+(this.scrollHeight+5)+’px’);»> codeusing UnityEngine;
using System.Collections;

private float x = 0.0f; //Угол поворота по Y?
private float y = 0.0f; //Уго поворота по X?

[AddComponentMenu(«Scripts/Mouse Orbit»)] //Добавляем в меню

public void Start() <
//переворачивам углы
Vector3 angles = transform.eulerAngles;
x = angles.y;
y = angles.x;

if(rigidbody)
rigidbody.freezeRotation = true; //Если камера столкнется с физ.объектомона остановиться
>

y = ClampAngle(y,yMinLimit, yMaxLimit); //Вызыв самописной функции для ограничения углов поврот
movePlayer.x = x;
//Повернуть камеру согласно поченым данным
Quaternion rotation = Quaternion.Euler(y, x, 0);
transform.rotation = rotation;

200?’200px’:»+(this.scrollHeight+5)+’px’);»> using UnityEngine;
using System.Collections;

public class AnimatePlayer : MonoBehaviour <

Источник

Навигация в окне Scene

Окно Scene имеет набор навигационных элементов управления, которые помогут ориентироваться в нем быстро и эффективно.

Перемещение с помощью стрелок

Фокусировка

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3d

Перемещение, вращение по орбите и масштабирование

Использование инструмента Hand (рука)

Когда выбран инструмент Hand (быстрая шлавиша: Q ), доступны следующие элементы управления мышью:

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3dДвижение: двигайте мышь с зажатой кнопкой для перемещения камеры.

Можно зажать клавишу Shift, чтобы увеличить скорость перемещения и масштабирования.

Сочетания клавиш, которые можно использовать без инструмента Hand

Для дополнительной эффективности, все эти элементы управления могут быть использованы независимо от того, какой инструмент трансформации выделен. Наиболее удобные элементы управления зависят от того, используете ли вы мышь или трекпад:

|**Действие** |3-х кнопочная мышь |2-х кнопочная мышь или трекпад |Mac с однокнопочной мышью или трекпадом | |:—|:—| |Move (Перемещение) |Удерживайте Alt двигайте мышью с зажатой средней кнопкой для перемещения. |Удерживайте Alt-Control двигайте мышь с зажатой кнопкой для перемещения. |Удерживайте Alt-Command и двигайте мышью с зажатой кнопкой для перемещения. | |*Перемещение по орбите |Hold Alt_ and click-drag. |Hold Alt and click-drag. |Hold Alt and click-drag. | |Масштабирование |Зажмите Alt и ПКМ или используйте колесо прокрутки. |Зажмите Alt и ПКМ. |Зажмите Alt-Control и ЛКМ или используйте свайп двумя пальцами. |

* Недоступно в режиме 2D.

Режим полета

Режим полета (flythrough mode) позволяет перемещаться по Scene View летая по нему в режиме от первого лица, примерно так же, как сделано управление во многих играх.

Учтите, что в 2D режиме режим полета не поддерживается. Удерживайте ПКМ и двигайте мышью чтобы смещать область обзора в окне Scene.

Гизмо сцены

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3d

You can click on any of the conical axis arms to snap the Scene View Camera to the axis it represents (eg. top view, left view, front view, etc.)

You can also toggle the projection of scene view between perspective and orthographic (sometimes called ‘isometric’) modes by clicking the cube in the centre of the Scene Gizmo, or the text below it. Orthographic view has no perspective, and it is useful in combination with clicking one of the conical axis arms to get a front or side elevation, or a plan view.

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3dA scene shown in perspective mode (left) and orthographic mode (right) Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3dThe same scene viewed in top and front view, in orthographic mode

Вы можете нажать на любую из ручек для привязки камеры к этому направлению. Щелчок по центру гизмо сцены или по тексту под ним будет переключать между режимами изометрической и перспективной проекции. Вы также всегда можете кликнуть по центру гизмо сцены с зажатым Shift для получения “хорошей” перспективной проекции с углом, который смотрит на сцену со стороны и немного сверху.

Важно отметить, что в 2D режиме гизмо сцены не отображается, потому что вид представлен только в XY плоскости.

Жесты в Mac на трекпаде

В Mac с трекпадом, можно тянуть двумя пальцами для масштабирования вида.

Также можно использовать три пальца для симуляции эффекта клика на стрелки гизмо сцены: тянуть вверх, влево, вправо или вниз для привязки к соответствующему направлению камеры Scene View. В OSX 10.7 “Lion” может потребоваться изменить настройки трекпада чтобы включить эту возможность:

Источник

Camera

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

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3d

Свойство:Функция:
Clear FlagsОпределяет, какие части экрана будут очищены. Это удобно при использовании нескольких камер для отрисовки разных элементов игры.
BackgroundЦвет, применяемый для фона после отрисовки всех элементов, в случае отсутствия скайбокса.
###Маска отрезанияВключение или исключение слоёв объектов на рендер этой камерой. Назначение слоёв объектам производится через Inspector.
ProjectionПереключает способность камеры симулировать перспективу.
XКамера будет рисовать объекты в перспективе.
XCamera will render objects uniformly, with no sense of perspective. NOTE: Deferred rendering is not supported in Orthographic mode. Forward rendering is always used.
Size (когда выбран ортографический режим)Размер зоны видимости камеры для ортографического режима.
Field of view (когда выбран режим перспективы)Ширина угла обзора камеры, измеряется в градусах по локальной оси Y.
Physical CameraTick this box to enable the Physical Camera properties for this camera.

When the Physical Camera properties are enabled, Unity calculates the Field of View using the properties that simulate real-world camera attributes: Focal Length, Sensor Size, and Lens Shift.

Physical Camera properties are not visible in the Inspector until you tick this box.

Focal LengthSet the distance, in millimeters, between the camera sensor and the camera lens.

Lower values result in a wider Field of View, and vice versa.

When you change this value, Unity automatically updates the Field of View property accordingly.

Sensor TypeSpecify the real-world camera format you want the camera to simulate. Choose the desired format from the list.

When you choose a camera format, Unity sets the the Sensor Size > X and Y properties to the correct values automatically.

If you change the Sensor Size values manually, Unity automatically sets this property to Custom.

Sensor SizeSet the size, in millimeters, of the camera sensor.

Unity sets the X and Y values automatically when you choose the Sensor Type. You can enter custom values if needed.

XThe width of the sensor.
YThe height of the sensor.
Lens ShiftShift the lens horizontally or vertically from center. Values are multiples of the sensor size; for example, a shift of 0.5 along the X axis offsets the sensor by half its horizontal size.

You can use lens shifts to correct distortion that occurs when the camera is at an angle to the subject (for example, converging parallel lines).

Shift the lens along either axis to make the camera frustum oblique.

XThe horizontal sensor offset.
YThe vertical sensor offset.
Gate FitOptions for changing the size of the resolution gate (size/aspect ratio of the game view) relative to the film gate (size/aspect ratio of the Physical Camera sensor).

For further information about resolution gate and film gate, see documentation on Physical Cameras.

VerticalFits the resolution gate to the height of the film gate.

If the sensor aspect ratio is larger than the game view aspect ratio, Unity crops the rendered image at the sides.

If the sensor aspect ratio is smaller than the game view aspect ratio, Unity overscans the rendered image at the sides.

When you choose this setting, changing the sensor width (Sensor Size > X property) has no effect on the rendered image.

HorizontalFits the resolution gate to the width of the film gate.

If the sensor aspect ratio is larger than the game view aspect ratio, Unity overscans the rendered image on the top and bottom.

If the sensor aspect ratio is smaller than the game view aspect ratio, Unity crops the rendered image on the top and bottom.

When you choose this setting, changing the sensor height (Sensor Size > Y property) has no effect on the rendered image.

FillFits the resolution gate to either the width or height of the film gate, whichever is smaller. This crops the rendered image.
OverscanFits the resolution gate to either the width or height of the film gate, whichever is larger. This overscans the rendered image.
NoneIgnores the resolution gate and uses the film gate only. This stretches the rendered image to fit the game view aspect ratio.
###Clip Planes (Плоскости отреза)Дистанция, на которой камера начинает и заканчивает рендеринг.
XБлижайшая точка относительно камеры, которая будет рисоваться.
XДальняя точка относительно камеры, которая будет рисоваться.
Viewport RectFour values that indicate where on the screen this camera view will be drawn. Measured in Viewport Coordinates (values 0–1).
XНачальная позиция области по горизонтали вида камеры, который будет рисоваться.
YНачальная позиция области по вертикали, где вид камеры будет рисоваться.
W (Ширина)Ширина вида камеры на экране.
H (Высота)Высота вида камеры на экране.
DepthПозиция камеры в очереди отрисовки. Камеры с большим значением будут нарисованы поверх камер с меньшим значением.
###Способ рендераОпции для определения методов рендеринга для камеры.
XКамера использует метод рендеринга, установленный в Player Settings.
Вершинное освещениеВсе объекты рисующиеся этой камерой будут рендериться как Vertex-Lit-объекты.
XВсе объекты будут рендериться с одним проходом на материал.
Deferred Lighting (только в Unity Pro)Все объекты будут рендериться сначала без освещения, а затем будет произведён рендер освещения для всех объектов разом, в конце очереди рендеринга.
Target TextureСсылка на Render Texture, которая будет содержать результат рендеринга камеры. Назначение этой ссылки отключает способность камеры рендерить на экран.
Occlusion CullingEnables High Dynamic Range rendering for this camera. See Occlusion Culling for details
Allow HDREnables High Dynamic Range rendering for this camera. See High Dynamic Range Rendering for details.
Allow MSAAEnables multi sample antialiasing for this camera.
Allow Dynamic ResolutionEnables Dynamic Resolution rendering for this camera. See Dynamic Resolution for details.
Target DisplayDefines which external device to render to. Between 1 and 8.

Детали

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

Вы можете создать несколько камер и назначить каждой свою глубину(Depth). Камеры будут отрисовываться от низшей глубины до высшей глубины. Другими словами, камера с Depth 2 будет отрисована поверх камеры с Depth 1. Вы можете настроить значение свойства Normalized View Port Rectangle для изменения позиции и размера изображения с камеры на экране, например для создания нескольких экранов в одном, или для создания зеркала заднего вида.

Способ рендера

Unity supports different rendering paths. You should choose which one you use depending on your game content and target platform / hardware. Different rendering paths have different features and performance characteristics that mostly affect lights and shadows. The rendering path used by your Project is chosen in the Player settings. Additionally, you can override it for each Camera.

См. способы рендеринга для получения всех подробностей.

Clear Flags

Каждая камера хранит информацию о цвете и глубине, когда рендерит свой вид. По умолчанию, незаполненные части экрана, будут показаны в виде скайбокса. При использовании нескольких камер, каждая камера будет иметь свои буферы цвета и глубины, заполняемые при каждом рендеринге. Каждая камера будет рендерить то, что видно с её ракурса, а путем изменения настройки Clear Flags можно выбрать набор буферов, которые будут обновлены (очищены), во время рендеринга. Это осуществляется, выбором одного из четырёх вариантов:

Skybox

This is the default setting. Any empty portions of the screen will display the current Camera’s skybox. If the current Camera has no skybox set, it will default to the skybox chosen in the Lighting Window (menu: Window > Rendering > Lighting Settings). It will then fall back to the Background Color. Alternatively a Skybox component can be added to the camera. If you want to create a new Skybox, you can use this guide.

Solid color

Любые пустые части экрана будут отображать текущий фоновый цвет (Background Color) камеры.

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

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3dThe gun is drawn last, after clearing the depth buffer of the cameras before it

Не очищать

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

Note that on some GPUs (mostly mobile GPUs), not clearing the screen might result in the contents of it being undefined in the next frame. On some systems, the screen may contain the previous frame image, a solid black screen, or random colored pixels.

Clip Planes (Плоскости отреза)

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

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

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

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

Маска отрезания

Culling Mask используется для выборочного рендеринга групп объектов посредством использования слоёв. Больше информации об использовании слоёв можно найти здесь.

Normalized Viewport Rectangles

Normalized Viewport Rectangles предназначено для определения части экрана, на которой будет отрисовано изображение с камеры. Вы можете, к примеру, вставить изображение карты в нижний правый угол экрана, а вид с камеры на выпущенной ракете — в верхний левый угол. Немного поработав над дизайном, используя Viewport Rectangle, вы сможете создать кое-какие уникальные системы.

Очень просто создать раздельный экран для двух игроков, используя Normalized Viewport Rectangle. После создания двух камер, установите обеим камерам свойство H в значение 0.5 и для одной из них свойство Y в значение 0.5, а для другой — в значение 0. В результате, первая камера будет рисовать изображение в верхней половине экрана, а вторая камера — в нижней половине экрана.

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3dTwo-player display created with the Normalized Viewport Rectangle property

Orthographic

Переключив камеру в ортографичесий (Orthographic) режим, вы устраните всю перспективу из отрисовываемого ей изображения. Это полезно для создания двумерных и изометрических игр.

Заметьте, что туман отрисовывается при этом равномерно, так что может выглядеть не так, как вы ожидали. Прочтите справко по компоненту Render Settings для получения подробностей.

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3dPerspective camera. Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3dOrthographic camera. Objects do not get smaller with distance here!

Текстура рендера

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

Как сделать управление камерой unity3d. Смотреть фото Как сделать управление камерой unity3d. Смотреть картинку Как сделать управление камерой unity3d. Картинка про Как сделать управление камерой unity3d. Фото Как сделать управление камерой unity3dA Render Texture used to create a live arena-cam

Target display

A camera has up to 8 target display settings. The camera can be controlled to render to one of up to 8 monitors. This is supported only on PC, Mac and Linux. In Game View the chosen display in the Camera Inspector will be shown.

Источник

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

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