Как вращать камеру в юнити
Навигация в окне Scene
Окно Scene имеет набор навигационных элементов управления, которые помогут ориентироваться в нем быстро и эффективно.
Перемещение с помощью стрелок
Фокусировка
Перемещение, вращение по орбите и масштабирование
Использование инструмента Hand (рука)
Когда выбран инструмент Hand (быстрая шлавиша: Q ), доступны следующие элементы управления мышью:

Можно зажать клавишу 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.
Гизмо сцены
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.


Вы можете нажать на любую из ручек для привязки камеры к этому направлению. Щелчок по центру гизмо сцены или по тексту под ним будет переключать между режимами изометрической и перспективной проекции. Вы также всегда можете кликнуть по центру гизмо сцены с зажатым Shift для получения “хорошей” перспективной проекции с углом, который смотрит на сцену со стороны и немного сверху.
Важно отметить, что в 2D режиме гизмо сцены не отображается, потому что вид представлен только в XY плоскости.
Жесты в Mac на трекпаде
В Mac с трекпадом, можно тянуть двумя пальцами для масштабирования вида.
Также можно использовать три пальца для симуляции эффекта клика на стрелки гизмо сцены: тянуть вверх, влево, вправо или вниз для привязки к соответствующему направлению камеры Scene View. В OSX 10.7 “Lion” может потребоваться изменить настройки трекпада чтобы включить эту возможность:
Навигация в окне сцены
Окно сцены имеет несколько способов навигации для ускорения работы.
Содержание
Перемещение стрелками
Фокусирование
Если Вы выберете объект в Иерархии и нажмете клавишу F,- вид будет перемещен для центрирования выбранного объекта. Эта функция называется «рамка выбора».
Перемещение, Вращение и Зум
Эти операции ключевые в навигации по сцене, так что Юнити предоставляет несколько разных путей их выполнения для максимального удобства
Использование инструмента Рука
Когда выбран инструмент Рука (быстрая клавиша Q), доступны следующее управление мышью:
Перемещение: щелчок-перетаскивание для перемещения сцены вокруг камеры.
Вращение: удерживайте Alt и сделайте щелчок-перетаскивание для перемещения камеры вокруг текущей точки опоры.
Масштабирование: удерживайте Control (Command на Mac) щелчок-перетаскивание для масштабирования сцены.Удерживание Shift будет увеличивать скорость перемещений и масштабирования.
Быстрые клавиши без использования инструмента Рука
| Действие | 3-хкнопочная мышь | 2-хкнопочная мышь или трекпад | Mac с однокнопочной мышью или трекпадом |
|---|---|---|---|
| Перемещение | Удерживаем Alt и щелкнув средней кнопкой тащим. | Удерживаем Alt-Control и щелкнув левой кнопкой тащим. | |
| Вращение | Удерживаем Alt и щелкнув левой кнопкой тащим. | Удерживаем Alt и щелкнув левой кнопкой тащим. | Удерживаем Alt и щелкнув тащим. |
| Масштабирование | Удерживаем Alt и щелкнув правой кнопкой тащим или используем колесико мыши. | Удерживаем Alt и щелкнув правой кнопкой тащим. | Удерживаем Alt-Control и щелкнув тащим или используем двухпальцевый жест. |
Режим пролета
Режим пролета позволяет Вам перемещаться в сцене летая в ней от первого лица подобно тому как это сделано во многих играх.
Режим пролета разработан для вида перспективы. В виде Изометрии вместо режима пролета будет производиться вращение камеры.
Гизмо сцены
В верхнем правом углу Окна сцены выводится Гизмо сцены. Он отображает текущую ориентацию камеры и позволяет Вам быстро модифицировать угол обзора.
Вы можете кликнуть по любой стрелке для установки камеры ортографической, смотрящей вдоль соответствующей оси. Вы можете кликнуть на текст под Гизмо для переключения между перспективным и изометрическим видами. Вы можете также щелкнуть в середине гизмо с нажатой клавишей Shift для получения «приятного» вида перспективы при котором сцена видна со стороны и слегка сверху.
Вид изометрии. Объекты не становятся меньше при удалении от камеры.
Управление вращением камеры вокруг персонажа по оси X мышью
Управление вращением камеры во круг персонажа по оси X мышью. Есть персонаж, который имеет свойство двигаться по карте, необходимо реализовать возможность вращать камеру во круг него, дабы избегать нюансы обзорности из за рельефа или каких-либо объектов.
Добавлено через 5 минут
Иерархия объектов:
Character Controller (пустышка, на которую мы и таргитимся)
— Capsule (то что мы видим)
Camera (скрипт управления камерой висит на ней)
Код:

Есть задана функция, надо нарисовать фигуру, которая образуется вращением F(x) вокруг оси ординат и.
Вычислить объем тела, образованного вращением вокруг оси
Вычислить объем тела, образованного вращением вокруг оси Ox фигуры, ограниченной параболами y=x2 и.
Найти объем тела, полученного вращением вокруг оси Ох
Найти объем тела, полученного вращением вокруг оси Ох фигуры, ограниченной линиями y=x3 и х=2.
Вычислить объем тела, образованного вращением вокруг оси ОУ.
Вычислить объем тела, образованного вращением вокруг оси ОУ, которая ограниченны линиями ху=4, у=1.
Не скажу что это отличный способо, но я часто делаю так
Иерархия:
CameraPivot(Пустышка)
—Camera(Собственно камера)
Player(Игрок)
Скрипт камеры содержит ссылку на CameraPivot и устанавливает положения относительно игрока(При желании можно сделать оффсет) Так же этот скрипт управляет поворотом CameraPivot по всем желаемым осям
Добавлено через 3 минуты
Это временное решение, я знаю что это очень тяжелый метод, который не желательно использовать даже в старте, было сделано на скорую руку, что бы не гемороиться, ибо на данный момент другие проблемы
Добавлено через 22 минуты
Уравнение поверхности образованной вращением линии вокруг оси ОХ
Всем супермозгам привет. Такое задание выпало на мою долю. Составить уравнение поверхности.

