ПрограммированиеФорумГрафика

Универсальные системы частиц или строго определённые по параметрам системы частиц?

Страницы: 1 2 Следующая »
#0
11:07, 4 апр 2018

Следует ли делать универсальный буфер параметров для любой частицы в виде полного списка характеристик частицы, даже если частицы не использует все параметры ? 

Например : 

Скорость,
Время жизни,
Поворот,
Цвет,
Направление,
Угасание,
...

Например, есть система частиц которая НЕ использует COLOR частицы или LIFETIME...  Стоит ли делать общий, но не полностью используемый буфер или буфер параметров следует затачивать под конкретную систему частиц, и включать в него только используемые характеристики частицы ?

Какие неудобства у каждого метода ?

#1
12:06, 4 апр 2018

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

короче, конь в вакууме. если у тебя количество частиц измеряется сотнями и тысячами, то вообще никакой разницы нету, как ты их будешь считать, это всё равно будет быстро. а если у тебя частиц реально много(десятки тысяч-миллионы), то следует сначала задать себе вопрос — зачем? и уже оттуда плясать, как конкретно это реализовать.

#2
12:19, 4 апр 2018

Suslik
> как ты себе представляешь частицу

ну есть нейтроны, нейтрино и тд, нужно же как-то применять дельта-функцию на практике :)

#3
12:23, 4 апр 2018

Suslik,

Замечательно представляю - система звёзд в миллионах световых лет от нас - мерцает разными огоньками , но относительно нас, её движением и скоростью можно принебречь.

Вы делали разные системы частиц в одном проекте ?  - Как делали ?  - 1-й или 2-й способ из указаннымх мной выше ?

#4
12:58, 4 апр 2018

bykabak
> Замечательно представляю - система звёзд в миллионах световых лет от нас - мерцает разными огоньками , но относительно нас, её движением и скоростью можно принебречь.
1) слишком уж частный случай
2) такое может не нужно делать системой частиц.

#5
13:10, 4 апр 2018

Andrey,

2) такое может не нужно делать системой частиц.

Ты видишь иные варианты ?

И тем не менее, он существует.  Дать ещё пример наземный ?  Пожалуйста - тлеющие угли костра. примеров таких неподвижных систем частиц много.

И если делать универсальную систему частиц, то получается избыточность данных, в том числе и для GPU.  Да, когда частиц немного - всё это фигня.

#6
14:48, 4 апр 2018

bykabak
> Пожалуйста - Тлеющие угли костра. примеров таких неподвижных систем частиц много.
Billboard с анимированной текстурой? или десякток таких, не много потерь.

#7
16:03, 4 апр 2018

Andrey,

А если угли инераткивны ? - можно пнуть ногой. :)  Вот тут всплывает скорость ;)

#8
16:35, 4 апр 2018

bykabak
> А если угли инераткивны ? - можно пнуть ногой. :)  Вот тут всплывает скорость
Это уже другие частицы. Даже целый источник коротко живущих частиц, закрывающих костер пока моделька полешек меняется

#9
17:31, 4 апр 2018

Как же другие ?

Всё одно - частицы. И в Unity и в UE4 модульная, универсальная система частиц, в том числе и GPU частиц.

Пытаюсь разобраться, для скорости плодить оптимизированные системы частиц по типу системы, или универсальную систему, но относительно медленнее работающую.

Например, в оптимизированной системе частиц "Огонь костра" можно рисовать одним Draw все 4-е эмиттера системы частиц, а вот UE4 такого не может. из одной текстуры UE4 не умеет несколько FlipBook делать. - И не очень-то нужно :)

Дилемма , однако...

#10
18:11, 4 апр 2018

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

#11
18:29, 4 апр 2018

Я просто хочу оптимизировать мою старую работу по системам частиц и у меня выбор : универсальность создания любых систем, но чуть медленнее работающих / оптимальные по скорости, но узко заточенные системы.

#12
19:06, 4 апр 2018

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

Suslik
> как ты себе представляешь частицу, у которой нет скорости? или у которой есть
> скорость, но нет направления?
Если скорость можно задать формулой внутри шейдера, то как параметр отдельной частицы её можно не делать. Считать траекторию прямо в самом шейдере по формуле.

#13
19:06, 4 апр 2018

Строго лучшего варианта нет, так что придётся либо выбирать самому подходящий конкретно твоим требованиям, либо подробно описать эти требования сюда, авось какой эксперт и ответит, какая вайфу больше подходит твоим вкусам из двух предложенных.

#14
21:02, 4 апр 2018

Suslik
Как ты себе представляешь частицу, у которой одновременно есть скорость и позиция?

Страницы: 1 2 Следующая »
ПрограммированиеФорумГрафика

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