| particles | 
|  | 
| 
| hawkfly2016 | Дата: Четверг, 12.07.2018, 10:25 | Сообщение # 1 |  | Сержант Группа: Пользователи Сообщений: 31 Награды: 0 Репутация: 0 Статус: Offline | Чего хочу? Хочу дерево или группу кустов, которое сначала пререндерится в текстуру с разных углов (наверное с интервалом 5 градусов, где-то 64x64). Потом это дерево в большом количестве будет расставляться на поверхности в зависимости от угла. Появилось много вопросов: как лучше это сделать вообще (партиклы какие может ?), сколько мемори это съест, можно-ли хранить 8-битные текстуры, как заменять текстуру при повороте, через функцию типа update() и.т.д. 
 
 Сообщение отредактировал hawkfly2016 - Четверг, 12.07.2018, 10:26 |  |  |  |  | 
| 
| ninth | Дата: Пятница, 13.07.2018, 10:15 | Сообщение # 2 |  |  Admin Группа: Администраторы Сообщений: 1582 Награды: 5 Репутация: 46 Статус: Offline | Боюсь, что в том виде, в котором ты хочешь, это будет работать медленнее чем без всех этих извратов, надо учитывать что каждый дополнительный узел будет замедлять работу т.к. будет по-отдельности отправляться в видеопамять. Т.е. например 10000 кубов объединённых в одну модель и 10000 кубов по-отдельности это очень разные вещи по скорости. Если тебе нужно очень большое кол-во растительности, то это обычно делают через шейдеры. Если без шейдеров, то есть ещё такая штука как LODы |  |  |  |  | 
| 
| hawkfly2016 | Дата: Пятница, 13.07.2018, 10:42 | Сообщение # 3 |  | Сержант Группа: Пользователи Сообщений: 31 Награды: 0 Репутация: 0 Статус: Offline | Да нет, же. Расставляться на карте будут партиклы с пререндренной текстурой. Мне только интересно много всяких мелких деталей реализации. В памяти будет приличный такой массив пререндеренных текстур, из него будет выбираться одна, соответствующая угловой позиции дерева на карте. Вот я и думаю как конкретно это реализовать. Надо наверное в какой то функции типа update последовательно перебирать все частицы и красить их в соответствующую текстуру. Есть ещё рубаночный вариант делать один пререндер дерева каждый кадр на все позиции, в зависимости от угла камеры. |  |  |  |  | 
| 
| ninth | Дата: Пятница, 13.07.2018, 10:55 | Сообщение # 4 |  |  Admin Группа: Администраторы Сообщений: 1582 Награды: 5 Репутация: 46 Статус: Offline | Я об этом и говорю - при таком подходе тебе придётся держать каждую "частицу", точнее биллборд в отдельном узле для того чтобы иметь к нему доступ, со всеми вытекающими из этого проблемами и объём текстур (которые при желании можно в один атлас загнать) будет меньшей из этих проблем, в общем на мой взгляд это будет неработоспособно. Обычно такое делается через шейдеры, посмотри на различные реализации травы. |  |  |  |  | 
| 
| hawkfly2016 | Дата: Пятница, 13.07.2018, 11:17 | Сообщение # 5 |  | Сержант Группа: Пользователи Сообщений: 31 Награды: 0 Репутация: 0 Статус: Offline | Ну, да перед тем как это прочитать я пришел примерно к тому-же выводу. Шейдер... да чувствую даже что-то, наверное там что-то есть, но по мне шейдер- это пока ругательство :))) Оставлю пока эту блаженную идею и попробую реализовать топорный вариант, где на все биллборды рендерится каждый кадр одна текстура, тут-то все чисто? |  |  |  |  | 
| 
| ninth | Дата: Пятница, 13.07.2018, 12:34 | Сообщение # 6 |  |  Admin Группа: Администраторы Сообщений: 1582 Награды: 5 Репутация: 46 Статус: Offline | 1. зачем тебе каждый кадр текстуру рендерить? 2. не скажу на вскидку как будут работать билборды если их объединить в одну геометрию или использовать rigidbodycombiner, а без этого проблема никуда не уйдёт
 |  |  |  |  | 
| 
| hawkfly2016 | Дата: Пятница, 13.07.2018, 15:35 | Сообщение # 7 |  | Сержант Группа: Пользователи Сообщений: 31 Награды: 0 Репутация: 0 Статус: Offline | 2. Чего-то торможу... Я могу вывести на экран несколько сот биллбордов на каждом из которых будет текстура и это должно тормозить? Или тормозят биллборды как таковые? 1.А текстуру рендерить каждый кадр, чтобы дерево на текстуре под нужным углом было (под которым камера повернута)...
 А партиклы с биллбордом примеры где есть? И как сделать, чтобы они генерились на поверхности и лучше по маске?
 
 
 Сообщение отредактировал hawkfly2016 - Пятница, 13.07.2018, 15:48 |  |  |  |  | 
| 
| serg-kkz | Дата: Пятница, 13.07.2018, 23:38 | Сообщение # 8 |  |  Генерал-полковник Группа: Модераторы Сообщений: 803 Награды: 3 Репутация: 18 Статус: Offline | Пример биллборда. 
 ООП  -
   |  |  |  |  | 
