• 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.

FS2004 making smoke

Messages
2,388
Country
us-washington
In FSDS3.5 I make a small object, place ... say a small triangle on top or close to the top of the object, say a cylinder. Attach point choose a smoke line from partsnames defined by partsdatadef and I have some smoke after I export .x etc.

I how can I do this in FS9? I would like to make the kind of smoke that rises from a chimney. A friend of mine would like somthing like this so he can place smoke where he wishes. Bob
 
Since you're using the attachpoint method for FS-X, copy the attachpoint blurb from the x file (as compiled for FS-X) and paste it into the appropriate location in the x file (as compiled for FS9)

I think.
 
Felix- Thanx- I'll give it a try. I assume I follow the same procedure. I notice that in FS9 there is an effect called chimney smoke. Is there a way to know wht smoke blurb would refer to that effect?

Partnames.txt (Ithink) and partsdatadef both in FSX. partnames only (Ithink) in FS9.

If there is an easier way, let me know. If the only other way is wht I've read in the effects thread.... I'm snowed! :) Bob
 
the partnames file works in both FSX and FS9. BUt that's just a convenience.

The "FS-X keyframes animation" section of the partnames in the parts dialog basically picks up the tags from the animation group section of the modeldef.xml file, all others from the partnames.txt
 
So to make smooke like for a chimney I wouldn't use key fram animation or any type of animation would I?

I can do this in FSX but not in FS9. So how is this done? Also, do I export as .x or regular compile? Perhaps it is a lengthy process in FS9? Bob
 
Just add it as an effect to your scenery, not to the model itself. To my knowledge, using FSDS 3.5.1 for FS9, you cannot add effects to the models like you can using Gmax.

You can do it using a straight XML code and running that through BGLcomp to create a scenery file for FS9.

If you need an example of how to do this, just ask.
 
Yep- I'm asking. :)

Here's what I'm trying to do and learn: Just a nice chimney smoke that I can add to whatever cabn or house I wish.... in FS9.

In FSX I can use attachpoint, using partnames which is associated to partdatadef. I'm still just experimenting here and there with this, so sometimes it turns out good, sometimes not so hot. Metaphorically I'm not walking, barely learning how to crawl. :)

I tried to export a fairly decent smoke in FSDS 3.5.1 as .x but compiled with FS9's makemdl with no results or mixed results, depending on what I used. So that's out.

I tried copying partnames and partdatadef to Fs9 and attaching an effect to a poly as I did in FSDS 3.5.1 for FSX, but using FSDS 3 for FS9, making sure the part name I'm using is tied to the effect which resides in effects folder- such as (I may be naming it wrong here but ) fx_chimneysomke-fx. Error messages from makemdl (fs9) or no error mesage, but no result. Instant Scenery just shows my placement X with no action for hdg or EL etc. Therefore that's out too.

The only experience I have with xml is with David (Opa) Marshall's beacon tutorial where I get the exact lat and long- typing those in the apporpriate places, saving and compiling- for FS9. Maybe increasing the scale if I want. But that's it so far. BTW- David calls me Grasshopper. John B. Loney hasn't figured out a name for me yet... probably has some goods ones ready.

Anyway, any help or lessons you can give would be most apreciated.

Seymour Johnson? Wow! I taught for 5 years at a middle school just a few blocks from there. Some would complain about the noise. I would respond... Well, that's just the sound of freedom! Taught 6th grade for 5 years at Dillard. I understand it is now a full 8 grades? When first built years ago it was a high school I think. Bob (Robert Lacy)
 
First things first, you need said chimney smoke effect. As long as you already have that, the rest is easy.

There are a couple of ways to come by an XML file that you then convert to the fs9 scenery .bgl format.

Here's what I recommend since you indicated that you have Instant Scenery:

1) Using FSDS make just a basic small cube model and compile it so that you can use it with Instant Scenery. Don't even bother coloring it because it's only going to be used to store the location data of where you want to place the smoke.

2) Once you've got your little "placement model" made and available as an object with Instant Scenery, run FS9, go to your scenery where you want the smoke effect to appear and using Instant Scenery, place your little cube model exactly where you want the start of the smoke effect to be. For something like a chimney, I'd get it as close to the top of the chimney as possible.

3) Once you have your cube model exactly where you want the smoke effect to appear, save that object as a stand alone scenery file using Instant Scenery. Name it something and save it to a location where you can easily get to and remember where it's at and what you named it.

You have now saved the exact coordinates and elevation that you will need for your XML file as a scenery file. So now you need to extract those numbers and instead of having your little cube object show up there, the smoke effect you want shows up there.

