forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Unity (http://forum.boolean.name/forumdisplay.php?f=144)
-   -   Tile Map Editor (http://forum.boolean.name/showthread.php?t=16356)

WISHMASTER35 21.02.2012 01:50

Ответ: Tile Map Editor
 
Не, объединять не хочу т.к. предполагаю, что объекты будут не только кубики, и не только меши. Да и может еще и будут разрушения) Пока только учусь и делаю движок для тайловых игр.
Вот какой ужас получается, если все коллайдеры рисуются http://upwap.ru/2037295
Так и не нашел способ управлять отрисовкой в этот Gizmos(:

pax 21.02.2012 07:57

Ответ: Tile Map Editor
 
Видел я. Я показывал редактор, там все мешами 10х10 клеток (можно больше, но не захотел), причем нет невидимых граней (нет перегрузки по полигонам) и подразумевается разрушение (регенерация меша в рантайме).

Сейчас у тебя в уровне более тысячи колайдеров, это по твоему нормально?

WISHMASTER35 21.02.2012 19:28

Ответ: Tile Map Editor
 
А что тут не нормального? Даже на мобилке не плохо работало.
Вообще максимальный размер уровня я предполагаю 30x30. И пока не знаю с коллайдерами можно будет сделать так как я хочу. А хочу я, чтобы игрок мог ходить только от середины до середины тайла.
Я такое раньше делал давая тайлам теги куб или горка. Может и сейчас придется так сделать. Как с коллайдерами это сделать я пока не представляю.

Вот только, если уберу коллайдеры, то как в редакторе определять на каком объекте мышь?

pax 21.02.2012 19:42

Ответ: Tile Map Editor
 
Ну у меня плоский мир планировался, поэтому ни одного колайдера:
http://shgames.ru/unity/bombers_gameplay.html
Управление: стрелки и D

WISHMASTER35 21.02.2012 21:24

Ответ: Tile Map Editor
 
Мда, надо все же отказываться от коллайдеров. Тогда в редакторе остается проверять пересечение луча с Bounds тайла. Благо у bounds есть метод IntersectRay.
Вот только не уверен для системы частиц bounds создается?
И перебирать все объекты придется вручную или можно как-то автоматизировать процесс?

pax 21.02.2012 22:17

Ответ: Tile Map Editor
 
Мой редактор не оперирует объектами, он оперирует массивом. Геометрия создается при старте уровня и не содержит лишних граней.
Самый простой способ сделать 3d редактор - редактировать по слоям. Пересечение луча с плоскостью найти не сложно.

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

WISHMASTER35 21.02.2012 22:36

Ответ: Tile Map Editor
 
да я понял как твой редактор работает. И все же мне не очень хочется делать подобное. В моем редакторе, кстате, есть пересечение луча и плоскости.
В смысле переписать редакторе с нуля? Редакторе юнити или мой?

Мне сейчас надо узнать на какой тайл в редакторе наведена мышь.
Вот думаю перебирать все тайлы через transform.GetChild или можно сделать, что бы тайлы в редакторе сами реагировали на луч т.е. сделать типа свой коллайдер сделать. Но наверна более надежно будет вручную перебрать тайлы.

На системе частиц просто огромный Bounds, да и IntersectRay работает как-то фигово.
Придется писать свою функцию проверки пересечения луча с боксом. В юнити как я понимаю таких функций нету.

WISHMASTER35 27.02.2012 03:00

Ответ: Tile Map Editor
 
Сделал вторую версию. Теперь на тайлах нету коллайдеров, а каждый объект представляется как пустышка, горка или куб. В редакторе только куб.
Демо http://dl.dropbox.com/u/55489242/Til...WebPlayer.html
Проект http://dl.dropbox.com/u/55489242/Til...r.unitypackage
Скрин редактора http://dl.dropbox.com/u/55489242/Til.../v2/Editor.png
Скрин игры http://dl.dropbox.com/u/55489242/Til...or/v2/Game.png

Можно как-то сделать, что бы мой 3д курсор рисовался с учетом буфера глубины, а не поверх всего?
Еще наверно хорошо бы сделать, что бы кроме куба рисовался и объект, который собираемся ставить на сцену.
А такой цикл foreach(Transform trans in transform) намного медленнее, чем перебор объектов из List?
А с 3.5 в веб плеере меню с ПКМ никак не убрать?

pax 27.02.2012 09:18

Ответ: Tile Map Editor
 
Цитата:

Сообщение от WISHMASTER35 (Сообщение 220709)
А с 3.5 в веб плеере меню с ПКМ никак не убрать?

Тебе сюда

По поводу курсора: рисуй средствами GL.
По поводу отрисовки модели: сюда или создавай временный объект.
По поводу цикла - ИМХО без разницы.

WISHMASTER35 27.02.2012 22:17

Ответ: Tile Map Editor
 
GL только в Pro доступен(
Через Graphics.DrawMeshNow не отрисуешь систему частиц или SkennedMesh, так что остается второе.
То что цикл по чальдам работает так же быстро как и по обычному списку конечно круто, но у меня там еще для каждого объекта делается GetComponent. Это говорят сильно может затормазить игру(:
Лучше буду хранить в List, вот только никак нельзя узнать, что объекту добавился/удалился потомок? На случай, если добавится\удалится объект в игру.
А через GL все равно рисуется все поверх. И цвет всегда белый.

WISHMASTER35 05.03.2012 23:57

Ответ: Tile Map Editor
 
Попробовал я разделить скрипт редактора на скрипты Map и TileSet.
И Editor скрипты сделал для карты и тайлсета.
И вот вопрос как из одного Editor скрипта добраться до другого? Надо получить выбранный тайл получить)

pax 06.03.2012 00:02

Ответ: Tile Map Editor
 
Статическая переменная

WISHMASTER35 06.03.2012 00:35

Ответ: Tile Map Editor
 
Это не ооп:(

pax 06.03.2012 00:35

Ответ: Tile Map Editor
 
Тогда синглтон ;)

WISHMASTER35 06.03.2012 00:50

Ответ: Tile Map Editor
 
синглтон это хранить и передавать значение через какой-то левый класс?
Наверно лучше буду хранить это в TileSet : MonoBehaviour.
Почему, если я создаю поле public TileSet tileset = new TileSet();, то в инспекторе мне предлагается задать этому полю значение как буд-то эта ссылка равна null?

Кстати, в версии 3.5 между тайлами мелькают полосы. Почему-то тайлы не плотно прилегают.

А, синглтон это сохранить ссылку на текущий объект в статическое поле. По-моему здесь это не уместно.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot