Пятница, 18 Октября 2019, 09:35

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Программирование » Общие обсуждения программистов » Изометрические вопросы!
Изометрические вопросы!
sfabrikanДата: Среда, 02 Марта 2016, 10:52 | Сообщение # 1
БЕЗУМЕЦ!!!
Сейчас нет на сайте
Сначала скриншот:


А теперь объяснение что это на скриншоте. Это изометрическая сетка по X Y и условно Z (Так как 2д существует только 2 координаты X Y и рисуется по X Y, но сама сетка имеет 3 меры, но неважно!). В общем ничем не примечательно. Мы видим плоскость и на ней уютно расположились 5 блоков друг на друге, получился некий столб. Этот столб перекрывает 1 блок который находится за ним.

Вопросы: Как заставить не рисовать то что перекрыто другими блоками (То что не видно человеческому глазу из-за высоких блоков), какую формулу для такого изощрения нужно? Стоит ли вообще эдакое делать или только хуже будет?


Это я

Сообщение отредактировал sfabrikan - Суббота, 05 Марта 2016, 10:09
SaiteiДата: Среда, 02 Марта 2016, 11:53 | Сообщение # 2
старожил
Сейчас нет на сайте
Цитата sfabrikan ()
Вопросы: Как заставить не рисовать то что перекрыто другими блоками (То что не видно человеческому глазу из-за высоких блоков), какую формулу для такого изощрения нужно? Стоит ли вообще эдакое делать или только хуже будет?

Если твой рендер работает на GPU, то можно особо не заморачиваться.
Тем более, размеры объектов не обязуются полностью совпадать с размерами ячейки, а значит объекты сзади в некоторых случаях могут быть закрыты лишь частично. Скорее всего такие просчёты будут себе дороже, так что изощрения не стоят того
URGINSANДата: Среда, 02 Марта 2016, 12:42 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
sfabrikan, по идее одна клетка - это 2 треугольника. Думаю тут не стоит даже думать об этом. К тому же, думаю, большинство современных движков автоматом не рендерит того, что не видно.

Я на драйве
sfabrikanДата: Среда, 02 Марта 2016, 12:50 | Сообщение # 4
БЕЗУМЕЦ!!!
Сейчас нет на сайте
Saitei, допустим что CPU
Цитата Saitei ()
Тем более, размеры объектов не обязуются полностью совпадать с размерами ячейки

На скриншоте видно, что не совпадают, но при определено количестве оно закрывает все равно.
Цитата Saitei ()
а значит объекты сзади в некоторых случаях могут быть закрыты лишь частично

Это можно просчитать по высоте блоков, и на каком уровне он находится z сетки. Или проще, если какой-то блок выше определенного z например 5, то блок по x-1, y-1 и z=1 мы не будем рисовать и т.д. Вот и получил я свою заветную формулу.

Добавлено (02 марта 2016, 12:44)
---------------------------------------------
Цитата URGINSAN ()
sfabrikan, по идее одна клетка - это 2 треугольника. Думаю тут не стоит даже думать об этом. К тому же, думаю, большинство современных движков автоматом не рендерит того, что не видно.

Мой рендерит, по этому и задал такой вопрос

Добавлено (02 марта 2016, 12:50)
---------------------------------------------
Цитата URGINSAN ()
по идее одна клетка - это 2 треугольника

В моем случае нет. В моем случае одна клетка это один элемент в таблице, а не какой нибудь треугольник


Это я

Сообщение отредактировал sfabrikan - Среда, 02 Марта 2016, 12:50
YellowAfterlifeДата: Среда, 02 Марта 2016, 12:59 | Сообщение # 5
Сейчас нет на сайте
Я недавно писал для блога запись о изометрических сетках. Там и про сортировку тоже - объекты рисуются по клетке за раз; клетки рисуются рядами; объекты внутри отдельных клеток уже сортируются по позиции. В записи есть интерактивные демонстрации и несколько примеров на различных ЯП.

Если на GPU, просчет пересечений будет стоить больше, чем рисование. Если на CPU... а почему на CPU кстати?




Сообщение отредактировал YellowAfterlife - Среда, 02 Марта 2016, 14:52
OpenGOOДата: Среда, 02 Марта 2016, 13:16 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
Лучше не считать. GPU не разгрузишь, а CPU нагрузишь. Самое дешёвое это не рисовать тайл под блоком.

Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.1772]
sfabrikanДата: Среда, 02 Марта 2016, 13:35 | Сообщение # 7
БЕЗУМЕЦ!!!
Сейчас нет на сайте
Цитата OpenGOO ()
Самое дешёвое это не рисовать тайл под блоком.

Это само собой

Добавлено (02 марта 2016, 13:35)
---------------------------------------------
Я тут посчитал. Что я теряю если я сделаю эту формулу? Только милисекунды загрузки, зато повышаю ФПС, за счет удаление невидимого. Так что считаю стоит попробовать.


