Community Forum

Exhaust Effect

Forum Overview >> Farming Simulator 19

CategoryFarming Simulator 19
Created02.07.2019 04:32


Unknown 02.07.2019 04:32
Hey guys,

Back in 2017 there was a way to add black exhaust smoke to the vehicles (called rolling coal) which was easy to add.
I've opened the i3D in the editor and it still works but when added to a FS19 vehicle it wont show in game.

Am I better to make this from scratch or try make the 17 one work in 19 and how would i go about doing either of these?

This is the i3D:

<?xml version="1.0" encoding="iso-8859-1"?>

<i3D name="threshingCutterMiddleParticleSystem" version="1.6" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://i3d.giants.ch/schema/i3d-1.6.xsd">
<Asset>
<Export program="GIANTS Editor 64bit" version="7.1.0"/>
</Asset>

<Files>
<File fileId="1" filename="fx_smoke6x6_01_diffuse.png" relativePath="true"/>
<File fileId="2" filename="fx_smoke6x6_01_normal.png" relativePath="true"/>
<File fileId="3" filename="psSubUVShader.xml" relativePath="true"/>
</Files>


<Materials>
<Material name="fx_smoke01_mat" materialId="7" ambientColor="1 1 1" alphaBlending="true" customShaderId="3" customShaderVariation="SUBUV_MOVIE">
<Texture fileId="1"/>
<Normalmap fileId="2"/>
<CustomParameter name="psPlayScale" value="1 1 1 1"/>
<CustomParameter name="psColor" value="0 0.1 0.1 1"/>
</Material>
<Material name="lambert1" materialId="8" diffuseColor="0.458824 0.458824 0.458824 1" ambientColor="1 1 1">
</Material>
</Materials>


<Shapes externalShapesFile="exhaust.i3d.shapes">
</Shapes>


<Dynamics>
<ParticleSystem name="smokeEmitter" dynamicId="1" type="sprite" rate="0.05" lifespan="5000" maxCount="800" speed="0.005" speedRandom="0" tangentSpeed="0.15" normalSpeed="1" spriteScaleX="1" spriteScaleY="1" spriteScaleXGain="0.0006" spriteScaleYGain="0.0006" blendFactor="0.75" blendInFactor="0.1" blendOutFactor="0.5" randomInitRotation="true" deltaRotateMax="0.000349066" textureAtlasSizeX="6" textureAtlasSizeY="6">
<Gravity force="0 0 0"/>
</ParticleSystem>
</Dynamics>

<Scene>
<Dynamic dynamicId="1" emitterShapeNodeId="15" name="smokeEmitter" clipDistance="200" nodeId="14" materialIds="7" distanceBlending="false">
<Shape shapeId="2" name="emitShape" scale="0.1 1 0.1" nodeId="15" materialIds="8" nonRenderable="true"/>
</Dynamic>
</Scene>

</i3D>


Bilbo Beutlin (BBeutlin) 02.07.2019 06:13
FS17 is obsolete. Use the new FS19 particle effects instead. They offer much more possibilities and are easier to handle.

Unknown 12.07.2019 12:00
Is there a guide? How are you supposed to do it if there are no instructions?

Bilbo Beutlin (BBeutlin) 12.07.2019 12:41
If there's nothing documented, you must learn by analyzing and understanding the context.
Examine the default vehicles (xml and i3d). Then modify this or that to see what it effects.
Read the corresponding LUAs - also if you don't understand all, it will give you a rough overview what is possible, what you can change.

Unknown 12.07.2019 14:15
Ive got the particle system working in the editor but it wont show up in game and there are no errors. Does it need an lua? Can i just remap to a custom I3d particle system in the XML?
What link am i missing here?

Im using all FS19 stuff now.


Unknown 12.07.2019 14:17
Is there any info I can post to help?

Unknown 12.07.2019 14:18


Bilbo Beutlin (BBeutlin) 12.07.2019 14:43
In general you only need to create a node (transform) eg. "exhaustEffect" in your i3d where the particles should appear. Pay attention to right orientation, see a default for reference.