Здравстуйте! Помогите пожалуйста решить.Как будет выглядеть интеграл? Будет состоять из двух.
Вычислить объем тела, образованного вращением вокруг оси ох
Здравствуйте! Найти объем тела образованного вращением вокруг оси ох, фигуры ограниченной одной.
Вычислить объем тела, полученного вращением вокруг оси Оу
Вычислить объем тела, полученного вращением вокруг оси Оу и ограниченного линиями: x=0, x-6=0, y=0.
Найти площадь поверхности образованной вращением вокруг оси Ох
Найти площадь поверхности образованной вращением вокруг оси Ох
Вычислить объем тела, образованного вращением вокруг оси
Вычислить объем тела, образованного вращением вокруг оси Ox кривой L X^2+y=0, x=0, y=-1
Советы Доброго Змея 
Управление камерой в Unity3D, используя мышку
Одна из первых проблем, вставших передо мной — показать игроку мир вокруг него.
Но мы не ищем лёгких путей
Обращаю внимание, что в этой статье я «изобретаю велосипед» с целью познакомиться с элементарными операциями в Unity3D, изучения классов и операций с объектами. Поэтому, если Вы гуру программирования, то можете проходить мимо =)
Подготовка объектов.
Итак, начнём с того, что создадим какой-нибудь объект (например куб) и привяжем на него камеру (она у нас сейчас только одна — главная камера).
После этого создадим скрипт C#, и назовём его MoveMouse
Написание скрипта.
Изначально нужно было определить позицию мышки.
Это оказалось довольно просто — через класс Input и его параметр mousePosition, который содержит три координаты для каждой из осей — x, y и z.
Итак, заведём внутреннюю переменную MousePos, и будем сохранять в неё координаты текущей позиции мышки. Делать это лучше всего перед отрисовкой экрана в событии Update().
Для удобства, сохраним ссылку на камеру и ссылку на объект, к которому она привязана во внутренних переменных, чтоб всегда можно было к ним обратиться.
При этом мы считаем, что камера привязана именно к тому объекту, вокруг которого будет вращаться. Поэтому ищем этот объект через связь «Родитель-потомок».
Незачем это делать каждый раз, а достаточно будет сделать при создании самой камеры на сцене:
Итак, у нас уже есть ссылка на камеру, которую будем крутить, ссылка на объект, вокруг которого будем крутить, и координаты мышки.
Добавим условие, что крутить камеру будем только тогда, когда нажата правая клавиша мышки.
Узнать состояние клавиш мышки можно через всё тот-же класс Input. Специально для этого у него есть метод GetMouseButton.
Само перемещение камеры будем располагать в событии FixedUpdate():
И наконец, мы подошли к самому интересному — определить угол поворота в зависимости от позиции мышки и повернуть камеру.
Коэффициент поворота определить довольно просто: определяем позицию мышки, отнимаем от неё координату середины экрана, и делим получившееся число на размер экрана (отдельно для оси Х и отдельно для Y).
К примеру, мышка находится на координате 852 по оси Х, а размер экрана по ширине равен 1024. Тогда, согласно формуле:
Угол мы рассчитали, теперь осталось только повернуть камеру.
Сделать это можно, используя метод RotateAround класса transform.
Примечание.
Внимательные читатели могли заметить, что ось, указанная для поворота по горизонтали указана goCamera.transform.up. Честно говоря, я не знаю почему так, но именно так оно работает.
И теперь то-же самое для поворота по вертикали:
Вроде-бы можно и закругляться, но есть ещё один момент, который нужно учесть.
Пользователи всегда хотят настраиваемые параметры. И чувствительность мышки обычно стоит на одном из первых мест при настройке игры «под себя».
Давайте учтём это желание в нашем скрипте. Для этого введём параметр чувствительности sensitivity, и будем его использовать как коэффициент, влияющий на угол поворота:
Скрипт целиком.
Вот теперь точно всё, и осталось только показать весь скрипт целиком, с моими комментариями =)
Камера
Камеры являются устройствами, которые захватывают и отображают мир игроку. Путем настройки и манипулирования камерами, вы можете сделать презентацию своей игры поистине уникальной. Вы можете иметь неограниченное количество камер в сцене. Вы можете настроить рендеринг камерами в любом порядке, на любом месте экрана, либо только в определенных частях экрана.
Свойства
| Свойство: | Функция: |
|---|---|
| Clear Flags | Определяет, какие части экрана будут очищены. Это удобно при использовании нескольких камер для отрисовки разных элементов игры. |
| Background | Цвет, применяемый для фона после отрисовки всех элементов, в случае отсутствия скайбокса. |
| ###Маска отрезания | Включение или исключение слоёв объектов на рендер этой камерой. Назначение слоёв объектам производится через Inspector. |
| Projection | Переключает способность камеры симулировать перспективу. |
| X | Камера будет рисовать объекты в перспективе. |
| X | Camera 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 Display | Defines 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 ) камеры.
Только глубина

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

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


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

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.










