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

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

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

Сообщение gnoblin 26 ноя 2009, 02:17

Спокойствие! Мне не нужно 4 способа. :) У меня написан редактор, мне нужно его на Юнити функционально повторить.

Тогда все еще проще!

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

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

Сообщение Tolking 26 ноя 2009, 09:20

Однозначно нужно использовать
Код: Выделить всё
Event.current.mouseRay


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

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

Сообщение Neodrop 26 ноя 2009, 10:22

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

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

Сообщение Tolking 26 ноя 2009, 13:19

Так я из-за редактора на Юнити и перешёл. С ужасом жду когда до диалогов доберусь...

Ну, впринципе, все что нужо есть. Примерился - работает почти как нужно. Одно НО - перерисовка 10ФПС... :( Начал обходные пути искать, вернулся к ScriptableWizard.:) Есть у него Update(), но в нем неработает Event - NullReferenceException: Object reference not set to an instance of an object.

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

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

Сообщение Neodrop 26 ноя 2009, 13:31

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

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

Сообщение Tolking 26 ноя 2009, 14:21

Есть, но Event тоже недоступен. :(

Пытаюсь подключить System.Windows пишет Assets/Assets/Editor/PathFindEditor.cs(4,14): error CS0234: The type or namespace name `Windows' does not exist in the namespace `System'. Are you missing an assembly reference?

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

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

Сообщение Neodrop 26 ноя 2009, 16:37

ДА акстись ты. Как это недоступен, если там OnGUI есть?! Event, если ты не в курсе, только из OnGUI и вызывается. Ниоткуда больше.
Опять справку на ночь не листал? :-w

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

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

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

:) Не не листал! Я ночью в ВоВ играюсь!

ОnGUI вызывается для окна-владельца 10 раз в секунду. Т.е. пытаясь сделать через OnGUI я опять имею 10 ФПС(Это уже было и это пытаюсь победить). Кроме того первоначальный вариант с [CustomEditor(typeof(PathFind))] Был удобнее т.к. давал Рей от-но окна, которое мне нужно, а что мне дает в OnGUI в окошках едитора, даже не знаю... И мауса Евент будет отдавать, скорее всего только когда курсор над окном, когда курсор выйдет из окна, то начнет слать евент в окно под маусом. Но это врать небуду - не пробовал... По крайней мере при потере фокуса окном едитора уж точно евенты должны прекратить поступать...

Я что думаю: может у меня просто Рейкаст медленно делается и поэтому ФПС такой низкий? Нужно проверить. А то может я тут зря сношаюсь... Да и вас жалко... ;)
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

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

Сообщение Neodrop 26 ноя 2009, 19:01

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

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

Сообщение Tolking 27 ноя 2009, 09:39

Резюмирую: Красиво решить задачу не на ПРО неполучится. (У меня не вышло по крайней мере. :)) Для решения на ПРО нужно подрубить System.Windows.Input и еще несколько ДЛЛ, чтобы получать координаты курсора мыши от винды, а не от Юнити. Тогда можно воспользоваться любым Editor классом у которого есть Update и из апдейта управлять расстановкой.

Юнити-верным решением считаю класс Editor - он позволяет сделать свой редактор для класса, в моем случае нужно редактировать массив. (упрощенно)

Непонятки: http://unity3d.com/support/documentatio ... neGUI.html
In the OnSceneGUI you can do eg. mesh editing, terrain painting or advanced gizmos

как можно редактировать меш или рисовать на теране если обновление экрана 10 ФПС?

Находки:(там же) http://unity3d.com/support/documentatio ... neGUI.html
If call Event.current.Use(), the event will be "eaten" by the editor and not be used by the scene view itself.

Если использовать Event.current.Use(), то эвент будет "съеден" и небудет использоваться в сценвьювере. Т.е. небудут обрабатываться стандартные действия редактора в сценвью! (не проверял)

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

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

Сообщение gnoblin 27 ноя 2009, 18:36

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

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

Сообщение Tolking 27 ноя 2009, 18:47

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

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

Сообщение Neodrop 02 дек 2009, 10:48

Tolking писал(а):ОnGUI вызывается для окна-владельца 10 раз в секунду.


Попробуй OnSceneGUI() Не очень уверен, но может эта функция чаще обновляется. :-?

In the OnSceneGUI you can do eg. mesh editing, terrain painting or advanced gizmos If call Event.current.Use(), the event will be "eaten" by the editor and not be used by the scene view itself.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

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

Сообщение Neodrop 02 дек 2009, 11:23

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

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

Сообщение Tolking 02 дек 2009, 12:13

Супер! Правда я с самого начала через OnSceneGUI() сделал, но у меня не вышло... :( В резюме к теме писал об этом :
Непонятки: http://unity3d.com/support/documentatio ... neGUI.html
In the OnSceneGUI you can do eg. mesh editing, terrain painting or advanced gizmos
как можно редактировать меш или рисовать на теране если обновление экрана 10 ФПС?


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

Пред.След.

Вернуться в Editor

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

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