So at this point you should be left with a small BGL file. You need to convert that BGL file to an XML text file using a program called BGLAnalyze9.exe. This handy little program will convert scenery BGL files into text based XML files that you can then tweak on. If you don't already have it, it's available at AVSIM for sure. It's very simple to use. Normally it has its own folder inside of which are three small files. When you have it loaded successfully all you need to do is move your little scenery file you created using your placement cube into the BGLAnalyze folder. Once in there, just simply drag your BGL file over top of the BGLAnalyze9.exe file and release the file. BGLAnalyze will then spit out a text based XML file and a generic .mdl file.

You can disregard the .mdl file as it's the XML file we're after. If you've done it correctly up to this point, you should be able to open the XML file with Notepad and it should look something like this:

<?xml version="1.0"?>

<!-- C:\Program Files\Microsoft Games\Flight Simulator 9\FS9 Utilities\Scenery Design\BGLAnalyzer\MAIW_HMS_Ark Royal.BGL disassembled by BglAnalyze9 Tue Jan 13 22:12:46 2009 -->

<FSData version="9.0"
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:noNamespaceSchemaLocation="bglcomp.xsd">

<SceneryObject
lat="N50 14.21298"
lon="W000 52.26354"
alt="3.7569M"
altitudeIsAgl="TRUE"
pitch="0.00"
bank="0.00"
heading="240.00"
imageComplexity="NORMAL">
<LibraryObject
name="1d8c8f4f606b49b7a55980be8212cbfd"
scale="1.00"/>
</SceneryObject>

</FSData>


This is what a scenery file looks like as an XML file. Note the lat and lon coordinates, the altitude, pitch, bank, heading, etc. Any entry inside of the parenthesis can be changed to something else. In this case notice how it says

<LibraryObject
name="1d8c8f4f606b49b7a55980be8212cbfd"
scale="1.00"/>

This is the part of the file that directs which scenery model is to be used and what its scale is to be.


All you have to do at this point is to substitute an effect file you want to use in place of the scenery object by changing the above entry line to something like this:

<Effect
effectName="fx_smoke.fx"
/>

Which when you plugged it into the XML file would look like this:

<SceneryObject
lat="N50 14.21298"
lon="W000 52.26354"
alt="3.7569M"
altitudeIsAgl="TRUE"
pitch="0.00"
bank="0.00"
heading="240.00"
imageComplexity="NORMAL">
<Effect
effectName="fx_smoke.fx"
/>

</SceneryObject>


I've highlighted the part in red that changed.

Since you are placing a simple smoke effect file, the pitch, bank and heading can remain whatever they were set to. The altitude should be exactly what you set your little cube model to using Instant Scenery. You can change the image complexity if you wish as well.

So all we've really done here is to convert the scenery file to an XML file and then swap out the scenery model with an effect file instead. Now we just need to covert the XML file back to a scenery BGL file to be able to see our new smoke effect exactly where we placed it using our little cube and Instant Scenery. So if you are lucky, you will also have the BGLComp.exe file inside that same BGLAnalyze folder. Just drag your XML file and drop it onto the BGLComp.exe program and it will spit out a new scenery BGL file with the exact same name as your XML file. Place this new scenery file back into your scenery and you should now have smoke showing up exactly where you want it.
 
That may seem like a lot of work but once you know how to do it and once you've done it a couple of times, it goes very quickly. The beauty of using a placement model like a little cube is that you get the elevation setting correct on the first try.

There are other programs out there that do the same thing that I just explained automatically but none that I know of that let you set the elevation perfectly while you are writing the XML file. Arno's program, ObPlacerXML allows you to place effects along with regular objects and is good to use when the effects are based on the ground at 0 elevation.

So you can do it manually or with the aid of a program. But either way, you are doing the same thing.

Like a lot of things with FSDS scenery design, you have to find "workarounds" to compensate for the things Abacus didn't include in the functionality of FSDS 3 and above. Adding effects to scenery models is one of those things that you have to find a workaround for and this is just one easy way that I know of to do that.
 
Once you have one basic XML file to use as a guide, you can then expand upon it and create all kinds of effects for your scenery quickly and easily.

This is an example of night lighting effects as an XML file before it was compiled to a scenery BGL file. If you want an effect to only show during certain times of the day, you have to write that into the XML file as follows:

<!--Object 1-->
<SceneryObject lat="32.6598998504882" lon="-114.585293713873"
alt="30M"
pitch="0.0"
bank="0.0"
heading="134.677662178874"
altitudeIsAgl="TRUE"
imageComplexity="NORMAL">
<Effect effectName="fx_obslight2.fx" effectParams="DAY=0;NIGHT=1"/>
</SceneryObject>

