Да, насколько я понимаю, именно чтото типа браш-ентити. Вода даже не столько брашем определяется, сколько верхней горизонтальной поверхностью этого браша. Ибо по-сути если вода заключена в каком-либо объеме, то попасть в нее можно только через верхнюю покрывающую поверхность.
Вот, например код:
code:
fluid.damping = 0.01f;
fluid.surfacePlane[0] = 0;
fluid.surfacePlane[1] = 0;
fluid.surfacePlane[2] = 1;
fluid.surfacePlane[3] = CollisionProp()->GetCollisionOrigin().z + CollisionProp()->OBBMaxs().z - 1;
fluid.currentVelocity.Init(0,0,0);
fluid.torqueFactor = 0.1f;
fluid.viscosityFactor = 0.01f;
fluid.pGameData = static_cast<void *> this);
//FIXME: Currently there's no way to
//specify that you want slime
fluid.contents = CONTENTS_WATER;
m_pFluidController = physenv->CreateFluidController( pPhysics, &fluid );
Здесь фигурирует горизонтальная плоскость (0, 0, k) при пересечении которой объект начинает считатся "как в жидкости", а на "как в воздухе". Логично, что иначе, чем чегез верхнюю плоскость в воду попасть нельзя, и поэтому если вы создадите воду так, что в нее можно будет попасть не только через покрывающую плоскость, то окажется что движок не будет считвть, что вы в воде.
Насчет партикловой водички... Ну Вальв только недавно и на спекуляр переползла (зато какой!) и нормальные магкие партикли у нее недавно появились. Поэтому можно сказать что Вальвовцы не спешат за хайтеком, а вводят его только тогда, когда он будет оправдан. Ибо мейнстрим пока не потянет физически симулируемую воду.