This node you assign in xml <i3dMappings>.
Then you add in xml under <motorized> .. <exhaustEffects> ..
<exhaustEffect node="exhaustEffect" filename="$data/particleSystems/shared/exhaust.i3d" ...
With the attributes you can set colors, directions, etc.

The effects in $data/particleSystems/shared/ should give you enough templates.
Of course you may add also a custom one within your mod.

If something doesn't work as expected, at the very first look into logfile for errors.

Unknown 12.07.2019 15:13
Ive done all that and it still shows in the editor but not in game :(


<i3dMapping id="exhaustParticles1" node="0>0|8|0" />



<exhaustEffects>
<exhaustEffect node="exhaustParticles1" filename="particleSystems/shared/exhaust.i3d" minRpmColor="0.9 0.9 0.9 0.1" maxRpmColor="0 0 0 6" minRpmScale="0.08" maxRpmScale="0.8"/>
</exhaustEffects>



<TransformGroup name="exhaustParticles" nodeId="444">
<TransformGroup name="exhaustParticles1" translation="-0.857251 2.97262 0.242068" rotation="65.5174 -30.1474 2.58479" nodeId="445">
<Dynamic dynamicId="43" emitterShapeNodeId="448" name="smoke" clipDistance="200" nodeId="447" materialIds="59" distanceBlending="false">
<Shape shapeId="44" name="emitShape" translation="0.00845847 -0.00420686 -0.0055311" scale="0.1 1 0.1" clipDistance="200" nodeId="448" materialIds="57" nonRenderable="true"/>
</Dynamic>
</TransformGroup>
<TransformGroup name="exhaustParticles" translation="-0.857251 2.97262 0.242068" rotation="65.5174 -30.1474 2.58479" nodeId="449"/>
</TransformGroup>


<Dynamics>
<ParticleSystem name="smokeEmitter" dynamicId="43" type="sprite" rate="0.05" lifespan="5000" maxCount="800" speed="0.005" speedRandom="0" tangentSpeed="0.15" normalSpeed="1" spriteScaleX="1" spriteScaleY="1" spriteScaleXGain="0.0006" spriteScaleYGain="0.0006" blendFactor="0.75" blendInFactor="0.1" blendOutFactor="0.5" randomInitRotation="true" deltaRotateMax="0.000349066" textureAtlasSizeX="6" textureAtlasSizeY="6">
<Gravity force="0 0 0"/>
</ParticleSystem>
</Dynamics>


Exhaust I3d XML:

<?xml version="1.0" encoding="iso-8859-1"?>

<i3D name="threshingChopperParticleSystem" version="1.6" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://i3d.giants.ch/schema/i3d-1.6.xsd">
<Asset>
<Export program="GIANTS Editor 64bit" version="8.1.0"/>
</Asset>

<Files>
<File fileId="1" filename="fx_smoke6x6_01_diffuse.png"/>
<File fileId="2" filename="fx_smoke6x6_01_normal.png"/>
<File fileId="3" filename="shaders/psSubUVShader.xml"/>
</Files>


<Materials>
<Material name="fx_smoke01_mat" materialId="4" alphaBlending="true" customShaderId="3" customShaderVariation="SUBUV_MOVIE">
<Texture fileId="1"/>
<Normalmap fileId="2"/>
<CustomParameter name="psPlayScale" value="1 1 1 1"/>
<CustomParameter name="psColor" value="0 0.1 0.1 1"/>
</Material>
<Material name="lambert1" materialId="5" diffuseColor="0.458824 0.458824 0.458824 1">
</Material>
</Materials>


<Shapes externalShapesFile="exhaust.i3d.shapes">
</Shapes>


<Dynamics>
<ParticleSystem name="smokeEmitter" dynamicId="1" type="sprite" rate="0.05" lifespan="5000" maxCount="800" speed="0.005" speedRandom="0" tangentSpeed="0.15" normalSpeed="1" spriteScaleX="1" spriteScaleY="1" spriteScaleXGain="0.0006" spriteScaleYGain="0.0006" blendFactor="0.75" blendInFactor="0.1" blendOutFactor="0.5" randomInitRotation="true" deltaRotateMax="0.000349066" textureAtlasSizeX="6" textureAtlasSizeY="6">
<Gravity force="0 0 0"/>
</ParticleSystem>
</Dynamics>

<Scene>
<Dynamic dynamicId="1" emitterShapeNodeId="12" name="smoke" clipDistance="200" nodeId="11" materialIds="4" distanceBlending="false">
<Shape shapeId="2" name="emitShape" scale="0.1 1 0.1" nodeId="12" materialIds="5" nonRenderable="true"/>
</Dynamic>
</Scene>

</i3D>


Unknown 12.07.2019 15:17
When i run the play button in the editor and the mod starts falling down it says this:

Error: No depth map available, but shape 'smoke' (smokeEmitter) with material 'fx_smoke01_mat' uses a custom shader which requires reading depth data.

Is this something or not?

Bilbo Beutlin (BBeutlin) 12.07.2019 18:38
You are still trying to get this crappy FS17 thing to run?
For porting the old FS17 particle system to FS19 you have to change textures, materials, shaders. Similar to create from scratch.

I've told you to use the actual FS19 particle effects. At least for first setup try with a default one.
If you don't like the defaults, take a similar, suitable one and modify it to your needs.

And case you didn't get it: the node/transform has to be inserted into your VEHICLE.i3d and the <exhaustEffect..> in the VEHICLE.xml.

Unknown 13.07.2019 02:24
Im not using the "crappy" FS17 one, I told you that. I modified the FS19 particle system but like ive said 4 times it shows up in the editor but not in the game.

WHY DOES IT SHOW UP IN THE EDITOR BUT NOT IN THE GAME??????

If i was using FS17 stuff wouldnt there be errors in editor? The dynamic particle system works fine but the link between editor and game is not there and im not sure how to link it all.

Unknown 13.07.2019 02:26
Is there someone i can contact to discuss making this work and maybe get some guidance?

IMO the exhaust "haze" that comes out of the vehicles is not very realistic and needs to be more dynamic.

Bilbo Beutlin (BBeutlin) 13.07.2019 11:14
You're still using some FS17 stuff because you get the error "No depth map available ..".

It works in editor if you load the effect.i3d alone.
And it will work in game if you have the effect.i3d linked properly in your vehicle.xml - this is why I told you to examine the default vehicles and implement it in the same way.
If you got it to work you can play around by changing xml attributes, adding more effects, creating custom effects.

Unknown 13.07.2019 15:00
I have an FS19 tractor mod. It is the John Deere 7010.
I have taken the particle stuff from the FS19 particle systems folder.
I have done everything you said to do and it works to a point.
I am not just loading the effect i3d alone, I am loading the mod tractor in the editor and the particle system works like ive told you.
Stop saying im using FS17 stuff dude because im not.

If you dont know what your doing or are unable to help then please refer me to someone who can.

Bilbo Beutlin (BBeutlin) 13.07.2019 15:19
These things work accurately with the default vehicles and default effects.
And obviously you did NOT use the standard method, if you have a custom i3d like in your post above.

Nevertheless - my support ends here.

Unknown 13.07.2019 16:04
Hopeless, cheers for nothing.

Bilbo Beutlin (BBeutlin) 13.07.2019 17:01
LOL - Hopeless is only your method. You should begin step-for-step, at first using the standard methods like in Giants' vehicles. If that works, begin modifying slightly.
Importing the effect into vehicle.i3d is nonsense. Instead link it within the vehicle.xml for compatibility.
And if you ever use default files as template for mods, use default pathes:
<Files>
<File fileId="1" filename="$data/particleSystems/fx_smoke6x6_01_diffuse.png"/>
<File fileId="2" filename="$data/particleSystems/fx_smoke6x6_01_normal.png"/>
<File fileId="3" filename="$data/shaders/psSubUVShader.xml"/>
</Files>
Not only that it saves resources. System files might change by updates. Some shaders are reliant on a certain location.
Anyway be sure, you have the latest FS update installed.


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