| 
| hawkfly2016 | Дата: Воскресенье, 15.07.2018, 09:45 | Сообщение # 9 |  | Сержант Группа: Пользователи Сообщений: 31 Награды: 0 Репутация: 0 Статус: Offline | Огр. спсб. сегодня посмотрю... 
 Добавлено (15.07.2018, 09:45)
 ---------------------------------------------
 Да, все отлично, можно ходить и ездить, но я хочу еще и летать, для этого как я понял мне в billboard.egg надо написать вместо axis какой-то point, но я пока не понял какой... А ещё появилась проблема, когда я вставил строчки примера в bumpexample (граунд и биллбоард, и то и то добавляет падение фпс), фпс упал до 40, при максимальном разрешении. syncoff разгрузил порядка +5 кадров...
 
 
 Сообщение отредактировал hawkfly2016 - Воскресенье, 15.07.2018, 10:09 |  |  |  |  | 
| 
| serg-kkz | Дата: Воскресенье, 15.07.2018, 12:47 | Сообщение # 10 |  |  Генерал-полковник Группа: Модераторы Сообщений: 803 Награды: 3 Репутация: 18 Статус: Offline | Все просто   
 
 По поводу падения, не совсем ясно что ты делаешь. Нужен код.
 
 ООП  -
   |  |  |  |  | 
| 
| hawkfly2016 | Дата: Воскресенье, 15.07.2018, 15:48 | Сообщение # 11 |  | Сержант Группа: Пользователи Сообщений: 31 Награды: 0 Репутация: 0 Статус: Offline | Просто в то место в бамп экзэмл, где происходит расстановка объёктов вставляю строки из примера касающиеся граунд и биллборд, в результате посередине бамповой комнаты появляется земля с деревом (дерево зачетное :)))) Чтобы оценить падение на мощном компе наверное надо выключить синхронизацию. 
 
 Сообщение отредактировал hawkfly2016 - Воскресенье, 15.07.2018, 15:51 |  |  |  |  | 
| 
| serg-kkz | Дата: Воскресенье, 15.07.2018, 17:45 | Сообщение # 12 |  |  Генерал-полковник Группа: Модераторы Сообщений: 803 Награды: 3 Репутация: 18 Статус: Offline | Проверил, у меня разницы нет ~340 фпс держит. Может у тебя комп слабый, раз он себя ведет, реагируя на незначительные изменения в сцене. 
 Попробуй текстуру дерева изменить размер кратный двойке, например 256X256
 
 ООП  -
   
 
 Сообщение отредактировал serg-kkz - Воскресенье, 15.07.2018, 17:51 |  |  |  |  | 
| 
| hawkfly2016 | Дата: Понедельник, 16.07.2018, 10:41 | Сообщение # 13 |  | Сержант Группа: Пользователи Сообщений: 31 Награды: 0 Репутация: 0 Статус: Offline | Ну, ладно может это разрешение значимое для слыбых компов (1920x1080),я на самом деле в бубен забил, когда добавил штук 10 плоскостей в режиме 1024x768 и фпс просел градусов на 5, но на второй раз этого уже не было, наверное все в норме... Давно хочу подгрузить какой-нибудь хайполи для теста производительности, но банально не могу этого сделать сейчас потому, что сижу в хроническом аврале, и залезаю в панду и по своим нуждам на полчаса... p.s. А с производительностью уже был вопрос на этом сайте при разрешении 1600x....
 p.s.
 1.У меня ультранотик с турбо режимом и ясссно он греется...
 2.После добавления в сцену 3-10 верточайников и бокс робота фпс в режиме 1024x768 подлетел с 40-60 до 60-90...
 Добавлено (27.07.2018, 15:44)---------------------------------------------
 А можно сделать мин. и макс. дальность прорисовки для конкретного объекта, для биллборда ?...
 
 
 Сообщение отредактировал hawkfly2016 - Среда, 18.07.2018, 09:50 |  |  |  |  | 
| 
| serg-kkz | Дата: Суббота, 28.07.2018, 00:15 | Сообщение # 14 |  |  Генерал-полковник Группа: Модераторы Сообщений: 803 Награды: 3 Репутация: 18 Статус: Offline | Тебе нужно просто пустой нод повесить как уровень детализации. 
 https://www.panda3d.org/manual/index.php/Level_of_Detail
 
 ООП  -
   |  |  |  |  | 
| 
| hawkfly2016 | Дата: Суббота, 28.07.2018, 10:20 | Сообщение # 15 |  | Сержант Группа: Пользователи Сообщений: 31 Награды: 0 Репутация: 0 Статус: Offline | Отл., то, что надо... Спсб... 
 Добавлено (29.07.2018, 11:00)
 ---------------------------------------------
 А ещё есть желание сделать, чтобы объекты становились прозрачными к горизонту. (Впервые вроде видел в фаллауте 3). Можно-ли сделать динамический анврап всех объектов каждый кадр по огромной горизонтальной плоскости, которая будет привязана к камере и по которой будет наносится альфа с градиентом?
 
 Добавлено (30.07.2018, 09:57)
 ---------------------------------------------
 В принципе можно легко сделать несколько полупрозрачных лодов. А как лучше сделать тогда прозрачность, чтобы не фотографировать каждый лод? Первое, что пришло на ум наложить второй текстурой на отрендеренную текстуру карту белого цвета с процентом прозрачности в альфа для дальних лодов и тогда мультитекстуринг сделает то чего мне надо...
 
 
 Сообщение отредактировал hawkfly2016 - Понедельник, 30.07.2018, 09:58 |  |  |  |  |