Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
 Что обсуждали люди в 2024 году? Самое время вспомнить — через виммельбух Пикабу «Спрятано в 2024»! Печенька облегчит поиск предметов.

Спрятано в 2024

Поиск предметов, Казуальные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Unity3D + Видеоигра

С этим тегом используют

Gamedev Unity Игры Разработка Инди игра Инди Компьютерные игры YouTube Геймеры Steam Шутер Ретро-игры Все
43 поста сначала свежее
21
kapitanBlood
kapitanBlood
4 года назад
Лига Разработчиков Видеоигр

Немножко про создание видеоигры. Заполнение текстов⁠⁠

Любая игра должна с чего-то начинаться. Как и книга или фильм. Мне всегда нравилось, когда есть повествование истории. Поэтому подумал, как бы сделать так, чтобы создалось ощущение, будто мы играем в чьих-то воспоминаниях.


Первое, что вспомнилось, как начинается мультфильм Шрек 2001 года. Идет наводка камеры на книгу, которая открывается, перелистывается и начинается повествование. Красиво!


Но мы пошли другим путем. И вот, что получилось:

Немножко про создание видеоигры. Заполнение текстов Gamedev, Unity, Unity3D, Medieval, Анимация, Инди, Компьютерные игры, Видеоигра, Геймеры, Steam, Разработка, Game Art, Гифка, Видео, Длиннопост

Исходные данные: Unity 3d, парочка симпатичных ассетов и желание сделать интересно (получилось или нет, на ваш суд, господа).


Предпринятые шаги:


1. Анимация движения камеры:

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

Выглядит это так:

Немножко про создание видеоигры. Заполнение текстов Gamedev, Unity, Unity3D, Medieval, Анимация, Инди, Компьютерные игры, Видеоигра, Геймеры, Steam, Разработка, Game Art, Гифка, Видео, Длиннопост

2. Заполнение текста:

2.1 Заполнение текста осуществляется кодом функции. Скрипт с функцией вешаем на камеру и в анимации камеры, кликнув правой кнопкой мыши на верхней темной линии добавим анимационное событие:

Немножко про создание видеоигры. Заполнение текстов Gamedev, Unity, Unity3D, Medieval, Анимация, Инди, Компьютерные игры, Видеоигра, Геймеры, Steam, Разработка, Game Art, Гифка, Видео, Длиннопост

И выбираем функцию:

Немножко про создание видеоигры. Заполнение текстов Gamedev, Unity, Unity3D, Medieval, Анимация, Инди, Компьютерные игры, Видеоигра, Геймеры, Steam, Разработка, Game Art, Гифка, Видео, Длиннопост

Функция должна быть публичной. Тогда она отобразится в листе для выбора. Лист ищет все допустимые функции для выбора из всех скриптов, которые были повешены на камеру.


2.2 Создание скрипта:

Что за тексты мы будем заполнять. Их 4:

Немножко про создание видеоигры. Заполнение текстов Gamedev, Unity, Unity3D, Medieval, Анимация, Инди, Компьютерные игры, Видеоигра, Геймеры, Steam, Разработка, Game Art, Гифка, Видео, Длиннопост

Создаем скрипт, назовем его FillTexts и пропишем 4 публичных текстовых переменных и сохраним скрипт:

Немножко про создание видеоигры. Заполнение текстов Gamedev, Unity, Unity3D, Medieval, Анимация, Инди, Компьютерные игры, Видеоигра, Геймеры, Steam, Разработка, Game Art, Гифка, Видео, Длиннопост

Дальше назначим каждый текст своей переменной:

Немножко про создание видеоигры. Заполнение текстов Gamedev, Unity, Unity3D, Medieval, Анимация, Инди, Компьютерные игры, Видеоигра, Геймеры, Steam, Разработка, Game Art, Гифка, Видео, Длиннопост

Пропишем сами тексты, которые хотим изобразить:

Немножко про создание видеоигры. Заполнение текстов Gamedev, Unity, Unity3D, Medieval, Анимация, Инди, Компьютерные игры, Видеоигра, Геймеры, Steam, Разработка, Game Art, Гифка, Видео, Длиннопост

tempText - это та переменная, которая будет отображаться в конкретный момент для того или иного текста. Понятнее станет чуть ниже ;)


Очистим тексты при запуске сцены:

