Community Forum

particle_materialHolder particle emissions

Forum Overview >> Farming Simulator 19

CategoryFarming Simulator 19
Created08.12.2020 00:29

Mike Firment (mike1000195) 08.12.2020 00:29
so ive been pulling apart the games default i3d over the past couple days, and i cant really seem to find how the particleSystems are linked to anything else in the i3d's txt files.

for example:

<ParticleSystem name="smokeEmitter" dynamicId="1" type="sprite" rate="0.01" lifespan="2500" maxCount="500" speed="0.00075" speedRandom="0.00025" tangentSpeed="0.5" normalSpeed="1" spriteScaleX="1" spriteScaleY="1" spriteScaleXGain="0.0025" spriteScaleYGain="0.0025" blendFactor="0.2" blendInFactor="0.5" blendOutFactor="0.5" depthSort="true" randomInitRotation="true" deltaRotateMin="-0.000349066" deltaRotateMax="0.000349066" textureAtlasSizeX="6" textureAtlasSizeY="6">
<Gravity force="0 0 0"/>

the only thing that i can see that would link it to anything would be dynamicID="1". but doesn't that mean that ID is dynamic, and will change? i understand the materialID linking and fileId's that are called in under <files> and <materials> respectively, but the whole <Dynamics> thing i dont quite understand how that comes into play other than the fact that it appears to be just aimlessly calling in sprites without any direct key indicators to link it to anything to call the textures.


p.s., what is "Lambert1" used for? its not linked to anything other than giving it a material Id. i could be wrong but nothing catches my eye in any of the other i3d's that may be calling it in.

Mike Firment (mike1000195) 08.12.2020 00:47
im also trying to do alot of my own independant testing for figuring out what does what. i added a bunch of solid colored diffuses and called them in, and assigned them to all the different fx_smoke01_mat material entrys, but only one of them seems to do anything at all. the other 2 and the fx_soil4x1_mat don't (to my eye at least) seem to do anything at all. the only one displayed is the smoke color for harvesting the crop up by the header, and the discharge smoke effect for the swath at the back of the harvester.

Bilbo Beutlin (BBeutlin) 08.12.2020 01:16
*g* The 'dynamicId' is not a dynamic changing ID - it refers to a dynamic defined in i3d section <Dynamics>.

Look into GDN tutorials, also below for FS17. The most stuff is still valid, often only minor changes.
There's a chapter "particle systems".

Also look into LUADOCs chapter "Particle System". You'll probably not understand all stuff, but should be sufficient for a rough overview to see which values are used in a certain context.

If you refer to the mapDE.i3d the material "lambert1" is used in fact.
In a shape multiple materials may be assigned with materialIds=".." (notice the 's').

Mike Firment (mike1000195) 08.12.2020 08:00
thank you for the reply.

from what i can gather from the resources you provided me (thank you by the way), lambert1 is the shared materialId for emitShape in the i3d in GE (the shape of the plane(s) that actually emits the particles. this is traditionally non-renderable, hence why there is no fileId that needs to be associated to it for a texture.

LUADOC's chaper on particle systems (even though informational for lua) was not particularly helpful in this specific instance, although appreciated.

GDN's tutorial on particle systems was very helpful, all but in the instance that it didn't dive too deep into all of the associations between the entry's and different groups within the xml for the particleSystems itself. although i now know what there are different smoke emissions nodes for (almost) every crop type, (pretty much anything that needs smoke emitted obviously), im still unsure where to go about looking for how everything ties into different groups.

from what i can gather (and please let me know if im misled):

the shapeEmitter is created (or imported) into the i3d. that then needs to be assigned a materialId for textures, which the file for the diffuse textures is imported by the <files> section. that particle is then put into the <dynamics> section, which holds all of the details for the particle emission itself. it is given a dynamicId, which associates it to a transform group in the i3d under the <scene> section, by the reference of nodeId's. these can be broken up into different subsections of transform groups for their primary operation under the <scene> group, (i.e. smokeParticleSystems, chopperParticleSystems, etc.).

im not sure what some of the particle systems (even though 50% obvious) do, like chopperParticleSystems. they can be sort of understood by looking at the animations in GE, but im sure it can be narrowed down to understand its nature by trail and error, depending on the nature of intent for the specific particle that is trying to be added.

am i correct, somewhat wrong, or wrong entirely

Bilbo Beutlin (BBeutlin) 08.12.2020 14:38
All in all that's right.
By further researches you will find that particleSystems on maps and vehicles are quite different in handling. Where you have in maps standalone emitters, in vehicles and tools the emitters are linked with the certain vehicle specializations and controlled predominantly by xml.

Mike Firment (mike1000195) 09.12.2020 00:37
i got it all working. thanks man! the crop type was missing the chopper effects, somehow it just wasn't put in there, but nevertheless i got it working through trial and error

Note: Log in to post. Create a new account here.