I tried installing Plutonium Effects for DBW and UP3.0 on a 4.09m/UP2.01 install tonight by swapping the 3DO and Effects folders only(keeping the UP3.0 and DBW class files unchanged). Both attempts, unfortuneately, caused freezes when trying to load .ntrks or missions. I was hoping to get some insight into what you guys are seeing in DBW, but it didn't work. My rig's not set up for another install of IL2 right now, so I can only guess at what effects a DBW install produces using LowerParticleEffect(LPE).
If anyone is interested in trying to make their own effects for IL2 though, please read on. I'll do my best to describe what I know of the .eff and its nuances.
First off, the .eff files control the effects - explosion, debris, smoke, sparks...what have you. The .eff draws from the .mat file. The .mat file basically determines what's done with the .tga file. The .tga file is the single image that the effect(.eff) is made from. I hope that makes sense.
.mats are really mostly beyond me! I just looked at what other people did with their .mats and experimented by swapping. Grey scale .tgas and those with alpha channels come into play here. This is a whole other subject though.
Here's what the BlackMediumSPD.eff looks like when you open it with Notepad. Set Notepad as your default program to open .effs. For DBW users new to effects this is a great place to start since you know what the effect produces already - a big black patch! So any changes you make will be quite noticeable. Again, LPE is not intended for DBW - I'm just using it for example purposes.
File path - 3DO/Effects/Aircraft/BlackMediumSPD.eff
[ClassInfo]
ClassName TParticlesSystemParams
[General]
MatName ../TEXTURES/JetSmoke.mat
Color0 0.1 0.1 0.1 1.0
Color1 0.1 0.1 0.1 0.00
nParticles 8
FinishTime -1.0
MaxR 0.0
PhiN 0.0
PsiN 0.0
LiveTime 100.0
EmitFrq 10.0
EmitVelocity 5.0 0.0
EmitTheta 0.0 0.0
GasResist 1.0
VertAccel 0.25
Wind 0.0
Size 50.0 100.0
Rnd 0.1
Here's a breakdown for the BlackMediumSPD.eff(most .effs follow the same rules, but there are some exceptions though):
[ClassInfo]
ClassName TParticlesSystemParams...rarely have I messed with this one.
[General]
MatName ../TEXTURES/JetSmoke.mat...determines what(and where) .mat(texture/.tga) to pull from. This is the single image that will be generated as an effect.
Color0 0.1 0.1 0.1 1.0.....controls first half of the color of the effect (Red/Green/Blue/Tranparency scale)
Color1 0.1 0.1 0.1 0.00.....controls second half-the 0.00/0.0 makes eff fade away smoothly because transparency is zero.
nParticles 8...important-body of the effect/tga genereated!
FinishTime -1.0...time before effect stops emitting particles(particles=.tga!). A negative one(-1.0) makes the effect emit continuously. A 0.5 would make the effect emit for half a second...roughly. All contrails/fire for inflight aircraft damage/smoke most have a -1.0 in them! Failure will result in odd things. Non SPD and TSPD effects don't have to have -1.0 as FinishTimes. Compare the effects for EngineStart2 with others to get an idea of what timings can do. See also ground explosions and vehicle smokes.
MaxR 0.0...rotation of the .tga as far as I know.
PhiN 0.0...not sure, could never really see any change with this one. It's got to do something though???
PsiN 0.0...rotation of the .tga as far as I know. An internal error will tell you when you've entered to high a value here.(20.0-30.0 if I remember correctly???)
LiveTime 100.0...amount of time the effect is totally visible.
EmitFrq 10.0...how many times the .tga/particle is replicated. Changing this value can result in breaks in your contrail, or make it continuous! It's used in conjunction with nParticle, FinishTime, and LiveTime. Higher numbers will bunch your particles together, lower values do the opposite.
EmitVelocity 5.0 0.0...speed at which the particles emit- beginging/end. Think of it as a bullet leaving the barrel. +or- values
EmitTheta 0.0 0.0...this controls the spread(like a shotgun blast)-beginging/end.
GasResist 1.0...this is the force pushing back/down upon the effect-important! I like to picture it as an invisible dome.
VertAccel 0.25...how fast the effect climbs vertically(positive value) or gets pulled back down(negative value).
Wind 0.0...how far and fast the effect moves sideways - like a wind gust.
Size 50.0 100.0...this is an easy one- beginging/end
Rnd 0.1...this puts stops in the effect, like pauses or stripes in a candy cane.
The more you experiment with the above parameters the more you'll see how closely and similarily they react with, and depend upon/void, one another. Sorry to sound so cryptic, but I don't have the language to describe their behaviors fully. And any experimentation you do would probably be worth a thousand of my words. Key things to pay attention to are nParticle count, EmitFrq, and the effect timings! These will have the most affect on FPS!!! The three are crucial in making a long contrail effect too. Negative values also come into play in some parameters, like ground smokes. Cross reference ground explosions for more value options. File path for those is - Effects/Explodes/...
If you get a clamp error in the log then you most likely don't have enough particles in your effect to match the LiveTime you entered.
To isolate an effect(s): change color values and sizes into something more noticeable(see example below). ***This is the method I used to figure out what everything did in Plutonium.***
Color0 1.0 0.0 0.0 1.0...=red
Color1 1.0 0.0 0.0 0.0
Color0 0.0 1.0 0.0 1.0...=green
Color1 0.0 1.0 0.0 0.0
Color0 0.0 0.0 1.0 1.0...=blue
Color1 0.0 0.0 1.0 0.0
Color0 0.1 0.1 0.1 1.0...=black
Color1 0.1 0.1 0.1 0.0
Color0 1.0 1.0 1.0 1.0...=white
Color1 1.0 1.0 1.0 0.0
Contrail Example: The BlackMedium damage contrail is made up of three parts(.effs)-
first two parts(BlackMediumSPD.eff and BlackMediumTSPD.eff) these control the contrail "in flight".
second part(BlackMediumGND) controls the effect once the plane has landed and is moving without much speed on the ground.
Try to isolate the effects BlackMediumSPD.eff and BlackMediumTSPD.eff by changing their color values into some of the above examples. Use this method to pin point any effect you want to change later on as well. This is for DBW users only. 4.09ers, keep reading for an experiment you can try.
Record a .trk of the effects happening once you've isolated them.
Look at the parameters that myself and other modders have used for .effs with SPD and TSPD in the name to give you an idea of what numbers produce the contrail shape. Also, cross reference color values to get an idea of what color numbers produce what colors. And, try experimenting with other .tgas. Use FRAPS to test the FPS of your effects. The nParticles for LPE effects are at what I think is the minimum level already- the timings might be a bit confusing, but the particles are at a low starting point. Increase in the nParticle and EmitFrq will be the biggest FPS eaters. Large .tga files also affect game performance.
An easy way to see the contrail effect, for any install(4.09 or DBW) with LPE, is to change the color values of BlackHeavySPD and BlackHeavyTSPD to some of the above examples then watch the fourth allied plane in P38vsKI84 .ntrk. This will show you the basic layout of the two heavy smoke effects in LPE simultaneously, with one highlighted in the colors you specified. I think this will make things clearer for anyone reading this. And it's an easy thing to try if you've been interested in messing with effects.
Like anything else, IL2 has many limits - kind of like this tutorial! Check the effect you're working on by hitting Shift-Tab in game to bring up the log file. If you see an INTERNAL ERROR, then something you entered is wrong or out of parameter for the game. Distinguishing between Internal Errors is also something to study further on down the line. Use the color trick to find what .effs control what effects and use .trks to record the effects you are trying to isolate. Make changes one at a time and reload your game to see what happened. This is where having a .trk with the effect you're testing will come in handy. I wouldn't be surprised if I loaded my game a thousand times while trying to make LPE. I hope some of this information can help others in bringing more to our beloved IL2. Contact me via PM, or just ask here so others can read, for any further info. Good luck!
Steppenwolf