Х-СOM The last hopeФорум

три проблемы с сортировкой спрайтов. ( upd: решено ) (комментарии)

Страницы: 1 2 Следующая »
#0
18:18, 24 авг 2011

три проблемы с сортировкой спрайтов. ( не решено ) (комментарии)

Это сообщение сгенерировано автоматически.

#1
18:18, 24 авг 2011

А что если прибегнуть к функциям реального 3D? Задать параметры Bouding Box для каждого объекта, задать положение камеры. Произвести расчеты, узнать что кого закрывает и на основании этих данных составить точный список с порядком рендера.


С другой стороны, этот порядок ведь надо лишь 1 раз сосчитать для сцены, может стоит самому это сделать?
Вот более простой вариант - каждому объекту добавить свойство render_index - порядковый номер в очереди рендера. И когда в редакторе раскидываешь по миру объекты - менять этот index и смотреть нет ли косяков.

Соответственно движущиеся игроки тоже будут иметь свой render_index, который можно менять в зависимости от положения на карте (если стоишь за окном, то решетка тебя закрывает. Если перед ним - ты закрываешь решетку окна - другой render_index)

#2
18:32, 24 авг 2011

надо использовать буфер глубины.
Для каждого объекта хранить не только его спрайт в виде изображения, но и спрайт в виде карты высот.
Эту карту использовать для расчета глубины.
Тогда сортировка вообще будет ненужна и геометрия будет корректно стыковаться с спрайтами.

#3
18:33, 24 авг 2011

Гениально))

#4
18:50, 24 авг 2011

Tilk
> А что если прибегнуть к функциям реального 3D?
лезут свои косяки. долго объяснять но я пробовал.

и потом в примере с деревом - геометрически оно и должно было в стену врисоваться. так что в 3Д было точно так же.
там где тетке стоит на лестнице и ее башка за стеной это решаемо. а вот с деревом хз.
бить на тайлы его не хочется

#5
18:53, 24 авг 2011

А значения глубины пикселей возможно задать как-то для текстуры спрайта как альфа канал?

#6
18:55, 24 авг 2011

@!!ex
> надо использовать буфер глубины.
> Для каждого объекта хранить не только его спрайт в виде изображения, но и
> спрайт в виде карты высот.
> Эту карту использовать для расчета глубины.
> Тогда сортировка вообще будет ненужна и геометрия будет корректно стыковаться с
> спрайтами.

это не сильно поможет но сильно усложнит рендер.
не побоюсь повториться - дерево в нижней своей части и должно было врости в здание так как его крона четко в стену упирается. никакой DEPTH_TEST тут не спасет.
я вижу такой выход: в редакторе карт каждому объекту автоматически наздачать renderorder и хранить в карте.
в случае таких вот косяков вручную изменять этот renderorder чтобы порядок был верным.

#7
18:56, 24 авг 2011

Tilk
> А значения глубины пикселей возможно задать как-то для текстуры спрайта как
> альфа канал?
а альфа юзается во всю.  хранить в отдельной текстуре - можно.
но см предыдущий пост почему мне оно не сильно поможет.

#8
19:01, 24 авг 2011

>я вижу такой выход: в редакторе карт каждому объекту автоматически наздачать renderorder и хранить в карте.
>в случае таких вот косяков вручную изменять этот renderorder чтобы порядок был верным.
Да, я это имел в виду в первом посте) По идее в этом нет ничего страшного. Кармак вроде что-то похожее делал :)

#9
19:01, 24 авг 2011
OpenXcomd 2011-08-24 20-43-06-09 | три проблемы с сортировкой спрайтов. ( upd: решено ) (комментарии)

первая трабла решена )

каждому объекту назначил доп параметр высота. по дефолту 0 - т.е объект занимает в высоту 1 клетку
если больше 0 то объект рисуется не в той клетке физически в которой находится а левелом выше.

#10
19:05, 24 авг 2011

А как насчет этого?
Изображение

#11
19:10, 24 авг 2011

Tilk
> А как насчет этого?
картинку не вижу (

#12
19:13, 24 авг 2011
openxcomd_2011_08_24_20_43_06_09 | три проблемы с сортировкой спрайтов. ( upd: решено ) (комментарии) - тут надо у дерева renderorder сдвинуть чтобы оно как бэ перед стеной было, но это уже в редакторе который сейчас пишется
#13
19:16, 24 авг 2011

Успехов!

#14
19:22, 24 авг 2011

я про render order ничего не понял. как оно по вашему должно работать?
а работа через глубину, как минимум позволит избежать проблем с интеграцией 3Д моделей в игру.

Страницы: 1 2 Следующая »
Х-СOM The last hopeФорум

Тема в архиве.