• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

MSFS20 Convert from FSX/P3D VFX (*.fx) files to MSFS2020

Messages
935
Country
ca-ontario
As the title says - is there such a MSFS SDK option/utility? Does MCX do that? I do remember somewhere seeing "import legacy fx" option and thinking "aha, this will come handy" but now, it escapes me, I can't find anything that would let me import legacy FX.
 
I'm pretty sure there is not. You got my attention so I went and checked how MSFS2020 constructs effects files vs P3D. There is absolutely no correlation between them and the probable killer would be the requirement for multiple GUIDs. Just my two pennies worth.
 
Right, well I have not seen one legacy effect, an .fx file actually applied in MSFS. I see them called here and there in code, but I don't ever see it render. How does the expression go? "Every node has a GUID, we just rarely see it, but that's never an excuse for a node to act like a GUID." So what you see inside that PackageSources effect.xml, is the long stack of effect attributes each getting assigned its own individual GUID. The only one we call is the library GUID at the top of the page, which anyone could call if they just had that hash. What they've done by passing the effect through an .SPB file is to effectively lock it, now it's not enough to simply know the contents of an .fx file. Microsoft controls access to the SPB and through Marketplace, they block access to the aircraft.xml so we can't lift the numbers there.

One door closes, another opens. Did you need an MSFS VFX artist?
 
Thanks guys, for chiming in! Ok, so I wasn't seeing things!!
One door closes, another opens. Did you need an MSFS VFX artist?

Thanks, so far, I think I can handle it, as it now seems I need to re-create my old P3D .fx files (I was hoping to just import it). The structure/parameters seem to be similar (Emitter/Particle).

A few things that I was looking for, which seem to be gone in MSFS202x are:
  • Attaching sound to fx. Seems there is no way to do that any longer
  • Annoying sorting problem: There is a sorting bug that manifests itself when you emit sprites, and look at them upwards, from below. Seems that from that angle, farthest sprites are rendered last. This is the case only for the MASK type, as BLEND type seems to allow sprites to be transparent, and the wrong sorting is somewhat diminished. I was wondering if that was fixed.
And, the main one:
  • FSX/P3D had a "emitter spawning another emitter" feature, called "Controller". That was how they made the fireworks in FSX/P3D, but that seems to be gone now. Although, I saw "fireworks anywhere" add-on somewhere that seems to do just that. I need that to spawn my rocket launch effect - a billowing cloud that keeps generating "child" clouds from within itself, which in turn create more "offspring" clouds. :)
 
Last edited:
Indeed; I also want my FS2Kx "Fireworks" Fx converted, complete with the sound 'effects'.

And I want the Tabular parametric editor GUI converted too.

I gotta' have it all, please.

Yeah, I know MSFS is a different sim; but why should I end up with 'less', if so much of FSX is already included in the new sim ?

GaryGB
 
Last edited:
Attaching sound to fx. Seems there is no way to do that any longer
It's not necessary because the aircraft.xml controls everything and whatever component you are using to call your effect, can also drive the sound file.
FSX/P3D had a "emitter spawning another emitter" feature, called "Controller". That was how they made the fireworks in FSX/P3D, but that seems to be gone now. Although, I saw "fireworks anywhere" add-on somewhere that seems to do just that. I need that to spawn my rocket launch effect - a billowing cloud that keeps generating "child" clouds from within itself, which in turn create more "offspring" clouds.
Something like this? I really think it's just a matter of stacking emitter blocks into effects and don't be afraid to fire off three or four to achieve the desired fx. As to rockets, use one, make a little mesh node, attach your effect and send it soaring.



Yeah, I know MSFS is a different sim; but why should I end up with 'less', if so mush of FSX is already included in the new sim ?
Graphics is why. Everything that was broken or patched was sacrificed to obtain the current visual quality.


They do work Rick. PILOT'S used nine legacy .fx files for the MSFS2020 version of the Boeing B-314.
You don't have an example of XML by chance, do you? B-314 is native and not a port over?
 
Something like this? I really think it's just a matter of stacking emitter blocks into effects and don't be afraid to fire off three or four to achieve the desired fx. As to rockets, use one, make a little mesh node, attach your effect and send it soaring.
Yeah, kid of, but more of a "bubbly" slowly moving and expanding launch cloud, which randomly produces "offsprings" that have the same behavior. I'll try to schematically illustrate what I mean.

