Unity
Новая тест версия.
Небольшая тест версия нашего проекта.
Скачать: https://gamejolt.com/games/Zona_Z/259352
Параметры⚠:
Windows 64-бит.
Язык: Русский, Английский(Beta) 🇷🇺🇺🇸
Версия: 0.22.5
Stupid Kochka (Инди игра про кочку Алёшу)
Наша первая разработка на Юнити. Не судите строго!
https://play.google.com/store/apps/details?id=com.QiwiGames....
Управление временем на Unity.
Всем привет, сегодня я хотел бы поделиться тем, как я реализовал управление временем на Unity 3D. Думаю многие играли в Price of Percia: The sands of time. Мне показалось, что в этой игре не раскрыли весь потенциал, данной задумки. Что ж давайте подумаем, как можно это реализовать. В unity есть такая вещь, как Time. Вы можете его посмотреть настройки в Time Manager во вкладке Edit/ProjectSettings/Time
Как мы видим, здесь есть настройки Fixed Timestep - этот параметр определяет то, через какое время будет вызываться функция FixedUpdate. В этой функции выполняется обработка физики RigidBody и тому подобное. Maximum Allowed Time - Отвечает за независимый от частоты кадров отсчет времени, здесь он нам не понадобится. Time Scale - это скорость, с которой течет время, так установив этот параметр на 0 вы остановите движение времени в игре, а установив на значение больше или меньше 1 ускорите или замедлите время соответственно. Очень хорошо может применяться для создания SlowMotion или же для паузы в игре, заметим, что параметр Time Scale не может быть меньше 0, это значит, что мы не можем использовать его для наших целей, то есть можем, но не так просто.
Что же с теорией разобрались теперь давайте подумаем как нам реализовать обратную перемотку. На ум сразу же приходит идея записать позиции и поворот всех нужных нам объектов и присваивать их при нажатии на кнопку. Так и поступим.
Создадим C# скрипт и назовем его Time_. Создадим массив GameObject и назовем его Objects, создадим также двумерный массив типа Vector3 и еще один двумерный массив типа Quaternion, назовем их Positions и Rotations соответственно.
Создадим сразу переменную Index типа integer, для того чтобы ориентироваться в массиве. Ведь когда мы будем записывать позиции и поворот, мы должны сохранить это в следующем элементе. Так же создадим переменную Scale типа int, которая будет регулировать размер массивов, а следовательно и длину записи, установим ей значение 1000.
В Старте инициализируем переменные.
Objects мы будем искать все объекты на сцене по тегу "Time", давайте настроим этот тег.
Objects = GameObject.FindObjectsWithTag("Time"), далее инициализируем Positions и Rotations, устанавливая первый размер Objects.Length, а второй Scale.
Получим что-то вроде этого.
Давайте сразу пропишем в Update вычисления, если Index больше Scale, то обнуляем Index и записываем все по новой. Это будет значить, что мы возвращаем только последние несколько секунд времени, количество которых зависит от Scale. Тоже самое, только наоборот, делаем и с нулем, таким образом ограничивая Index (0,Scale).
В начале мы не просто так затронули функцию FixedUpdate, она вызывается через определенное кол-во кадров, в зависимости от TimeScale, и в ней обрабатывается физика.
Нам нет смысла обновлять позиции каждый кадр, если они не меняются. Следовательно прописываем функцию FixedUpdate() и в ней уже пишем цикл for от 0 до Objects.Length, с переменной і и в этом цикле Positions и Rotations[i,Index] присваиваем текущие позиции и повороты. после цикла в функции прибавляем к Index 1.
Теперь осталось только присвоить эти значения к текущим позиции и повороту, для этого в Update прописываем условие If(Input.GetKey(KeyKode.R)) и в нем значение TimeScale устанавливаем на 0, так мы защищаем себя от воздействия физики на объекты и перестаем записывать позиции еще раз. Теперь используя функцию Lerp присваиваем позиции и поворот нашему трансформу.
Теперь осталось просто запускать время, когда отпустим клавишу R, для этого все в том же Update пишем if(Input.GetKeyUp(KeyKode.R)) и в этом условии устанавливаем значение TimeScale на 1
Что ж, вот мы и написали небольшой код, для управления временем, он оказался довольно простым и наглядно показывает, как обновляется физика и как работает Lerp, так же практическое применение двумерных массивов в Unity. При настройке не забудьте добавить RigidBody на ваши кубики и установить тег.
Walker - Island Adventure. Новая игра с возможным большим будущем
Всех приветствую !!! Это мой первый пост и мне бы хотелось, что бы вы меня поддержали !!!
Заранее спасибо ;)
Сегодня 07.07.2017 я бы хотел вам показать, первую версию игры над которой я уже работаю неделю. Вы можете спросить, что за неделю ты сделал только ВОТ ЭТО, я вам отвечу - первые четыре дня я занимался дизайн документом игры, он довольно непростой. А оставшиеся 3 дня я осваивал Blender на создания Low poly графики, в которой кстати и будет выполнена игра.
Игра будет в жанре adventure со своими особенностями.
По геймплею я вам на данный момент могу рассказать, что вам будет необходимо ходить по острову и разгадывать не сложные загадки.
Повествование будет передано через записки и ОКРУЖЕНИЕ. Главным помощником в разгадке тайн будет именно окружение, на нем я делаю акцент.
На данный момент готово 5 моделей деревьев (предполагается еще 10 моделей деревьев), 3 модели камня (предполагается еще 15 моделей деревьев). На стадии первой версии вы можете погулять по небольшому лесу, залезть на камни и как следует осмотреться вокруг.
Игра создается на движке Unity. Примерная дата выхода Alpha версии - конец лета, примерно в 20 числах.
Игра будет выпущена в Steam и в конце лета вы возможно сможете в неё сыграть !!!
Я буду размещать новую информацию по разработке игры каждую неделю, на Pikabu я буду выкладывать скриншоты и немного информации о ней. Если же вы хотите более подробную информацию о разработке то пожалуйста переходите на мой канал, там я буду вести дневник разработчика https://www.youtube.com/channel/UCTwz53Myk6EGdJPvQXOg1uQ
Всем спасибо кто прочитал данный пост, и оценил его. Каждый плюсик будет меня мотивировать двигаться дальше !!!!
Всем удачи, ждите новой информации ;)
Zona-Z
Продолжаем собирать отрицательные отзывы... )
Ребят, дело в том что все 2 поста собрали очень большое количество негатива.
По этому, вот вам ещё один повод поставить как можно больше минусов.
Но, прошу аргументировать свои комментариями, а лучше, дайте совет, как по вашему мнению улучшить игру.
Также, было много вопросов по поводу графики, мол уже 2017 а графика в вашей игре по просту не соответствует этому времени) Да, это так, боюсь нам не под силу сделать графическую составляющую игру лучше. Но мы стремимся хоть как-то улучшить то что возможно.(2 скриншота представлены внизу, по ним тоже можно критику ).
Но ребят, все же с чего-то начинали? Ведь так!?
Распродажа ассетов
В Unity сторе распродажа, мне предложили поставить скидки на некоторые свои ассеты, выбрал этот, что думаете?