• 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 I created my first model in Blender...

In my model, I have approx. 6 materials I use throughout the objects. In the image data block, there are numbers like, 40 and 23, which if I understand correctly is how many faces that material has been applied to? I am given the option of combining that number down to a much smaller number like 2, and then a new material is created with a numeric suffix like .002. What is happening here and where is that material stored? When I want to continue using that same material for new objects, do I create another instance of that material, or continue to use say, recycled material.002?
Also, I am not clear on combining all the texture materials for an object onto 1 sheet. I don't quite understand the shader editor yet, but my asset is for MSFS and from what I read, leave the shader editor alone and use the msfs parameters only. Can someone help me with this confusion?
PS. I'm really enjoying this!
 

Attachments

  • Screenshot (411).png
    Screenshot (411).png
    1.7 MB · Views: 241
  • Screenshot (412).png
    Screenshot (412).png
    1.4 MB · Views: 246
Hi,

If I am not mistaken, we have already discussed but on SOH...
To answer your questions, it would be better to put screenshots of your objects as they appear in your program. If I make no mistake, you are talking about Blender and several instances of your textures?
 
Hi Didier, thanks for offering me tips and advice, sometimes I may need it. Yes, I was talking about several instances of my textures, but I have that figured out now. I will include screen shots next time, thank you.

Question though, the environmental exclusion feature in the msfs params which prevents rain and snowing inside the building. I'm going to animate my hangar doors. The instruction says to build a mesh around your building, but it exports as an object with no material and I want it to be invisible. Can you advise how to do that correctly?
 
Last edited:
Hello,
Well, here’s what I noticed.
By duplicating objects that are already textured: Cube - Material1; one creates a second object but the initial texture is not preserved: it is duplicated like this Cube.001 - Material1.001

1720690283532.png

If we want the second object to have the same texture as the first, we must go through the "Material properties" and change Material1.001 by Material1

1720690401132.png

In addition I go through the "Outliner" and select "Orphean Data" and I delete the orphaned elements to leave nothing useless in the Blender file.
In your case Material1.001 will be deleted from the Blender file.

1720690615979.png

By practicing this, I keep my file as clean as possible with only the materials used.
For MSFS, when you make an export, at least one object does have a Material (MSFS material) assigned.

To answer to the second question, you want to create a "Environment Occluder".
First you create a Mesh - Cube what include you hangar, then you create an other material, select it as MSFS material ant to finish browse to select MSFS Material Params and chosse MSFS Environment Occluder.
After that, in Blender your cube becomes transparent and when you export "objects + environment occluder" to MSFS, the "environment occluder" will be display as invisible.
The properties of this material is to prevent rain and snowing to enter in it.

1720691105868.png


I hope that these few explanations should allow you to better understand the creation of objects for MSFS and the use of the various materials that the SDK offers. A good way is to read, reread ... the SDK.
Of course, it is not perfect, it lacks many explanations but it is the only thing we have to create for MSFS
 
Question, I've exported my model as a test with all selected, but my animated doors did not export. Am I to join all objects, the exterior building and components including animated doors, the interior building and components, as one model? Collapse everything?
Doug
 
Doug, can you share a blender file on this post, in order to investigate ?
Without more informations it's difficult to answer.
 
Thanks for having a look, I like to know how I'm doing so far. Any suggestions are welcomed. I'm trying to learn the xml customizing to show the hangar_door animation. Found a great thread here with a wealth of info to digest.
Edit* - I realize I can probably join the windows, concrete steps, and doors to the main hangar as they don't have any conditions. The folding door animation in the sim is still unclear at the moment.
 

Attachments

Hello,

I noticed that there is no texture and no information about the plugin used or the version of Blender,
A) I tried Blender 2.83 with the Vitus plugin: it loads and I managed to compile but by passing the result under MCX we see instead of the doors a "wall" that occupies the entire side of the Hangar. No texture of type MSFS appears under blender so I think this is not the right version

B) I loaded your file in Blender 3.3.18 with the last plugin 3.3.6 (signed Julien Duroure, etc.), it seems better because the materials are of the MSFS type.
As there are animations with constrainst I verify the option Apply modifiers (it was checked).
The compilation in a Hangar subfoder goes well and we can view the hangar in Blender but without any moving door.
Pressing the Animation cursor does not change the hangar view => doors are not exported or they are not displayed ?