From P3D SDK, VFX controller section:

The Controller File Format​

The Controller is a powerful feature that lets you create sequences of various effects that can be triggered from one place. Essentially, a controller sets up a series of effects (or other controllers), and then it either repeatedly cycles through the effects or randomly selects and triggers some of them. Because controllers are effects themselves, you can spawn controllers from within controllers (just like any other effect). You can use this feature to create a great randomization effect or huge sequences of events that last over long time periods. The only limitation is how many particles you can render onscreen before affecting the frame rate.

There is no tool to create controllers, you will have to create them in a text editing tool, such as Notepad or Visual Studio.

Controller File Format​

The format of a controller file is:

[Library Effect][Properties][Controller.0]...[Controller.n]

I wonder if MSFS2020 would still process the "controller" feature, if I used legacy fx. Is there ANYTHING in the SDK on usage of legacy fx? Any guidelines?
 
MSFS2020 would still process the "controller" feature, if I used legacy fx. Is there ANYTHING in the SDK on usage of legacy fx? Any guidelines?
I think you are missing the fact that all the control of the controller has been passed to the model XML. You had multiple effect files the controller called and may I remind, with terse, machine code type language. We could control parameters like duration, rate, temperature, remember that one? The particle rises for a certain time, then it falls after it cools, because we could only ever possibly want to simulate chimney smoke effects.
By using the aircraft.xml you can have a specific effect fire when your O2 release pressure valve opens, try getting an .fx controller to do that.

No. The files used by the MSFS2020 version were in FSX format.
Yes that would be cool if it were still supported in 2024, I'd build myself up a fake port over to be my .fx carrier. That way it doesn't mess with my modern meshes and I just place the effect carrier inside my main models, for effect, but beyond that, I'm not going to prevent my models accessing all the MSFS aircraft .cfg files, PBR, etc just so I don't have to use the VFX editor.
 
I think you are missing the fact that all the control of the controller has been passed to the model XML. You had multiple effect files the controller called and may I remind, with terse, machine code type language. We could control parameters like duration, rate, temperature, remember that one? The particle rises for a certain time, then it falls after it cools, because we could only ever possibly want to simulate chimney smoke effects.
By using the aircraft.xml you can have a specific effect fire when your O2 release pressure valve opens, try getting an .fx controller to do that.


Yes that would be cool if it were still supported in 2024, I'd build myself up a fake port over to be my .fx carrier. That way it doesn't mess with my modern meshes and I just place the effect carrier inside my main models, for effect, but beyond that, I'm not going to prevent my models accessing all the MSFS aircraft .cfg files, PBR, etc just so I don't have to use the VFX editor.

Reportedly FS2Kx Fx files were actually a type of FS SDK 'XML' code, and Controllers could only be launched by the VisualFxTool.DLL file, or from a BGL.

Rhumbaflappy proved years ago that Fx files could contain both the Controller and Basic Fx code inside the same Fx code file.

Fx code can be attached to MDLs (and presumably glTFs) with AttachPoints, and be launched by controller code even as non-SimObjects.

ISTR Fx can also be attached via ModelParts.

IIRC, Fx control Parameters could be included directly within the context of the attached Fx as well as in 3D model AttachPoint code.

I do not recall whether one could use external Fx control parameters with Fx attached via Aircraft.Cfg files, however.


Now that you asserted "all the control of the controller has been passed to the model XML", and DragonflightDesign asserted "PILOT'S used nine legacy .fx files for the MSFS2020 version of the Boeing B-314", IMHO, it merits testing whether some- or all- FS2Kx legacy SDK Fx attachment control methods might still be used in MSFS 2020. :scratchch

Hmmm... the prospect of being able to still use FS2Kx Fx in MSFS raises some interesting possibilities: :stirthepo

https://www.google.com/search?q=sit...QXfJG_iwwVhF5IHBDIuMjWgB8-aAQ&sclient=gws-wiz

GaryGB
 
