Your last post got me to look at the different particle settings being used (so much to tweak, just like in Qt's and most other particle systems I guess). There were quite a few things that needed to be changed I think. Ultimately I got my example boiled down pretty well. It will still bleed into the neighboring tile it is facing, but if you change the facing of all the tiles to the east for a more appropriate unidirectional flow the bleeding one tile into the far wall won't get noticed anyways. Also, I got multiple particle effects going with the same object; I know someone else was having difficulties with this earlier... It was actually pretty easy: the emitters property is a table and can therefore have many particle effects, each separated by a comma like the following: { {...}, {...}, {...},... }. Anyways, I touched up the effect parameters and added a couple others for splashing against the wall columns.
Code: Select all
defineParticleSystem {
name = "waterflow",
emitters = {
{ --river flow
emissionRate = 400,
emissionTime = 0,
spawnBurst = false,
maxParticles = 450,
boxMin = {-1.3,0,-1.3},
boxMax = {1.3,0.0975,1.3},
objectSpace = true,
sprayAngle = {-30,30},
velocity = {0,0},
texture = "assets/textures/particles/glitter_silver.tga",
lifetime = {3, 10},
colorAnimation = false,
color0 = {0.70, 0.70, 0.85},
opacity = 0.7,
fadeIn = 0.4,
fadeOut = 2.5,
size = {0.0325, 0.075},
gravity = {0,-0.2,2},
airResistance = 1,
rotationSpeed = 8,
blendMode = "Additive",
},
{ --wallspray to right of facing
emissionRate = 200,
emissionTime = 0,
spawnBurst = false,
maxParticles = 275,
boxMin = {1.25, 0.0675, 1.08},
boxMax = {1.35, 0.0975, 1.24},
objectSpace = true,
sprayAngle = {15, 90},
velocity = {0.3,3},
texture = "assets/textures/particles/glitter_silver.tga",
lifetime = {0.13, 0.25},
colorAnimation = false,
color0 = {1, 1, 1},
opacity = 1,
fadeIn = 0,
fadeOut = 0,
size = {0.075, 0.125},
gravity = {0, 0, 0},
airResistance = 1,
rotationSpeed = 8,
blendMode = "Additive",
},
{ --wallspray to left of facing
emissionRate = 200,
emissionTime = 0,
spawnBurst = false,
maxParticles = 275,
boxMin = {-1.35, 0.0675, 1.08},
boxMax = {-1.25, 0.0975, 1.24},
objectSpace = true,
sprayAngle = {15, 90},
velocity = {0.3,3},
texture = "assets/textures/particles/glitter_silver.tga",
lifetime = {0.13, 0.25},
colorAnimation = false,
color0 = {1, 1, 1},
opacity = 1,
fadeIn = 0,
fadeOut = 0,
size = {0.075, 0.125},
gravity = {0, 0, 0},
airResistance = 1,
rotationSpeed = 8,
blendMode = "Additive",
}
}
}
Edit: Actually, I found this particle system kind of limiting; I couldn't find a way to initialize the axis the particles are emitted from, and I couldn't find a way to change the theta angle (they only seem to have sprayAngle/phi). Do you perhaps know about how to alter those properties Skuggasveinn?