ShadowTransform [Asset] - храним несколько положений объекта

Проекты в стадии разработки.

ShadowTransform [Asset] - храним несколько положений объекта

Сообщение Wolf4D 11 янв 2018, 17:31

Всем день добрый :)

Я тут, разрабатывая свой большой проект, написал маленькую вспомогательную тулзу, названную ShadowTransform.
Изображение

Что это и зачем?

Когда делаешь игру, часто нужно что-то подвигать на уровне. Вот камень, попробуем его подвинуть на три метра левее. Ага, вроде хорошо?
Потом сдвинул скалу, потом сдвинул монстров, потом сдвинул... через три десятка "сдвинул" понимаешь, что камень, в общем-то, лежал в идеальном месте. Как бы его теперь вернуть точно туда, откуда брал?

Изображение

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

Изображение

Мой ShadowTransform позволяет "в один клик" запомнить старое положение объекта (а заодно и его масштаб и углы поворота - называется всё вместе состоянием), после чего в любой момент можно переключаться на это сохранённое положение. Собственно, это делает процесс тонкой настройки уровня куда как более комфортным :)

С его помощью удобно:

1) Отлаживать геймплей например, сохранил положение монстра, перенёс его, сохранил второе, переключаешься между ними и смотришь, как лучше.

2) Делать временную перепланировку частей уровня переместил это туда, это сюда, не понравилось что-то - вернул обратно некоторую часть.

3) Тестировать отдельные части уровняединожды запомнил для объекта игрока положение в начале нужной части уровня, и легко переключаешься на него теперь одним нажатием. Работает даже в процессе игры, между прочим!

Изображение

Изображение

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

Изображение

Изображение

Запомнили для объекта моста два состояния - для варианта "фиг допрыгнешь" (сверху) и "легкотня" (снизу).
Теперь переключаемся одним кликом.

Изображение

Изображение

Кстати, я тут сделал встроенный туториал - он должен открыться, стоит только запустить демо-сцену.
Штука не очень хитрая, но позволит освоить, что да как, не прибегая к документации.
Бесит - поставьте галочку, он скроется с глаз :)

Изображение

Где и как достать?

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

Скачать можно тут: http://madnesstudio.ru/ST/ShadowTransform_beta2.unitypackage
Документацию по ассету (не скачивая его) можно почитать тут: http://madnesstudio.ru/ST/Readme.pdf

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


Если найдёте чего-то странное - пишите мне!
Да и вообще, буду ждать откликов - надеюсь, пригодится :)
Последний раз редактировалось Wolf4D 15 янв 2018, 22:19, всего редактировалось 1 раз.
Аватара пользователя
Wolf4D
UNец
 
Сообщения: 5
Зарегистрирован: 11 янв 2018, 16:26

Re: ShadowTransform [Asset] - храним несколько положений объекта

Сообщение samana 11 янв 2018, 18:10

Предлагаю расширить и добавить больше возможностей.
Было бы удобно уметь сохранять группу объектов, например чтобы потестить те же уровни.
Например нажимаем кнопу (где нибудь в кастомном окне), автоматически появляется список всех объектов на сцене, напротив каждого объекта галочка включена, то-есть положение этого объекта будет сохраняться, у некоторых объектов галочку можно снять. И те же самые манипуляции с созданием состояний, только уже всех этой кучи объектов целиком.

Ещё момент, если хочу сохранить положение объекта без меша, то постоянно выводится предупреждение в консоль и это не очень удобно. Лучше показывать предупреждение прямо в инспекторе скрипта (helpBox).
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: ShadowTransform [Asset] - храним несколько положений объекта

Сообщение lawsonilka 11 янв 2018, 20:56

Мне кажется было бы удобно так же иметь возможность запоминать положения уже в runtime, к примеру создал уровень, пробежался по нему и понял что такой то объект, с перспективы именно игрока а не создателя уровня, лежит не так, изменил положение и оно запомнилось. Или такое уже существует из коробки, может я не в курсе? - просто я создавал свою такую небольшую утилиту и писал данные в EditorPrefs
lawsonilka
UNIверсал
 
Сообщения: 390
Зарегистрирован: 21 окт 2014, 14:48

Re: ShadowTransform [Asset] - храним несколько положений объекта

Сообщение samana 11 янв 2018, 21:42

lawsonilka писал(а):Или такое уже существует из коробки, может я не в курсе?