it merits testing whether some- or all- FS2Kx legacy SDK Fx attachment control methods might still be used in MSFS 2020.
That you presume this has not occurred, despite the above. Don't just paste up a google search result, prove me wrong. MSFS gltf with .fx effects, we're waiting patiently. I'll turn this smile face into an eating crow face and give you either the professor or the wizard face, your choice. :)
 
Hi Rick:

Please be assured I do not arbitrarily disbelieve your assertion above, so there is no need to infer anything personal here. :)

I consider it prudent to always 'test' as much as possible, regardless of what one reads in FS forums (and/or any other places). :pushpin:


As planned, I have 'tested' the possibility that DragonflightDesign had a valid basis for having asserted "PILOT'S used nine legacy .fx files for the MSFS2020 version of the Boeing B-314".

Indeed, I can now confirm that at least (3) methods of Fx display were used with PILOTS B-314, (2) of which involve FS2Kx Fx.

* Aircraft.Cfg [EFFECTS] section

* FS2Kx Fx (stand-alone- not in a *.vfxlib file-) ...found in:

[MSFS-2020_Packages_path]\Community\pilots-aircraft-b314clipper\Effects


PILOTS B-314 also uses the intended (preferred ?) MSFS SDK process for (1) method of Fx display via Component Templates:

https://docs.flightsimulator.com/html/Content_Configuration/VisualEffects/Visual_Effects.htm

"All visual effects are packaged as part of a VisualEffectsLib, which will contain one *.vfxlib file and then one or more *.xml files. The *.vfxlib file is what tells the simulation what effects are contained in the package and is itself basically a form of XML file "


Perhaps the latter statement by Asobo regarding XML 'control' in MSFS SDK Docs may be what you referred to above ? :scratchch


Please note that there is no "Aircraft.xml" to be found anywhere in the (non-native) Boeing B-314 - The Clipper MSFS/MSFS2024:

https://www.pilots.shop/Cms/Ui/Page...6&pageid=34433060-dc54-4027-8fdb-74aa0b0f6499


The prospect of using a MSFS *.vfxlib file raises some interesting possibilities too, for folks like MIsho, who may use RPN code:

https://docs.flightsimulator.com/html/Content_Configuration/VisualEffects/Visual_Effects.htm

"The available default parameter elements are :
...

<FX_CODE>: RPN code expression evaluated by the simulator. When it becomes true the Visual Effect is spawned. When it becomes false the Visual Effect is stopped.

<FX_GRAPH_PARAM_N>: This element is used to define a custom parameter and some accompanying RPN code that can then be used in the GraphParameter VFX node. For full details of how this element can be used please see here: Example Using Graph Parameters"


I hope Asobo retains the option for use of FS2Kx legacy Fx in the future; now I have to see if this is the case with MSFS24. :coffee:

[EDITED]

This is encouraging... I see the legacy Fx are still in the MSFS 2024 folder chain:

Microsoft Flight Simulator 2024\Content\Packages\fs-base-effects-legacy\effects

Now to see what the MSFS 2024 SDK Docs have to say.... ;)

[EDITED]

GaryGB
 
Last edited:
You appear to be either completely missing or intentionally overlooking the essential gltf/fx pairing, while referring to a fsx port over but simultaneously providing examples of MSFS style VFX XML documents. 🤪
 
Indeed, both the OP and me expressed an interest in the topic of using FS2Kx methods (if possible) within MSFS development.

And the primary purpose for my initial posting above was to assert my preference for use of FS2Kx Fx methods in MSFS:

"Now that you asserted "all the control of the controller has been passed to the model XML", and DragonflightDesign asserted "PILOT'S used nine legacy .fx files for the MSFS2020 version of the Boeing B-314", IMHO, it merits testing whether some- or all- FS2Kx legacy SDK Fx attachment control methods might still be used in MSFS 2020. :scratchch

Hmmm... the prospect of being able to still use FS2Kx Fx in MSFS raises some interesting possibilities".


It is likely I may eventually (grudgingly ?) study MSFS' new method of Fx display via Component Templates and a *.vfxlib file.


But, I have purposely not used direct 3D model attachment of Fx; I prefer my Fx code to be kept external to a 3D model or BGL.

So, we'll see if glTF and XML Fx implementation in MSFS proves to be required- or an option- in my own development work.

GaryGB
 
Last edited:
Back
Top