Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity

Unity Мультиплатформенный инструмент для разработки игр

Ответ
 
Опции темы
Старый 19.02.2012, 01:44   #1
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Tile Map Editor

Вот наконец и готова первая версия моего редактора тайлового уровня на юнити

http://dl.dropbox.com/u/55489242/Til..._editor_v1.rar
Т.к. я нацеливался на создание маленьких тайловых уровней для каких-то логических игр, то каждый блок уровня это отдельный объект. Теоретически статический батчинг должен был их объединять, однако в окне статистики, хз почему, просто огромное количество драв калов.
Ну и т.к. опыта у меня еще нет, то наверняка там есть еще куча ошибок. Буду рад вашим советам.

Управление:
левая кнопка мыши - добавить тайл
шифт - выделить блок
шифт + левая кнопка мыши - удалить блок.
3д курсор всегда соприкасается с каким-то блоком, поэтому создать блок в пространстве нельзя. Не знаю так оставить или можно что-то придумать.
(Offline)
 
Ответить с цитированием
Старый 19.02.2012, 02:08   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Tile Map Editor

Советы на вскидку (спать охото):
1. Чтобы работал статический батчинг надо помечать объекты статическими. Это сработает только когда объекты расставлены в редакторе, а не созданы динамически.
2. В твоем случае можно сделать комбайн мешам уровня.
3. т.к. объект низкополигональные у тебя много динамически сбатчилось, это нормально.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 19.02.2012, 02:23   #3
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Tile Map Editor

1. Делаю isStatic = true. Может статический батчинг не работает потому что все объекты клоны?
2. Вручную объединять все в один меш не хочу т.к. много мороки и это работа unity.
3. Хотя и сбатчилось много, но и дравкалов много очень. Все же не понимаю откуда столько. И почему динамический батчинг, а не статический(:
(Offline)
 
Ответить с цитированием
Старый 19.02.2012, 02:24   #4
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Tile Map Editor

Сообщение от WISHMASTER35 Посмотреть сообщение
И почему динамический батчинг, а не статический(:
Статический батчинг работает только когда объекты расставлены в редакторе, а не созданы динамически. И у них должна стоять галочка - Static.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 19.02.2012, 02:35   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Tile Map Editor

Я когда писал вот эту заготовку редактора - http://shgames.ru/unity/bombers_ed.html
динамически клеил меши по материалам брав кусок 10х10 клеток.
Редактор сейчас работает криво, вероятно из-за того что был сделан на Unity 2.6, а плеер сейчас 3.5... управление мышью глючит (
__________________
Blitz3d to Unity Wiki

Последний раз редактировалось pax, 19.02.2012 в 11:41.
(Offline)
 
Ответить с цитированием
Старый 19.02.2012, 02:36   #6
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Tile Map Editor

так я их расставляю в редакторе. только своим способом, а не стандартным. Т.е. перед запуском игры уже все расставлено. Может объекты можно как-то по другому создавать?
(Offline)
 
Ответить с цитированием
Старый 19.02.2012, 11:41   #7
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Tile Map Editor

У них у всех статик стоит? Или только у корневого элемента Map?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 19.02.2012, 13:23   #8
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Tile Map Editor

У всех конечно.
Кстати, изменение трансформации корневого Map начало занимать несколько секунд)
Еще пару вопросов.
1. Как правильно сделать, что бы при клацании мыши в сцене не происходило переключение на другой объект? Сделал так, но по-моему это не лучший выход.
if( Event.current.type == EventType.Used ) {
Selection.activeGameObject = map.gameObject;
}
Поначалу я так даже в окне иерархии не мог переключить объект, но потом заработало.
2. Событие MouseDrag должно возникать только когда я перемещаю мышь с зажатой кнопкой? Оно у меня иногда вызывалось и просто при движении мыши. А события типа KeyDown\KeyUp вообще только пару раз появились. Не знаю это баги юнити или я чего-то не понимаю.
(Offline)
 
Ответить с цитированием
Старый 19.02.2012, 13:42   #9
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Tile Map Editor

Вопрос где ты их ловишь? в OnSceneGUI? Если да, то я ловил их в блоках Handles.BeginGUI() и Handles.EndGUI().
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 19.02.2012, 22:11   #10
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Tile Map Editor

Как блоки Handles.BeginGUI() и Handles.EndGUI() могут исправить проблемы с событиями? Ведь Event.current инициализируется еще до вызова OnSceneGUI. И здесь http://unity3d.com/support/documenta....BeginGUI.html написано, что это только для рисования 2д элементов.
Нарисовал другую карту http://upwap.ru/2034691 теперь дравкалов нормально, но батчинг все равно динамический. Статический так и не заработал.
Кстати, EditorUtility.SetSelectedWireframeHidden после запуска сцены теряет свое состояние( Хз баг или не баг.
(Offline)
 
Ответить с цитированием
Старый 19.02.2012, 22:34   #11
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Tile Map Editor

Ну а почему ты думаешь, что батчинг не статический? Там где-то в сцене статический батчинг создает объект, на котором висит собранный в один объект меш с одинаковыми материалами.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 20.02.2012, 18:51   #12
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Tile Map Editor

Вообще я думал, что в окне статик показывается только динамический батчинг. Тем более количество сбатчиных объектов зависит от количества видимых, как будь то оно на лету батчится.
Объектов никаких не создается. Или он скрыты.
А никак нельзя узнать откуда берется такое большое количество драв калов у меня в первой карте?
(Offline)
 
Ответить с цитированием
Старый 20.02.2012, 20:15   #13
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Tile Map Editor

работает у тебя статик батчинг, только не так как ты хочешь
Миниатюры
Нажмите на изображение для увеличения
Название: sb.png
Просмотров: 1183
Размер:	50.2 Кб
ID:	16191  
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 20.02.2012, 21:44   #14
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Tile Map Editor

Да я хочу, что бы драв калов было меньше. А как этот меш можно увидить?

Можно сделать, что бы коллайдеры и тп рисовалось в Gizmos только, если выбран сам объект, а не его родитель? А то, если каждый объект рисует свой коллайдер, то каша страшная получается. Если это делать через HideFlags.HideInHierarchy, то этот объект мышкой не выберешь. А мне надо как-то сделать возможность выбора конкретного объекта на случай, если надо будет его настроить.
(Offline)
 
Ответить с цитированием
Старый 20.02.2012, 22:09   #15
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Tile Map Editor

Сообщение от WISHMASTER35 Посмотреть сообщение
А как этот меш можно увидить?
В одном из своих скрытых кубиков щелкни по мешу.


Если ничего разрушаться не собирается в этом уровне, то удалить все колайдеры, сделать комбайн мешам, потом добавить меш колайдеры тем мешам которые останутся.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 01:35.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com