Немножко про создание видеоигры. Заполнение текстов Gamedev, Unity, Unity3D, Medieval, Анимация, Инди, Компьютерные игры, Видеоигра, Геймеры, Steam, Разработка, Game Art, Гифка, Видео, Длиннопост

Сама функция, которая запускается в анимации:

Немножко про создание видеоигры. Заполнение текстов Gamedev, Unity, Unity3D, Medieval, Анимация, Инди, Компьютерные игры, Видеоигра, Геймеры, Steam, Разработка, Game Art, Гифка, Видео, Длиннопост

textIs - переменная, отвечающая за то, какой в данный момент заполняется текст. То как только анимация запускает эту функцию мы говорим: заполняется первый текст.


Заполнение будет происходить в функции Update(), стандартная функция Unity, которая запускается каждый фрейм.

Мы хотим сделать эффект записей. Значит, если мы будем писать новую букву каждый фрейм, будет очень быстро. Нужно сделать пропускание n-го числа фреймов и писать новую букву каждый 5-й раз, например.

Немножко про создание видеоигры. Заполнение текстов Gamedev, Unity, Unity3D, Medieval, Анимация, Инди, Компьютерные игры, Видеоигра, Геймеры, Steam, Разработка, Game Art, Гифка, Видео, Длиннопост

Для пропускания n-го количества фреймов использую переменные step, fasterStep (если хочу пропускать меньше фреймов и быстрее заполнять тексты) и ts (счетчик, который считает количество пропущенных фреймов).

Логика пропуска фреймов линии 41 - 47


Линии 49-61 - логика заполнения текста. В данном случае первого. Когда первый текст заполнится, переменная textIs принимает значение 2. Переходим к заполнению второго текста:

Немножко про создание видеоигры. Заполнение текстов Gamedev, Unity, Unity3D, Medieval, Анимация, Инди, Компьютерные игры, Видеоигра, Геймеры, Steam, Разработка, Game Art, Гифка, Видео, Длиннопост

Как видим, логика заполнения такая же. Переходим к тексту 3.

Немножко про создание видеоигры. Заполнение текстов Gamedev, Unity, Unity3D, Medieval, Анимация, Инди, Компьютерные игры, Видеоигра, Геймеры, Steam, Разработка, Game Art, Гифка, Видео, Длиннопост

В данном случае, когда заполнится третий текст, мы хотим, чтобы скорость заполнения четвертого текста стала быстрее. Для этого меняем step на fasterStep.

Четвертый текст заполняется по такой же логике, что и остальные:

Немножко про создание видеоигры. Заполнение текстов Gamedev, Unity, Unity3D, Medieval, Анимация, Инди, Компьютерные игры, Видеоигра, Геймеры, Steam, Разработка, Game Art, Гифка, Видео, Длиннопост

Больше текстов нет, поэтому textIs, принимая значение 5, просто закончит всю полезную работу скрипта.


P.S. постарался сделать код как можно понятнее, поэтому есть повторяющиеся блоки (опытные программисты, привет), новички, надеюсь, вам понравилась идея и вы ее попробуете.


Это мой первый пост про создание игр. Вернее, одной игры. Делаю ее уже 5-й год. Но это уже совсем другая история.

Если кому интересно, в инстаграме меня можно найти leonardo.island

Там все остальные ссылки.


Спасибо за внимание и напоследок видео (качество съедает, правда):

Показать полностью 13 1
[моё] Gamedev Unity Unity3D Medieval Анимация Инди Компьютерные игры Видеоигра Геймеры Steam Разработка Game Art Гифка Видео Длиннопост
19
31
mex0r
8 лет назад
Лига Разработчиков Видеоигр

Игра за 7 дней. Кричи пока можешь!⁠⁠

Игра за 7 дней. Кричи пока можешь! Gamedev, Разработка игр, Доширак, Крик, Голос, Видеоигра, Unity, Unity3D, Длиннопост
Показать полностью 1
[моё] Gamedev Разработка игр Доширак Крик Голос Видеоигра Unity Unity3D Длиннопост
43
MSR210116
9 лет назад

Пиксель-арт убивает инди геймдев⁠⁠

Пиксель-арт убивает инди геймдев
[моё] Gamedev Unity3D Android Видеоигра Графика Гифка
23
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии