- •Основы Unity
- •Обозреватель проекта
- •Поиск по Asset Store
- •Клавиши быстрого доступа
- •Иерархия
- •Окно Scene
- •Навигация в окне Scene
- •Позиционирование игровых объектов.
- •Инструмент Rect Tool
- •Панель управления окна Scene View
- •Инспектор
- •Префабы
- •Customizing Your Workspace (Настройка рабочего пространства)
- •Asset Workflow (работа с ассетами)
- •Создание ассета
- •Обновление ассетов
- •Создание сцен
- •Инстанциирование префабов
- •Добавление компонентов и скриптов
- •Размещение GameObject’ов
- •Работа с камерами
- •Источники света
- •Публикация сборок
- •Потоковая загрузка в веб-плеере
- •Автономное развёртывание веб-плеера
- •Сборка standalone плееров
- •В недрах процесса сборки
- •Предварительная загрузка (далее - прелоадинг)
- •Вы готовы собирать игры
- •Сочетания клавиш Unity
- •Preferences (Настройки редактора)
- •General (Основные)
- •External Tools (Внешние инструменты)
- •Colors (Цвета)
- •Keys (Клавиши)
- •Cache Server (Кэш сервер)
- •Взаимосвязь между GameObject’ом и компонентом
- •Компонент Transform
- •Другие компоненты
- •Использование компонентов
- •Добавление компонентов
- •Редактирование компонентов
- •Взаимоотношения компонента и скрипта
- •Отключение Игровых Объектов (GameObjects)
- •Результат отключения родителя Игрового Объекта
- •Едактирование свойств
- •Значения
- •Градиенты
- •Массивы
- •Редактирование нескольких объектов одновременно
- •Библиотеки предустановок
- •Как создать предустановку цвета:
- •Настройки инспектора
- •Блокировка
- •Режимы Нормальный/Отладка
- •Сочетания клавиш, которые можно использовать без инструмента Hand
- •Режим полета
- •Гизмо сцены
- •Жесты в Mac на трекпаде
- •Позиционирование игровых объектов
- •Перемещение, вращение и масштабирование
- •Переключатели отображения гизмо
- •Поиск в сцене
- •Поиск по проекту и метки
- •Префабы (Prefabs)
- •Использование префабов
- •Редактирование префаба из его экземпляров
- •Источники света
- •Способы рендеринга
- •Больше информации
- •Создание геймплея.
- •Создание экземпляров префабов во время работы приложения
- •Общие сценарии
- •Построение стены
- •Создание экземпляров ракет и взрывов
- •Замена персонажа на Ragdoll или обломки
- •Размещение группы объектов по заданному шаблону
- •Традиционный игровой ввод
- •Добавление новых осей ввода
- •Использование осей ввода из скриптов
- •Названия кнопок
- •Ввод на мобильном устройстве
- •Симуляция Мыши
- •Акселерометр
- •Фильтр низких частот
- •Я хочу получить как можно более точные показания акселерометра. Что я должен делать?
- •Предварительный просмотр текста
- •Видимость и размер клавиатуры
- •Наследование
- •Проблемы производительности и ограничения неравномерного (Non-Uniform) масштабирования
- •Важность масштаба
- •Подсказки по работе с компонентами Transform
- •Геймплей в 2d
- •2D Графика
- •2D Физика
- •Добавление случайных элементов в игру
- •Выбор случайного элемента в массиве
- •Выбор элементов с разной вероятностью
- •Перемешивание списка
- •Выбор элементов из набора без повторений
- •Случайные точки в пространстве
- •Некоторые из моих объектов не отбрасывют или на них не падают тени
Названия кнопок
Чтобы назначить кнопку оси, вам необходимо ввести имя кнопки в свойстве Positive Button или Negative Button в окне Inspector.
Названия кнопок следуют этому соглашению:
Обычные клавиши“: ”a“, ”b“, ”c" …
Цифровые клавиши: “1”, “2”, “3”, …
Клавиши стрелок: “up”, “down”, “left”, “right”
Клавиши цифровой клавиатуры: “[1]”, “[2]”, “[3]”, “[+]”, “[equals]”
Клавиши модификаторов: “right shift”, “left shift”, “right ctrl”, “left ctrl”, “right alt”, “left alt”, “right cmd”, “left cmd”
Клавиши мыши: “mouse 0”, “mouse 1”, “mouse 2”, …
Кнопки джойстика (от любого джойстика): “joystick button 0”, “joystick button 1”, “joystick button 2”, …
Кнопки джойстика (от заданного джойстика): “joystick 1 button 0”, “joystick 1 button 1”, “joystick 2 button 0”, …
Специальные клавиши: “backspace”, “tab”, “return”, “escape”, “space”, “delete”, “enter”, “insert”, “home”, “end”, “page up”, “page down”
Функциональные клавиши: “f1”, “f2”, “f3”, …
Названия, используемые для определения кнопок одни и те же при написании скриптов и в окне Inspector.
value = Input.GetKey ("a");
Ввод на мобильном устройстве
На мобильных устройствах класс Input предоставляет доступ к нажатию на экран, акселерометру и географическим/локационным данным.
Доступ к клавиатуре на мобильных устройствах обеспечивается через iOS keyboard.
Multi-Touch Screen
iPhone и iPod способны отслеживать до пяти нажатий на экран одновременно. Вы можете получить статус каждого нажатия на протяжении последнего кадра через массив Input.touches.
Android устройства не имеют определенного лимита на количество нажатий, которое можно отслеживать. Он колеблется от устройства к устройству и может варьироваться от одного-двух нажатий на старых устройствах, до пяти нажатий на некоторых новых.
Каждое нажатие пальцем представлено в структуре данных Input.Touch:
Свойство: |
Функция: |
fingerId |
Уникальный индекс для нажатия. |
position |
Позиция нажатия на экран. |
deltaPosition |
Изменение позиции на экране с последнего кадра. |
deltaTime |
Количество времени, которое прошло с тех пор как изменилось последнее состояние. |
tapCount |
Экраны iPhone/iPad способны различать быстрые нажатия пользователем. Этот счетчик позволит вам узнать как много времени пользователь нажимал (тапал) на экран, не перемещая палец по бокам. %android%Android устройства не считают количество тапов, это поле всегда равно 1.%% |
phase |
Состояния прикосновений мы называем “фазами”. Они помогут вам определить, прикосновение к экрану только что произошло, или пользователь двигает палец, или только что оторвал палец от экрана. |
Фазы могут быть следующими:
|
|
Began |
Палец только что прикоснулся к экрану. |
Moved |
Палец передвинулся по экрану. |
Stationary |
Палец прикоснулся к экрану, но с последнего кадра не двигался. |
Ended |
Палец только что оторван от экрана. Это последняя фаза нажатий. |
Canceled |
Если пользователь вводит более 5 нажатий одновременно, система отменяет отслеживание прикосновений к экрану. Это последняя фаза прикосновений. |
Ниже приведен пример скрипта, который выпускает луч там, где пользователь тапает по экрану:
var particle : GameObject;
function Update () {
for (var touch : Touch in Input.touches) {
if (touch.phase == TouchPhase.Began) {
// Construct a ray from the current touch coordinates
var ray = Camera.main.ScreenPointToRay (touch.position);
if (Physics.Raycast (ray)) {
// Create a particle if hit
Instantiate (particle, transform.position, transform.rotation);
}
}
}
}
