Карта проходимости

Раздел, посвящённый всему, что связано с программированием для Редактора Юнити. Скрипты Редактора, Wizards и прочее.

Карта проходимости

Сообщение Tolking 25 ноя 2009, 11:17

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

Собственно, для начала, задача простая - кликнули на пол, поставился там квадратик-припятствие, кликнули по квадратику - он убрался.

ExecuteInEditMode - непоможет. В этом случае инпут не работает.

Единственный вариант который я сейчас вижу - делать редактор. Запустили редактор, расставили проходимость, выгрузили в файл, файл в юнити загрузили.

Есть у кого нибуть мысли как сделать по-уму?
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Карта проходимости

Сообщение gnoblin 25 ноя 2009, 12:23

Ты можешь в том же проекте, но в другой сцене, сделать редактор. Либо через игровой гуй, либо через editor-скрипты (editor wizard, как основа, к примеру).
Еще можно (настроив или написав свою привязку к клеткам) порасставлять эти твои квадратики прямо в сцене... И уровень хранить тоже как сцену.

А что конкретно понимается под картой проходимости?
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Карта проходимости

Сообщение Tolking 25 ноя 2009, 14:45

Карта проходимости минимум байтовый массив 256,256.

Что такое editor wizard? Если имелся ввиду ScriptableWizard - то он неподойдет впринципе. Он работает дискретно, а нужно чтобы постоянно работал.

Через визард я могу сделать "Показать проходимость", "Скрыть проходимость". Но не редактирование проходимости...

Работа через "игровой гуй" - натяжка, после остановки, данные скидываются в первоначальное состояние, нужно городить обмен через IO - нехочется! Пораставлять прямо в сцене - это пипец! Как ты это себе представляешь? ДрагДропить скажем 1500 штук квадратиков? Уж проще нарисовать в редакторе карту, а потом импортировать ее...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Карта проходимости

Сообщение Neodrop 25 ноя 2009, 15:48

Tolking, опять от тебя, нифига ещё в движке не знающего, мы слышим только "это нельзя, это невозможно".
Я преклоняюсь пред твоим гением, так быстро познавшим все глубины [unity 3D] Unity, но в том, что ты говоришь, нет ни толики истины.

Какая "карта проходимости"? Тебе не расставить коллайдеры в отдельном слое в Редакторе? Что мешает, кроме упёртости? :-?
Всё, что ты описал - "кликнули-поставили, кликнули-убрали" изумительно работает в Редакторе и в режиме Execute и в режиме Editor скриптов.
Да, справка по ним вообще из рук вон плоха, но всё реализуемо на 100%
Все методы и инструменты для этого имеются и не надо морщить лицо, не потрудившись выслушать дельные советы.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Карта проходимости

Сообщение Tolking 25 ноя 2009, 17:25

Я нигде не написал, что то или это нельзя. Я пишу что я хочу получить, и как это должно работать. Мне преждложили варианты, я их рассмотрел и написал конкретно почему не подходит. Я неправильно определил, что через визард невозможно организовать интерактивную расстановку объектов? Видишь я написал для чего я смогу использовать визард? Нет не толики истины в этом? Чего тебя раздражает? Что я в дебри лезу? Так не от хорошей жизни! ГУИ я нащупал как сделаю, на гуи еще неделя уйдет, а дальше двигаться смогу только если пасфайндинг к уровню прикручу...

Какая "карта проходимости"? Тебе не расставить коллайдеры в отдельном слое в Редакторе? Что мешает, кроме упёртости?

Как расставить? Таскать (откуда? из префабов?) и ставить, выравнивать по сетке? Объем работы представляешь? Повторюсь: Моделлеру проще в редакторе нарисовать карту проходимости и импортировать тем-же визардом. К томуже тысячи колайдеров мне не нужны. Мне нужна не физическая карта проходимости, а массив, по которому потом персонажи будут путь искать... Кроме проходимо/пепроходимо есть варианты "проходимо сидя", урытие и т.д. 6 или 7 вариантов. Просто это не принципиально и я об этом не стал писать.

Всё, что ты описал - "кликнули-поставили, кликнули-убрали" изумительно работает в Редакторе и в режиме Execute и в режиме Editor скриптов.

А ты пробовал? У меня Input.mousePosition ничего не возвращает с этом режиме. И собственно это на текущий момент одна из проблема которую я не решил. Вторая - нужно чтобы в режиме редактирования карты Маусдауны и клики редактором не обрабатывались.

Все методы и инструменты для этого имеются и не надо морщить лицо, не потрудившись выслушать дельные советы.

Так ты только возмущаешься даже не потрудившись прочитать ответы, лучше бы дал делный совет. Вот 2 вопроса:
1) Как получить в Едиторе положение курсора от-но камеры едитора. (ее получил)
2) Как сдалать чтобы Едитор необратывал маус клики при редактировании карты проходимости. (При клике на игоровой объект он не выбраться должен, а на его место поставиться "припятствие").
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Карта проходимости

Сообщение Neodrop 25 ноя 2009, 18:30

Если я пишу что-то на форуме, это значит, что я "пробовал". Мне за тебя писать скрипт? :-?
Изучи классы HandleUtility прежде чем спорить о том, о чём ты даже не потрудился поискать. :-B

Вот к примеру, видел такой вариант? http://www.unifycommunity.com/wiki/inde ... nOnSurface

Может, при некотором размышлении, он тебе поможет?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Карта проходимости

Сообщение Neodrop 25 ноя 2009, 18:37

Получить позицию курсора : Event.mousePosition
Все Event работают в Редакторе.

