Визуальное представление невизуальных объектов

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

Визуальное представление невизуальных объектов

Сообщение mentors 01 апр 2011, 10:10

Ну вот и пришла пора мне задать свой первый вопрос...
Хотя это и не совсем вопрос, а скорее просьба помочь советом, и обсудить интересующую тему...

Суть проблемы: Необходимо добавить к собственным невизуальным компонентам свое представление в редакторе...
При выделении данного компонента:
1) отобразить Gizmo. (например для Joint)
2) отобразить заданное превью в свойствах объекта
3) отобразить вспомогательную графику в сцене (только в режиме редактирования, например при выделении joint подсветить соединяемые объекты, нарисовать точки соединения, если это аналог HingeJoint - отобразить плоскость вращения и ограничение вращения).

Код не прошу - с этим справлюсь сам, нужно направление куда копать, а также Ваши идеи, ссылки на что-либо подобное (сам в виду не очень большого количества свободного времени - поисками практически не занимаюсь - поэтому очень много интересного мог просто пропустить).

Сейчас активно копаю эту тему для своего редактора физики, с собственным набором физических компонент. Так что приму любые советы и пожелания для такого редактора.
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Визуальное представление невизуальных объектов

Сообщение Zaicheg 01 апр 2011, 10:38

Думаю, можно начать с класса Gizmos
Превью где-то было в Антаресе (полагаю, что гизмы и вспом. графика там тоже найдутся)
И класс GL посмотреть
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Визуальное представление невизуальных объектов

Сообщение Paul Siberdt 01 апр 2011, 10:42

Вот, в Антаресовской ветке ссылка на пост с рисовалкой кривых Безье. Отличный пример кастомной визуализации.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Визуальное представление невизуальных объектов

Сообщение mentors 01 апр 2011, 11:31

Zaicheg писал(а):Думаю, можно начать с класса Gizmos
Превью где-то было в Антаресе (полагаю, что гизмы и вспом. графика там тоже найдутся)
И класс GL посмотреть

Класс Gizmos как раз и копаю, но хотелось бы посмотреть что уже есть (если есть).
За GL - спасибо, посмотрю.
Paul Siberdt писал(а):Вот, в Антаресовской ветке ссылка на пост с рисовалкой кривых Безье.
Да, пример хороший, спасибо, посмотрю (кстати вариант того, о чем писал в первом посте - вроде тему компонент и смотрел достаточно внимательно - но эту - пропустил).
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Визуальное представление невизуальных объектов

Сообщение Neodrop 01 апр 2011, 13:21

Paul Siberdt писал(а):Вот, в Антаресовской ветке ссылка на пост с рисовалкой кривых Безье. Отличный пример кастомной визуализации.


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

Re: Визуальное представление невизуальных объектов

Сообщение Paul Siberdt 01 апр 2011, 13:30

Я просто постеснялся приводить в качестве примера такую большую и разностороннюю штуковину. ;;)
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Визуальное представление невизуальных объектов

Сообщение mentors 01 апр 2011, 15:05

Neodrop писал(а):В самом Antares два класса кривых с двумя типами визуализации. Если говорить о кривых.
Neodrop, спасибо, посмотрю. Но в принципе, уже есть некоторая подвижка с помощью GL...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Визуальное представление невизуальных объектов

Сообщение Neodrop 01 апр 2011, 15:10

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

Re: Визуальное представление невизуальных объектов

Сообщение mentors 01 апр 2011, 16:09

Neodrop писал(а):Вместо GL можно использовать класс Handles
О, тоже хорошо, особенно Handles.ArrowCap, DrawAAPolyLine, DrawLine, DrawBezier, ConeCap :-bd - то что бабушка прописала...
Лучше чем в GL - просто совсем то - что нужно... Именно оно...
Как хорошо когда советы как из рога изобилия...
Neodrop ^:)^ (3A4OT)
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Визуальное представление невизуальных объектов