Это я
OpenGOOДата: Среда, 02 Марта 2016, 16:12 | Сообщение # 8
почти ветеран
Сейчас нет на сайте
Сколько сейчас уже фпс? Это чтоб было с чем сравнить.

Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.1772]
sfabrikanДата: Среда, 02 Марта 2016, 16:53 | Сообщение # 9
БЕЗУМЕЦ!!!
Сейчас нет на сайте
Цитата OpenGOO ()
Сколько сейчас уже фпс? Это чтоб было с чем сравнить.

Допишу скрипт, скажу или покажу скриншотом

Добавлено (02 марта 2016, 16:53)
---------------------------------------------
В общем без данного скрипта ФПС ~70 на 3.8к рисуемых элементов


со скриптом ФПС около ~85, не сильная разница, но работает, при этом я ничего не потерял. На карте 50х50x5 он повырезал около 300 элементов, которые не рисуются, но существуют.


так же для разнообразия если отключу скрипт убирающие лишние невидимые блоки под блоками то ФПС ~50


Это я

Сообщение отредактировал sfabrikan - Среда, 02 Марта 2016, 17:03
OpenGOOДата: Среда, 02 Марта 2016, 17:16 | Сообщение # 10
почти ветеран
Сейчас нет на сайте
Цитата sfabrikan ()

со скриптом ФПС около ~85, не сильная разница, но работает, при этом я ничего не потерял. На карте 50х50x5 он повырезал около 300 элементов, которые не рисуются, но существуют.

Т.е. из сцены в 12500 элементов было удалено 300?


Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.1772]
TymonrДата: Среда, 02 Марта 2016, 17:16 | Сообщение # 11
With OpenSource forever
Сейчас нет на сайте
Движок, видимо, свой?

Если вы решили обратиться к нам за помощью, не становитесь в позицию неудачника. И не ведите себя как неудачник. Лучший способ получить быстрый и чуткий ответ, - спрашивать как победитель — спрашивать как человек умный, уверенный в себе и знающий, которому просто понадобилась помощь при решении одной конкретной проблемы.
Как правильно задавать вопросы в технических форумах
sfabrikanДата: Среда, 02 Марта 2016, 17:23 | Сообщение # 12
БЕЗУМЕЦ!!!
Сейчас нет на сайте
Цитата OpenGOO ()
из сцены в 12500 элементов было удалено 300?

Нет из 3879 существующих элементов рисуется 3586, без скрипта рисуются все существующие.
Цитата Tymonr ()
Движок, видимо, свой?

Love2D


Это я

Сообщение отредактировал sfabrikan - Среда, 02 Марта 2016, 17:23
OpenGOOДата: Среда, 02 Марта 2016, 18:39 | Сообщение # 13
почти ветеран
Сейчас нет на сайте
У видео карты частота где-то 675Mhz?

Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.1772]
sfabrikanДата: Среда, 02 Марта 2016, 18:46 | Сообщение # 14
БЕЗУМЕЦ!!!
Сейчас нет на сайте
OpenGOO, нет 1030 МГц. Но к чему это все?

Это я

Сообщение отредактировал sfabrikan - Среда, 02 Марта 2016, 18:53
OpenGOOДата: Четверг, 03 Марта 2016, 12:05 | Сообщение # 15
почти ветеран
Сейчас нет на сайте
фпс нормальный, но для такой частоты низкий, если бы это было 3D, то думаю фпс был бы в районе 300-400.

Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.1772]
ЭргалонДата: Четверг, 03 Марта 2016, 17:18 | Сообщение # 16
Вездесущий
Сейчас нет на сайте
sfabrikan, Фпс у тебя такой, в неподвижном состоянии платформы?

Кубариум
Rise of the dark lords
sfabrikanДата: Четверг, 03 Марта 2016, 17:30 | Сообщение # 17
БЕЗУМЕЦ!!!
Сейчас нет на сайте
Эргалон, то есть?

Это я
ЭргалонДата: Четверг, 03 Марта 2016, 17:41 | Сообщение # 18
Вездесущий
Сейчас нет на сайте
sfabrikan, Ну ты сгенерировал карту, ты двигал её? Какой фпс при перемещении?

Кубариум
Rise of the dark lords
sfabrikanДата: Четверг, 03 Марта 2016, 17:49 | Сообщение # 19
БЕЗУМЕЦ!!!
Сейчас нет на сайте
Цитата Эргалон ()
sfabrikan, Ну ты сгенерировал карту, ты двигал её? Какой фпс при перемещении?

Фпс не меняется при движении


Это я
ЭргалонДата: Четверг, 03 Марта 2016, 18:16 | Сообщение # 20
Вездесущий
Сейчас нет на сайте
sfabrikan, Это хорошо

Кубариум
Rise of the dark lords
Форум игроделов » Программирование » Общие обсуждения программистов » Изометрические вопросы!
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2019 Рейтинг