Чтобы Редактор не обрабатывал клики на определённых объектах, повесь к примеру, на них таг "Dont Move In Editor" и проверяй на его наличие. Чего проще то?

З.Ы. Извини, если резко высказался. Иногда бывает.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Карта проходимости

Сообщение Tolking 25 ноя 2009, 19:56

Neodrop писал(а):Если я пишу что-то на форуме, это значит, что я "пробовал". Мне за тебя писать скрипт? :-?
Изучи классы HandleUtility прежде чем спорить о том, о чём ты даже не потрудился поискать. :-B

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

Neodrop писал(а):Вот к примеру, видел такой вариант? http://www.unifycommunity.com/wiki/inde ... nOnSurface

Может, при некотором размышлении, он тебе поможет?

Видел, не поможет. Прежде чем тему открыть все скрипты для едитора на вики просмотрел. Скрипт устанавливает на поверхность объекты, которые добавлены в сцену, там есть скрипта которые добавляют объекты в сцену, но и они не помогут т.к. Принцип работы один Вызвали метод - он сделал что-то.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Карта проходимости

Сообщение Tolking 25 ноя 2009, 20:06

Neodrop писал(а):Получить позицию курсора : Event.mousePosition
Все Event работают в Редакторе.

:) Не поверишь! И Event тоже крутил. Нету там мауспозишн. Уже начал прикручивать виндовую мышь...

Neodrop писал(а):Чтобы Редактор не обрабатывал клики на определённых объектах, повесь к примеру, на них таг "Dont Move In Editor" и проверяй на его наличие. Чего проще то?

Э нет!:) Нужно чтобы редактор проверял наличие флага, что начато редактироваие карты и не обрабатывал клики, как вариант переназначить их на свою обработку вроде где-то встречал такое...
У вас нет доступа для просмотра вложений в этом сообщении.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Карта проходимости

Сообщение Neodrop 25 ноя 2009, 20:10

Tolking, ну ты точно на нехорошие слова напрашиваешься.
Я знаю тебя давно и с хорошей стороны и не хочу менять своё мнение на то, которое ты так активно навязываешь.
Разуй глаза и смотри сюда :


Event.current.mousePosition
Event.current.camera

Ещё что-нибудь разжевать? X(

А если ты не в состоянии понять Визардов - объясняю. Тебе ничто не мешает создать объект динамически, назначить его куда угодно и поставить в нужное место, кроме собственнных... Хм.. Принципов.
И представь себе, он даже в Сцене сохранится.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Карта проходимости

Сообщение Tolking 25 ноя 2009, 20:37

:) Разжуй как IntPtr, которым является Event.current.camera перевести в Unity.Camera.

Я действительно не в состоянии понять, как визард может ставить объект туда, куда я ткну мышкой на сцене и не 1 раз, а 1000. Если он сам вызывается через меню и запускается кнопкой. Для выполнения того, что мне нужно он должен работать постоянно, а не дискретно. Для этого подходит Editor у него есть OnSceneGUI Единственная проблема - переключение инспектора при клике на другие объекты....

Спасибо за Event.current.mousePosition. Завтра буду проверять может Event.current.mouseRay еще лучше подойдет...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Карта проходимости

Сообщение gnoblin 25 ноя 2009, 20:50

Карта проходимости минимум байтовый массив 256,256.

Что такое editor wizard? Если имелся ввиду ScriptableWizard - то он неподойдет впринципе. Он работает дискретно, а нужно чтобы постоянно работал.

Через визард я могу сделать "Показать проходимость", "Скрыть проходимость". Но не редактирование проходимости...

Работа через "игровой гуй" - натяжка, после остановки, данные скидываются в первоначальное состояние, нужно городить обмен через IO - нехочется! Пораставлять прямо в сцене - это пипец! Как ты это себе представляешь? ДрагДропить скажем 1500 штук квадратиков? Уж проще нарисовать в редакторе карту, а потом импортировать ее...


Наверное пока мы тебе не напишем этот редактор 4мя способами ты не успокоишься... #-o
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Карта проходимости

Сообщение Neodrop 25 ноя 2009, 21:02

Tolking писал(а)::) Разжуй как IntPtr, которым является Event.current.camera перевести в Unity.Camera.

Да, с камерой ляп вышел. Но остальное ты уже хоть малость, но начинаешь соображать.
А 1000 кликов - это от недалёкой фантазии, друг мой. Что тебе мешает написать кисть? Которая будет ставить кубики везде, где они ещё не установлены и куда ты мышой повёл? Или мышой + кнотрольная кнопка ?
И не обязательно Визард - Editor скрипты гибче и удобнее.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Карта проходимости

Сообщение Tolking 25 ноя 2009, 23:38

gnoblin писал(а):Наверное пока мы тебе не напишем этот редактор 4мя способами ты не успокоишься... #-o

Спокойствие! Мне не нужно 4 способа. :) У меня написан редактор, мне нужно его на Юнити функционально повторить.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Карта проходимости

Сообщение Tolking 25 ноя 2009, 23:44

Neodrop писал(а):А 1000 кликов - это от недалёкой фантазии, друг мой. Что тебе мешает написать кисть? Которая будет ставить кубики везде, где они ещё не установлены и куда ты мышой повёл? Или мышой + кнотрольная кнопка ?
И не обязательно Визард - Editor скрипты гибче и удобнее.

Клики - это пример. Кисть в данном случае не очень удобно. Для рисования карты прохождения удобнее всего использовать заполнение регионами. Этот момент проверен.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

След.

Вернуться в Editor

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

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