<!--Object 2-->
<SceneryObject lat="32.6598998504882" lon="-114.585293713873"
alt="30M"
pitch="0.0"
bank="0.0"
heading="134.677662178874"
altitudeIsAgl="TRUE"
imageComplexity="NORMAL">
<Effect effectName="fx_obslight2.fx" effectParams="DAWN=1;DUSK=1"/>
</SceneryObject>

Notice I have two identical entries for the same light effect file. The only difference is the effectParams= entry. Note that in the top entry the effect parameters are set to DAY=0;NIGHT=1 and in the bottom entry, they are set to DAWN=1;DUSK=1.

The number zero is used to disable the effect while the number one is used to activate the effect. So in this case since this is a light effect that I only want to see during Dawn, Dusk and at Night, it is set to the number 1 during those parameters and set to 0 during the day.

If I go into FS9 this effect will only show during non "DAY" hours like a light would normally do. So for a light effect you essentially have to have two effect entries for each single light effect you want to only show up in non daylight hours. A bit of extra work but you simply use copy/paste quite a bit and just change the parameters.

Using these XML techniques, you can place any FS9 effect in any location you want.

I like using this method because I can have a completely separate scenery file just for my effects. That allows me to quickly remove them if I need to without having to mess with the actual FSDS model.
 
Last edited:
Hi Mike, well Bob hasn't replied as I write, but I personally want to thank you for a really brilliant explanation with examples. I shall copy the page and save it somewhere because it is just what I want.

John aka warmingham
 
You're certainly welcome. Once you've made the first one, you can use it as sort of your "master" file as an example for any other projects you need to add effects to.
 
Mike, as a point of interest, can you include conditions such as day/dusk/night with library objects using xml, as you did above. If so what other conditions would be possible? I was thinking of lights etc and would the format be the same?
Sorry if this not about smoke but I didn't want to start another thread.
Hope you're taking this all in Bob?
 
Mike- Thanks so much. This is akin to Opa's beacon tutorial. This will work great! Hey John- How's your project doing?

I was hoping to also learn to make a smoke effect for a library like Ron's EZ-effect library which would work in FS9. I'm doing this as I think I mentioned... for Lewisaire.... an easy smoke to install.

But this will do just fine. Again, thank you for your time. John- Pssst I think his wife will want me to do the windows in the house now! hahaha.

Mike- John is an exceptional user of FSDS and designing objects and airports, and an exceptional person as well.

Bob
 
Good to hear, that's one thing I really enjoy about this hobby is that generally, the people that you meet, even if it's only via an internet connection, are great people with lots of talents and creativity.

Plus everyone seems to have their little corner of the hobby that they like to specialize in. Sure makes for some interesting projects and releases.
 
John on the parameters front, I honestly don't know. You'll have to give it a shot and let us know. I would bet however that those parms are only applicable to effects but I could be wrong. The MS SDKs are quite full of knowledge when it comes to using XML code. You might check through the scenery designer SDK if you have a spare moment.
 
I'm using newbglanalyse alt has a number with an M after it. I thought this was meters but I guess not. It refers to DWORD. Maybe I should get #9 instead of this one I've had for some time.

My smoke appeared but way up in the air. hahaha. come to think of it I think the alt might have been recorded correctly as was the lat and long. will get back to ya. Bob
 
Mike- Such was the case. This time I kept my paws off the alt number and just entered the effects I wanted. Viola! nice smoke where I wanted it. Again Thanx so very much.

Someday I might learn to make a nice smoke in my own library to place where I want, but that might take some number crunching :)

Again- thanx. Bob
 
Hi Bob, thanks for the write-up. The project has taken a back seat for now but I hope to re-start it one day!
Mike, what he means is that in my FS9 Addon Scenery/Scenery Folder there are nearly 1000 mdl files of the objects I have created, buildings(mostly airport buildings), vehicles, lights, 3D people, flat people etc. Lots with animations. Airports number about 50+ with mostly my own scenery objects of course. I create my own Flight Plans in MS Excel. In addition to FSDS I also use FSSC in FS9 for things like tree-lines, walls, roads.
I am busy at the moment converting FS9 objects to FSX which is a big job! I am actually concentrating on FSX for now but this thread took my attention because Bob was involved.
I like dabbling in odd things like this chimney smoke. I write my own xml for things like exclusions, fuel triggers and windsocks (Copy and paste most of the time).
However I don't seem to be having any success with these FS9 effects xml/bgl - they just do not appear! Any helpful hints either of you?
 
It's exasperating! Bother!
I can make the chimney smoke in FSX without any problem and change the format with the FXTool if I wish.
I can also make it in FS9 using an api and FSSC.
It's like going backwards (although it is so easy using FSSC)!
Will someone please help?
 
Back
Top