Пауки и скорпионы VFX
1919
77

Там и hlsl нет. Как и срр не было
У тебя простейший материал, в котором вертекс колор умножается на ротатор - все это идёт в wpo. + текстуры самих тварей
В контент экзампл пример куда сложнее. Там есть разные стейты у жуков. Здесь похоже просто сделано по какому-то тутору с ютубчика. Зато баек про плюсы рассказано))))

Ответить
Автор

ну в целом мне не жалко, если вы поймете хоть строчку)

outVelocity = float3(0, 0, 0);

#if GPU_SIMULATION
int numP;
PAR.GetNumParticles(numP);

float3 sumVel = PVelocity;

for (int i = 0; i (i, validBool, otherPos);

if (!validBool)
{
continue;
}
float3 vecFromOther = PPosition - otherPos;
float dist = length(vecFromOther);

if (dist > 0.0001)
{
float falloff = 1 - saturate(dist / RepelDistance);
falloff *= falloff;
sumVel += normalize(vecFromOther) * falloff * RepelStrength;
}
}

float maxSpeed = 100.0;
float speed = length(sumVel);

if (speed > maxSpeed)
{
sumVel = normalize(sumVel) * maxSpeed;
}

outVelocity = sumVel;
#endif

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

Ответить

Ps у тебя там нет статик мешей
У тебя партиклы которые представляют собой меш компонент. Это не тоже самое, что статик меш.

Ответить
Автор

ну и про плюсы очередная байка,
в данном случае лучше HLSL, потому что C++ работает на CPU, а HLSL выполняется на GPU. GPU лучше справляется с параллельными вычислениями, сейчас у меня 30к частиц на 120 фпс.
Но что я могу знать, на ютубчике подходящего видео не нашёл

Ответить