In this case, I take the objects one by one and I check that it happens correctly by complexifying the scene.
First I have rename the collection : BCATP_Hangar without any information about LOD
In the tab Settings of the plugin, in the field Name: I copy exactly this name BCATP_Hangar
In the outliner i checked only BCATP_Hangar / Main Hangar / Large Hangar Doors & concrete floor

1721577931509.png

I select only theses two objects and try to compile ...

1721578051379.png

You have elements from the inside that appear: did I select what I wanted, I don’t know but in any case, this export shows that the animated doors work well at least in MCX but ...
- the decomposition of the model seems to me very or even too complex, I would group the elements together
- exports should be resumed by adding elements as and when needed to find the one that hides the doors.

After that, it will only remain to write the XML code to manage the animations ;-) (some posts in this forum will give the solution)

PS:
- For the two elements Environment_Occ and Box Collision, they can be entered into a sub-collection of the Hangar
- Attention some parts are too close to each other (inside and roof) and the render flick when exporting everything, it should be checked that these elements are a little more spaced (0.5 < X < 1cm)
 
Thank you for your observations. I am using version 3.3.12 and version 1.3.2 of the exporter. The textures were not included as the zipped folder exceeded the limit as an attachment. Regarding the animated doors, if I understand correctly, I put them in a collection with the interior, truss supports, and floor and the animation works properly in MCX? I will next reduce the complexity ( complexifying) by joining elements of the exterior Main_Hangar under a collection, and Interior elements with animation under a separate collection. I will also adjust the spacing of the the roof ( int/ext) to avoid flickering. Thank you very much Didier! It's nice to see I'm off to a good start. Thanks to you and the other talented artists that frequent here, I'm learning a lot. Enjoy your day!
Doug
 
Hello Didier, I joined objects, made a few corrections and the animated doors exported correctly! Question regarding animations in the xml. My animated hangar doors have 4 sections. Section 1 is the parent ( eg. hangar_door01 ) with the animation. Section 2,3,4 ( fold01, fold02, fold03) are children of Section 1, They link to the parent so when the animation is played, they follow the parent in a bifolding door animation. Should the xml make reference to the children, or just the parent? If so, can you provide an entry example. The SDK has info on child relations but I'm unsure how to enter the code if needed. Thank you.

Doug

