• 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 [GUIDE] Creating Livery Packages for MSFS

I've just been reading the SU 6 updated SDK notes - it now looks like you can have the SDK to almost create the whole "livery pack". Admittedly I haven't tried it yet as I haven't fully capiched the instructions. Give me a week or two, but some of you more able painters might care to study the SDK tools.
 
Hi Chris:

I'll be looking forward to seeing some of your renowned liveries available in MSFS after you've done your 'chores'.

"What chores" you say ? ;)

Well, "reading the SU 6 updated SDK notes" (...not to be confused with the old #5 notes). :laughing:

GaryGB
 
Last edited:
Oh darn! No, I don't have a crystal ball... I really meant the latest SDK update and not SU6 - isn't that on beta at the moment? Heaven only knows; there has been so much confusion around updates. You have SU and WU with hotfixes and patches all over the place. So, the SDK currently stands at 1.14.1.0. I must have caught a dose of poisoning from those yappy dogs of mine - so whatever the latest SDK update is, that's what I was reading. So feel free to ask:

"What's yap poison?"

"Great for shaws hunting..."
 
I've just been reading the SU 6 updated SDK notes - it now looks like you can have the SDK to almost create the whole "livery pack". Admittedly I haven't tried it yet as I haven't fully capiched the instructions. Give me a week or two, but some of you more able painters might care to study the SDK tools.

You ever get the Livery pack worked out? If so, what's the advantage (if any) in using it? What's it for? How did you do it?

TB2
 
Hi, I want know if pink color distance dependent is normal, if not, how fix it?
Thank you!

Distance since pink color is showed.
1636924868546.png


Max distance to normal transparency
1636924919580.png
 
Hi, I want know if pink color distance dependent is normal, if not, how fix it?
Thank you!

Distance since pink color is showed.
View attachment 78161

Max distance to normal transparency
View attachment 78162

I'm not sure what you mean by "distance" and the differences due to "distance"? When I was texturing, the pink was because a texture was missing. Verify your "textue.cfg" file and your "aircraft.cfg" files and make sure the correct references are in there. I believe the "texture.cfg" file is what "points" MSFS to the correct folder that has the textures that you are missing. I may be able to post more if you're still confused.

Is this a stock MSFS aircraft?

TB2
 
Hi TBryson2
With distance, I mean the distance from object to camera, <x distance texture is normal, but at >x distance texture is pink.
Yes, it's a stock MSFS aircraft with custom paint, I used the MSFSLayoutGenerator.exe to layout.json file
Seems a fail to load far LODs textures. I didn't modify cockpit (¿tbm930?) or ATLAS textures, I think that must be found in default Official airplane folder...

1636975496549.png

1636975810882.png

1636975708905.png
 
Last edited:
I agree with it not loading LOD textures. Not sure why. I have not run into this issue myself. Does it only do it on "your" aircraft? Or the stock aircraft as well?

Wish I could help more.

TB2
 
Last edited:
Thank you for the reply, sorry it took so long to respond.

The solution(s) you posted came in handy, except for the Cessna with the AS1000. From a distance the texture for the glass cockpit is missing (and it shows up as pink), but the solutions above helped with the general cockpit itself. I also noticed that it was important as to the ORDER that "fallback.2=..\..\..\..\texture\Planes_Generic" was in. I put it at the end of the stack, (gave it the appropriate number) and nothing happened. Then I moved it up one slot and it seemed to work.

Again, thanks!

TB2
 
I have come across an awesome way (a bit involved) using Blender that isolates the parts of an aircraft into its texture "sheet". Example, the F/A-18 has two Fuselage textures, (Fuselage 1 and Fuselage 2). There is a way to isolate the aircraft into these two sections for texturing so that some parts of Texture sheet 2 does not get confused with the parts of texture sheet 1. I'm writing up the procedure and (hopefully) will get that posted soon. I would rather do a video, but that's just a tad out of my reach for now.

It tends to work for some aircraft, but not others. The F/A-18 it worked great, but the Cessna 152 not so good. Not sure why on the UV map the vertices on some UV maps are all over the place, and on others, (fuselage) they are perfect.

TB2
 
Last edited:
I have come across an awesome way (a bit involved) using Blender that isolates the parts of an aircraft into its texture "sheet". Example, the F/A-18 has two Fuselage textures, (Fuselage 1 and Fuselage 2). There is a way to isolate the aircraft into these two sections for texturing so that some parts of Texture sheet 2 does not get confused with the parts of texture sheet 1. I'm writing up the procedure and (hopefully) will get that posted soon. I would rather do a video, but that's just a tad out of my reach for now.

It tends to work for some aircraft, but not others. The F/A-18 it worked great, but the Cessna 152 not so good. Not sure why on the UV map the vertices on some UV maps are all over the place, and on others, (fuselage) they are perfect.

TB2

I'm interested to learn about your process.

If every mesh object only used one material, it would be easy to select using the menu command: Select -> Select Linked -> Materials. But if some faces are assigned a different material, it's hard to sort out all the correct faces. You can use the material panel to select one material at a time but this only works when one mesh is selected.

I wrote up a quick script to make this selection easier when you have multiple meshes selected in object mode. After running, it will have selected only the faces that match the material you enter.

Python:
import bpy

# Blender script to select all faces set to a material
# Select all the objects that use the material
# You can use the Select -> Select Linked -> Materials command
# While in object mode, run the script
# Some information about the faces will appear in the system console

# Enter the name of the material you wish to select:
material_name = 'Material'

findMat = bpy.data.materials[material_name]

objs = bpy.context.selected_objects

for ob in objs:
    if ob.type == 'MESH':

        matId = 0
        for mat in enumerate(ob.data.materials):
            if(mat[1] == findMat):
                matId = mat[0]

        faces = ob.data.polygons

        print(ob.name + ' ' + str(len(faces)) + ' faces')

        faceCount = 0
        for face in faces:
            face.select = False
            if face.material_index == matId:
                face.select = True
                faceCount += 1

        if(faceCount != len(faces)):
            print('Selected ' + str(faceCount) + ' faces')

bpy.ops.object.editmode_toggle()
 
I don't know how to use a script(?) above, but would like to test it out. I'll post a somewhat completed set of instructions below. They are NOT complete and again, would do MUCH better in a video than explaining it this way. It is still a works in progress, and there is a LOT more to say, but this should get you started.

TB2
 
You need to have some working knowledge of Blender to be able to select parts, vertices, and individual items. You also need to be able to navigate Blender and Photoshop. This document does not teach you how to use either but will offer some shortcuts if possible. Also, this "document" is not a finished product! It is a works in progress and may contain some errors or hard to follow sections (I hope not). This really needs to be made into a video! Perhaps I'll get around to it?

NOTE: This procedure tends to work for the most part, but you might find that some model parts are not included in a texture or are in another texture. (i.e., Cessna 172 TAILLANDING also includes the wheel pants and the engine compartment.) Also, there is no “Strut” material, it is called “Landing” in the material list. (Names can be changed to help). But this will help with isolating most of the parts.

Also, hopefully the author of the model made the texture names (.dds files) the same or close to the names of the materials in the model itself.

You don’t need to keep everything! Delete parts of the model you know you will never paint! Frost, wheels blurred, prop blurred. Keep the model as simple as you can. Delete rivets also! (More on that below). You are NOT changing the model used, only making a model so you can texture it.

IF you’re planning on using any templates, stripes, logos etc., have them ready by:

In Photoshop, you can use a PSD file with a transparent background. Clean up logo by removing everything you DON’T want “painted”. This will be used as a stencil on the aircraft. You can have several “logos” or other items on same sheet.


  • IMPORT MODEL INTO BLENDER

  • YOU MUST HAVE THE MSFS TO gITF IMPORTER INSTALLED and activated IN BLENDER!!
It is called: msfs2blend-master.zip and you can get this here: GitHub - bestdani/msfs2blend: Import Microsoft Flight Simulator (FS2020) Models in Blender

To install

  • Menu Bar: Edit > Preferences...
  • Preferences Popup: Select Add-ons on the left side.
  • Addon Settings: Press Install Button.
  • File Browser: Locate the downloaded io_msfs_gltf.py file and press Install Add-on.
  • Addon Settings: Tick the Checkbox next to the Add-on entry.

  • ISOLATE TEXTURED PARTS INTO COLORED SECTIONS
  • open Blender and import a MSFS gITF file (model files of aircraft in MSFS located in “Onestore” folder).
  • Select the lowest (lod00) model (NOT Cockpit or Interior)
  • Hit the “5” key on the KEYPAD
  • select ALL (“A” key) and ALT P clear parent and KEEP transformation
  • SAVE AIRCRAFT MODEL
  • Select and delete ALL unnecessary objects (Frost, extra propellers, Livery, etc.)
  • SAVE AIRCRAFT MODEL
  • Isolate textured areas by:
  • Go to “Texture Paint” tab
  • (If necessary), Top left of Texture Paint window, click “texture paint” and change it to “Object Mode”
  • Select “ALL” by clicking on model and then hit the "A” key
  • Right click and select “Join”
  • Change back to Texture Paint by clicking on “Object Mode” and select “Texture Paint”. Now the entire model should be purple. NOTE: This entire purple section may be part of several texture files! We need to isolate each texture file to its components.
  • On right hand tools, select the tools icon (at top of stack). Now at the top of that window you will have the names of the different texture sections. (i.e., Wings, Fuselage,)
  • Click on the top texture "Wings"
  • Below the texture names, you will see “No Textures” and a “+” button. Click on the “+” button and select “Base Color”. A new window will pop up
  • In “Width” and “Height” change the values to your texture size, typically 2048
  • Click on the area next to “color” (which will probably be black and hard to see)
  • Now you will have a color wheel. On the right of the color wheel is a slider that goes from black to white. Move the ball almost all of the way to the top and hit “OK”
  • A section that was purple on the model should now be the white color you just selected.
  • Now click on the next texture down in the list, (i.e., Fuselage), “+” icon and add another base color. NOTE: I prefer to change the colors slightly so I can determine what section is what. To change the color, click on the area next to “color” and move the ball in the color wheel to your desired color. Then click “OK”. You will see the next section (Fuselage) change to that color. Hopefully, the author of the model will have named the textures “Fuselage”, “Wings” ... to match the names of the base materials you’re selecting.
  • Repeat the process above for all textures in the list. NOTE, you really don’t need to do the windshield, lights, etc. if you’re not going to paint them. Typically, you would ONLY select the items you’re going to paint. Fuselage, tail, wings...
  • When finished, you should have all textured sections in their own unique color.
  • SAVE THE MODEL in its own unique name! Keep this separate from the base model in case you run into issues later!

  • ISOLATE COLORED SECTIONS INTO INDIVIDUAL SECTIONS

  • Under “texture paint” (at top of window) select “Object Mode” and select the entire model by hitting “A” key. Now entire model should have ONE orange boarder around it. Now hit “AA” to deselect entire model.
  • Switch back to “Texture Paint” from “Object Mode”
  • Now hit the “TAB” key on keyboard. This will put you in EDIT mode.
  • Click on the world icon at bottom of tools on right side
  • Click on top texture name (i.e., Wings).
  • Below texture names you will see “Assign”, “Select” and “Deselect”
  • Click on “Select”. ALL items in “Wings” will now be selected. You will also notice that in the left-hand window the texture UV map will appear and cover the entire background with model parts.
  • Hit the “P” key on keyboard and select “Selection”. All parts associated with “Wings” texture file will now be isolated into one section.
  • Click on “Fuselage” in texture list and click “select”. Now all “fuselage” parts will be isolated.
  • Hit the “P” key and select “Selection”.
  • Repeat the process for ALL of the texture names in the list
  • Exit “edit mode” by hitting the TAB key
  • Go back to “Object Mode”
  • NOTE: There are multiple items on the aircraft that you will NOT want or need to paint. i.e., Rivets. These can safely be deleted. I prefer to delete them so they will not interfere with the painting of the model. ALSO, you will want to delete or hide ANY and ALL items you do not want painted! It will make the job a LOT easier!

  • RENAME INDIVIDUAL SECTIONS

  • Click anywhere on background so that nothing on the model is selected
  • Click on the Wings so they are highlighted. (You should see that in the “textures” window on the right the section will highlight so you know where you are)
  • Hit “F2” on keyboard, and rename this part “WINGS” (It’s easier if you name the parts the same as the texture names for that part)
  • Hit the “H” key to hide this section
  • Click on the “Fuselage”
  • Hit “F2” on keyboard and rename this part “FUSELAGE”
  • Hit the “H” key to hide this part.
  • Repeat for ALL sections until ALL items you want to texture have disappeared. Use this to verify that the only items displayed are bogus items that can be hidden or deleted.
  • You will wind up with a bunch of “loose items”.
  • In the top right window, under “collection”. Next to the name under “collection” will be an eyeball. You can click on that eyeball and hide all of the extra parts. You can click on the other name eyeballs, (fuselage, wing...) and have them re-appear. This will leave you with a clean aircraft and each section will be colored and named
  • OR if you want to delete everything that you won’t need to paint, simply right click on the name of the unused parts, (NOT Fuselage, wing...), select “Select”, and hit the “delete” key.
  • Remember, in right window with section names, click on the eyeball to hide or unhide sections.
  • SAVE MODEL SAVE OFTEN. SAVE AS and “+” will create new file and NOT overwrite existing file in case you screw up!
  • If you want your model to be smooth, click on a part (i.e., fuselage) and right click then select “Shade Smooth”


  • DELETE ALL UNUSED ITEMS
  • This section is optional, but you may save some aggravation by removing or deleting anything you don’t want painted. Example would be a door handle. It WILL be a part of a texture sheet, and MAY get whacked if you paint over it while painting the door. It’s much better to remove (or make individual parts) out of anything you don’t want painted.
  • In the Cessna 172 example, I don’t need “Rivets” to be painted. So, I would select “Rivets” on upper RH window and click “Delete”.
  • Also, you might go ahead and delete the unused materials themselves. (i.e., “rivets”, Lights...)
  • In any (?) mode (Modeling, Texture paint.) select the world icon on the right toolbar.
  • In the area where the materials are named, (Wings, Fuselage...) select one that is NOT going to be painted (Windshield, Rivets...) and hit the “-“ next to the name and it will be deleted.


EXPORT UV LAYOUT for Photoshop

  • At top of screen, select UV Editing tab
  • Click on wing in RH window
  • Hit TAB key
  • Hit “A” key
  • LH window will now have the UV Layout for the entire wing.
  • At top, click “UV” then “Export UV Layout”
  • Select where you want the file to go AND verify the size of it on the right side
  • Now open Photoshop and open the file you just created.
  • Open the associated DDS file in another window. DO NOT FLIP THE IMAGE UPSIDE DOWN
  • Go back to the layout window, on layer section click “duplicate” and duplicate it into the DDS file window.
  • Here is where you will start to do your texturing in Photoshop.

I certainly hope I conveyed myself appropriately here and didn't open a bag of worms.

Please let me know if there are any errors and I'll work on finishing this out. There is a LOT more with using stencils, painting directly on the model, making tiny changes in Photoshop to get things lined up...

TB2
 
Last edited:
TB2, it took me a bit to understand everything you're describing here. I think I understand that the goal is to separate the model into individual meshes, each with only one material (and texture sheet). I'm not sure the purpose of the texture painting step as it seems unnecessary, but perhaps it's useful for your workflow.

Here is a list of steps that can achieve some of this process:
1. Import the model as you describe and delete any unwanted parts.
2. Select all and alt-P to remove from parents
3. Select the first object in the collection and then shift-click the last object in the list to select all with the first as the active object
4. Hit ctrl-J to join into a single mesh
5. Enter Edit mode, select all and hit P -> separate by material
6. Toggle back to Object mode and you will have a set of objects each with only one material. You can then do the last part of your process to rename the objects to match the materials.

It should go without saying that this is destructive and should not be used on your only copy of a Blender file.

I have a script that can do all of that in one click. I'll start a new thread to show how to use it. I made it to export models to use in Armor Paint which need to have just a single texture.

EDIT: Here is a more complex script that can automate a lot of the heavy lifting: https://www.fsdeveloper.com/forum/t...ial-for-armor-paint-clean-uv-maps-etc.454425/
 
Last edited:
You’re pretty much on track, but not quite. I did write it for a “novice” (you never know the skill level of the one you’re communicating with). Perhaps I should have written it as you did for those with advanced skill levels? Would you like me to do that?

steps 5 & 6 above may be going a bit astray. 😁

It’s only destructive for that particular “saved” model. (That’s why I often repeat “save as +}. Accidentally deleted parts can always be retrieved from the “base” model you started with. It’s not like you have to start all over again.

I’m anxious to use your script! Wonder if it will arrive at the same conclusion?

TB2
 
Hi, I started creating my first livery ever for MSFS. Its for a CJ4 and its been giving me headaches for this morning :-D So far I ran into two issues I cant solve.

1) Im getting pink texture when zooming out from the plane, I ve heard about this iisue but not as a repainter. I dont know how to fix this. I googled some possible fix. It was to add next line to texture.cfg file, eg.
fallback.12=…\texture\Planes_Generic
But that dint seem to help.