Я бегло просмотрел код и насколько понял, что в режиме игры такая фишка не работает, поэтому ваша идея очень даже имеет место быть.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: ShadowTransform [Asset] - храним несколько положений объекта

Сообщение Wolf4D 12 янв 2018, 17:09

samana писал(а):Ещё момент, если хочу сохранить положение объекта без меша, то постоянно выводится предупреждение в консоль и это не очень удобно. Лучше показывать предупреждение прямо в инспекторе скрипта (helpBox).

Почему-то мне казалось, что такие ситуации - объект без меша, для которого нужно запомнить состояние - будут возникать не так часто, и то скорее по ошибке. Это я был не прав :)
На днях выпущу доработанную бету (на буржуйском форуме в ассете ещё ошибки нашли, похоже) - там для объекта без меша будет рисоваться placeholder, а предупреждение выведу helpbox-ом.
Спасибо :)

lawsonilka писал(а):Мне кажется было бы удобно так же иметь возможность запоминать положения уже в runtime, к примеру создал уровень, пробежался по нему и понял что такой то объект, с перспективы именно игрока а не создателя уровня, лежит не так, изменил положение и оно запомнилось. Или такое уже существует из коробки, может я не в курсе? - просто я создавал свою такую небольшую утилиту и писал данные в EditorPrefs

Это трудность распространённая - сам ругаюсь иногда :)
Но конкретно для решения этой задачи я видел штук пять ассетов - думал, такой функционал здесь не нужен. Есть оооочень удобные варианты - это вот, например - прямо в стандартный Transform добавляют новые кнопки: http://prof.johnpile.com/2015/04/06/uni ... ns-1-of-2/
В принципе, если это было бы удобно, то сделать, чтобы сохранённые в рантайме состояния не пропадали - можно. Я поэкспериментировал, и даже относительно простой способ для этого нашёл. Ждите фичу в следующей бете (*)

samana писал(а):Предлагаю расширить и добавить больше возможностей.
Было бы удобно уметь сохранять группу объектов, например чтобы потестить те же уровни.
Например нажимаем кнопу (где нибудь в кастомном окне), автоматически появляется список всех объектов на сцене, напротив каждого объекта галочка включена, то-есть положение этого объекта будет сохраняться, у некоторых объектов галочку можно снять. И те же самые манипуляции с созданием состояний, только уже всех этой кучи объектов целиком.

Об этом я уже давно думаю. Мысль хорошая, но достаточно трудоёмко.
Пока что начну с малого функционала, но попытаюсь довести до конца. А то у меня беда такая - бросаю крупное на пол-дороги :(
Если пойдёт - тогда это в следующей крупной версии будет, уже после релиза.
Аватара пользователя
Wolf4D
UNец
 
Сообщения: 5
Зарегистрирован: 11 янв 2018, 16:26

Re: ShadowTransform [Asset] - работа над ошибками!

Сообщение Wolf4D 15 янв 2018, 22:15

Изображение

Это было непросто, но... для тестирования готова БЕТА 2.

Список изменений:

1) Теперь положения объектов, добавленные или удалённые средствами ассета в Runtime (во время игры), сохраняются при выходе из режима игры. Прямо по просьбам трудящихся :ymhug:
Планирую в следующей (уже пре-релизной) версии добавить галочку, позволяющую выбрать, сохранять ли внесённые изменения при выходе из режима игры.

2) Для объектов без меша теперь отображается информативный placeholder, а в интерфейсе компонента выводится соответствующее информационное сообщение. Надоедливое сообщение в консоли больше не выводится.

3) Не прекращавшее вылезать надоедливое окно тутора/тура теперь успешно заглушается галочкой "Не показывать". Да и вообще, это место теперь сделано гораздо более по уму :)

4) Обновлена версия Standart Assets, исправлены проблемы совместимости с различными версиями Unity. Исправлена проблема со сверхплотным туманом на ряде конфигураций.


Скачать обновлённую бету:
http://www.madnesstudio.ru/ST/ShadowTransform_beta2.unitypackage
Аватара пользователя
Wolf4D
UNец
 
Сообщения: 5
Зарегистрирован: 11 янв 2018, 16:26

Re: ShadowTransform [Asset] - храним несколько положений объекта

Сообщение samana 15 янв 2018, 22:42

Отлично! Новую версию я не проверял, но приятно, что ассет становится лучше!
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск


Вернуться в Кузня

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3