BCATP_Hangar.blender
TEXTURE
( apologize for the size of the texture folder, I don't understand node wrangling for single textures yet. Initial results were horrible)

Code:
<?xml version="1.0" encoding="utf-8"?>
<ModelInfo guid="{8e75434e-88dd-461c-94c7-3eca9124e420}" version="1.1">
    <LODS>
        <LOD minSize="100" ModelFile="BCATP_HangarLOD0.gltf"/>
        <LOD minSize="50" ModelFile="BCATP_HangarLOD1.gltf"/>
        <LOD minSize="25" ModelFile="BCATP_HangarLOD2.gltf"/>
        <LOD minSize="0" ModelFile="BCATP_HangarLOD3.gltf"/>
    </LODS>
 
    <Animation guid="4023ab15-e2cc-40eb-9595-1b171a0671db" length="125" name="hangar_door01" type="sim" typeParam="AutoPlay" typeParam2="hangar_door01" />
    <Animation guid="3988fb23-4f87-4565-b717-0637aaf2c653" length="125" name="hangar_door02" type="sim" typeParam="AutoPlay" typeParam2="hangar_door02" />
    <Animation guid="35f76a8e-5ffb-4dc4-a541-8e85ce843fb4" length="125" name="hangar_door03" type="sim" typeParam="AutoPlay" typeParam2="hangar_door03" />
 
 
 
    <DefaultState name="bcatp-hangar-anim"/>
 
    <AnimGraph>
        <DefaultState name="bcatp-hangar-anim" />
        <BlendTreeState name="bcatp-hangar-anim" />
            <Animations>
                <Animation guid="4023ab15-e2cc-40eb-9595-1b171a0671db" Loop="False" speed="1" />
                <Animation guid="3988fb23-4f87-4565-b717-0637aaf2c653" Loop="False" speed="1" />
                <Animation guid="35f76a8e-5ffb-4dc4-a541-8e85ce843fb4" Loop="False" speed="1" />
          
                </Animations>
            </BlendTreeState>
            </AnimGraph>
      
      
    <PartInfo>
        <Name>hangar_door01</Name>
  
        <AnimLength>125</AnimLength>
        <Animation>
            <Parameter>
                <Code>
                (E:LOCAL TIME, Seconds) 28800 &gt; (E:LOCAL TIME, Seconds) 64800 &lt; and (L:XMLVAR_YokeHidden1) 1 == or if{ 125 } els{ 0 }
                </Code>
                <Lag>10</Lag>
            </Parameter>
        </Animation>
    </PartInfo>
    <PartInfo>
            <Name>hangar_door02</Name>
        <AnimLength>125</AnimLength>
        <Animation>
            <Parameter>
                <Code>
                (E:LOCAL TIME, Seconds) 28800 &gt; (E:LOCAL TIME, Seconds) 64800 &lt; and (L:XMLVAR_YokeHidden1) 1 == or if{ 125 } els{ 0 }
                </Code>
                <Lag>10</Lag>
            </Parameter>
      
        </Animation>
    </PartInfo>
    <PartInfo>
        <Name>hangar_door03</Name>
        <AnimLength>80</AnimLength>
        <Animation>
            <Parameter>
                <Code>
                (E:LOCAL TIME, Seconds) 28800 &gt; (E:LOCAL TIME, Seconds) 64800 &lt; and (L:XMLVAR_YokeHidden1) 1 == or if{ 125 } els{ 0 }
                </Code>
                  <Lag>10</Lag>
            </Parameter>
        </Animation>
    </PartInfo>
</ModelInfo>
 
Last edited:
Hi Doug,

Theoretically, when we animate a parent, the children attached to this parent (Menu OBJECT - Parent - Object) follow the animation when the animation is executed.
Example: a wheel which is a child of a landing gear will follow the movement of the landing gear when the suspension will move.

In the code example you give, actually you with 3 objects that are animated with an identical code: hangar_door01, hangar_door02, hangar_door03
When the variable L:XMLVAR_YokeHidden1 is equal to 1 all ... the three gates are animated independently of all three.
Each hangar_door0x has four childs : fold_01, fold_02, fold_03, fold_04 and hangar_door_1F so then hangar_door_01 is translated on the Yaxis, the 4 childs are also tranlated following the same speed and direction as the parent.
You have also add a constraint (Copy Rotation) so the childs are translated and have a second animation to copy the parent rotation.

So to answer your question, the code mentioned refers only to the 3 parents, the children’s animations derived from the parent animation: translation due to kinship and rotation due to constraint applied on each one.

As far as the three DODs are concerned, I would only make two:
- one with animated doors
- a second one that would have animated walls and doors but with much less detail, for example, it would be enough to take a screen of a door with all the details and textures and simply use this screen as texture for a door that would be just a simple rectangle without no details (details would be provided via the new texture).

So your shed will be much lighter and in the details it will be more than enough.
 
Question, I have created my hangar, exported into MSFS perfectly, looks great and I am very happy about it. With the door open, I intend to be able to taxi right into, and park within the hangar. It is possible, but my aircraft gets pulled to the rafters, and dropped back to the tarmac. I thought maybe it was a collision I added in Blender, so I removed it and exported a new version , and have no collision applied to the model. It still happens. The same thing happens when I am moving the camera through the hangar, it immediately jumps to the rafters and I need to manually reset the POV at ground level. It seems objects and cameras can not go under the rafters, instead try to go over the rafters. Can someone explain what's happening and how I might fix this from happening? Thanks

Doug
 
It seems to still have a collision of some sort. That's exactly how collisions interact with an aircraft.
 
Do you know Dick if an object had a collision attached, but later became joined with another object that didn't have a collision attached, would the original mesh still contain the collision properties? Would I find out by highlighting the mesh in Edit mode?

Doug
 
Hi...

The material that has the collision property should still have even after adding an object. The only time that it shouldn't have is if you turned it off for that material. The collision property is turned on and off through the material level not an object or model.
 
Thank you Douglas, that was it exactly, the material used for the joists and ceiling detail had Collision Material checked in the MSFS Parameters section. Thanks for the lesson! :)

Doug
 
Back
Top