2) How do I change the tailnumber color? In the aircraft.cfg there is a line, saying atc_id_color so i filled in my color code. But nothing changed. Its still black.
atc_id_color = "#215eab" ; color for the tail number : i.e. "#ffff00ff"

Any help is much appreciated.

Thank you
 

Attachments

  • ila.jpg
    ila.jpg
    858.8 KB · Views: 203
  • ila.jpg
    ila.jpg
    869.2 KB · Views: 232
Last edited:
Hi, I started creating my first livery ever for MSFS. Its for a CJ4 and its been giving me headaches for this morning :-D So far I ran into two issues I cant solve.

1) Im getting pink texture when zooming out from the plane, I ve heard about this iisue but not as a repainter. I dont know how to fix this. I googled some possible fix. It was to add next line to texture.cfg file, eg.
fallback.12=…\texture\Planes_Generic
But that dint seem to help.

2) How do I change the tailnumber color? In the aircraft.cfg there is a line, saying atc_id_color so i filled in my color code. But nothing changed. Its still black.
atc_id_color = "#215eab" ; color for the tail number : i.e. "#ffff00ff"

Any help is much appreciated.

Thank you

The pink color is because specific textures are not being found and MSFS displays the missing texture as pink. (look towards the top of this thread). I'm experiencing a similar incident with aircraft I repaint, being used as AI (or in a group flight, someone else's aircraft that I created), and the glass cockpit is pink. MY aircraft (that I'm flying) looks great from an external view, but other aircraft I made that other are flying in a group flight have pink screens on their instrument panel when viewed from outside.

Check to make sure you included the ".json" file in your textures for that part of the aircraft.

I modified my "texture.cfg" files to put the entries in the correct order to eliminate the issue you're facing but I confess I really don't understand what order that should be.

Also,

The tail number color cannot be changed from what I understand. IF you have a specific tail number you use, you can eliminate theirs entirely by:
1. modify the aircraft.cfg file for your texture by putting YOUR tail number in "atc_flight_number =" and possibly "atc_id =" (in my case, "N264TB)
2. "paint" YOUR tail number on the aircraft as part of the texture (see image and note below)
3. you MUST remove any tail number from (in World Map, Aircraft selection / customization) "Tail Number" and "Call Sign" and put a NULL character in it's place. (using keypad, hold ALT and hit 255. Release ALT key) There are several references to this within this thread I think. If you don't do this, MSFS will create it's own tail number and overwrite yours. Sucks!!!

The only issue that cannot be resolved yet, YOUR tail number will be visible to you, and you only. All other aircraft will have a white rectangle where the N number goes. This is a MSFS issue. If you group fly, nobody else will see your "painted" tail number until this gets resolved.

thumbnail_small.jpg
 
Last edited:
2) How do I change the tailnumber color? In the aircraft.cfg there is a line, saying atc_id_color so i filled in my color code. But nothing changed. Its still black.
atc_id_color = "#215eab" ; color for the tail number : i.e. "#ffff00ff"
The registration number color is set in the panel.cfg file. Locate the VPainting section that applies to the exterior registration and edit the font_color parameter.
Code:
[VPainting02]
size_mm    = 512, 128
texture    = $RegistrationNumber
location = exterior
painting00=Registration/Registration.html?font_color=black, 0, 0, 512, 128

To use a hex color, you must replace the "#" with "0x". You can use any named HTML color as well, including "transparent" if you want to hide the reg number. But yes, only the player will see this, everyone else will see a solid rectangle.

i.e.: font_color=0x215eab

There are some other style features you can enable within Registration.html (details are in the registration.js). These files are in your official packages at: \asobo-vliveries\html_ui\Pages\VLivery\Liveries\Registration
 
Okay, Im making progress, halfway there. I painted the registration sucessfully on the tail. Now Im fighting with the engines - it automatically mirros on the other one, in the wrong way of course. It looks like there is one UV for both engines. Is it really like it or is there a way how to do properly?
1644049714064.png
 
Back
Top