Сообщение mentors 02 апр 2011, 08:52

Как всегда, изобретаем велосипед.
Вот такое представление получается у Hinge Joint...
Причем теперь это полноправный объект сцены, имеющий свое визуальное представление в редакторе и не имеющий привязок к другим физическим объектам, до тех пор пока их не зададим самостоятельно.
1.jpg

Есть еще косяки с поведением и настройками (писался с чистого Joint - так что еще требует доводки), но с отображением - все нормально... Масштабируется, перемещается, вращается, при привязке - перемещается, имеет два режима отображения, для отладки (отображается в сцене) и для компиляции (в сцене не отображается)...
У вас нет доступа для просмотра вложений в этом сообщении.
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Визуальное представление невизуальных объектов

Сообщение Paul Siberdt 02 апр 2011, 09:10

Кстати, для подобных вещей очень имеет смысл глянуть на реализацию оныъ, например, в 3D-редакторах.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Визуальное представление невизуальных объектов

Сообщение mentors 02 апр 2011, 09:21

Paul Siberdt писал(а):Кстати, для подобных вещей очень имеет смысл глянуть на реализацию оныъ, например, в 3D-редакторах.
Вот один плагин для MAXа мне и дал тему к размышлению (не помню как называется, давно видел, но там что-то с физикой у машинок было)... В Maya говорят есть похожие представления для физических объектов, но с этим монстриком я не дружу совсем (хотя и в MAX - нуб полный), сейчас главное набить шишек, посмотреть что получится. Потренироваться, врасти - так сказать в тему. И уже постепенно сделать то - что хочется...
Уверен, сразу не получится, ну да и торопиться некуда, использую [unity 3D] сугубо для своего развлечения, никаких мега проектов не задумываю...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Визуальное представление невизуальных объектов

Сообщение Paul Siberdt 03 апр 2011, 09:00

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

Поскольку хотбокс мне нужен при работе любым объектом сцены, я, как понял, должен наследовать КастомЭдитор от "гарантированных" компонентов... и вот тут столкнулся с проблемой - такое наследование убивает GUI-настройки своего родителя, родитель в Инспекторе становится более чем неудобочитаем.

Есть ли какой способ сохранить при наследовании GUI-вид Transform или GameObject?
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Визуальное представление невизуальных объектов

Сообщение mentors 03 апр 2011, 21:28

Paul Siberdt писал(а):Приспичило собрать себе хотбокс-меню, то бишь, меню, что всплывает по нажатию правой кнопки и в позиции мышки в окне Scene. Ночные пробы и штудирования документации привели к ощущению: лучшее, что могу - создать хэндлер с вызовом игрового GUI внутри сцены.
Ты делаешь это для режима редактора или для режима игры? Если для редактора, то честно говоря я не нашел пока ссылки на методы реакции нажатий кнопки мыши в окне и на объектах, как мне кажется, они просто уже все зарезервированы самим редактором, и перехватить их без некоторого шаманства - вряд-ли представляется возможным. А если в игре - там действительно стандартный INPUT, и вроде никаких проблем нет..

Синтаксис:
Используется csharp
if(Input.GetMouseButton(0))
   //Действие по левой кнопкой
if(Input.GetMouseButton(1))
   //Действие по клику правой кнопкой
if(Input.GetMouseButton(2))
   //Действие по клику центральной кнопкой
 


Или я не врубился в вопрос? ;)
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Визуальное представление невизуальных объектов

Сообщение Paul Siberdt 03 апр 2011, 22:34

Я делаю хотбокс для редактора и да, не нашел, как отследить нажатие мыши и получить ее координаты в экране Scene.
Но меня удовлетворила опиентация по выделенному объекту. Я строю меню вокруг него и это вполне устраивает.
Единственная проблема - визуальная поломка конпонента родителя в инспекторе при наследовании, например, Трансформа..
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

След.

Вернуться в Editor

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

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