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

MSFS [Released] 8AK5 Fort Crosby, Alaska | Detailed Backcountry Airstrip

Rotornut44

Resource contributor
Messages
610
Country
us-florida
fc1.jpg

Note: This scenery is a Work in Progress. It's guaranteed that some visuals will change.

Welcome to Fort Crosby!
Located 14 mi (22 km) to the Northwest of Talkeetna, Alaska in the Matanuska-Susitna river valley, Fort Crosby is a private backcountry airstrip with a 1550 ft (472 m) long gravel runway. This makes it the perfect backcountry location for aircraft all the way up to light twins, with the only real limitation being wingspan and height near the North end to clear the dirt berms and log stacks along the runway.

fc3.jpg
fc4.jpg


Fort Crosby is shaping up to be my most detailed payware release to date. The scenery will feature some all new vegetation, including detailed native shrubs, custom Birch tree models for better tree diversity, and some new groundcover.

All this blends with my already existing Emerald Object Library vegetation models to make only what I consider to be the bones of a great product. There is so much more to come that I haven't even begun digging into just yet!

fc5.jpg


Like with all of my releases, expect a good amount of dynamic features to arrive later on in this project. This will include common stuff such as rain puddles & butterflies, but I'm also planning to implement some new, and reinvent some old. More on that to come!


Currently, the scenery features custom hand-corrected and color-matched 30cm/px aerial imagery, which was doubled from the original 60cm that I had started building this scenery with a year or so back. I have also done some extensive terraforming on top of the 2m/px elevation dataset, based on the few references I have of the strip.

The coverage area is quite large, spanning just past the lake to the Northwest and gravel pits to the Southeast (Which will be terraformed as well).

8AK5_Coverage_Map.jpg


Right now, my current focus is on the airport, but I will be including some detail in the North gravel pit, and I have a list of several locations throughout the coverage area that I would like to touch on in varying levels of detail. Though, this will all depend on how much performance overhead I have when I get the airport done.

A heavy part of my focus in this project has not only been building the scenery itself, but touching on all of the assets I am using to ensure that everything has been aggressively optimized to Xbox standards.

Though I am shooting for a release to Xbox as well, I will not know for sure until the project is complete, submitted to marketplace, and testing begins.

fc6.jpg


By far, the biggest part of this project isn't placing the models, but creating them. Luckily I have amassed a good collection of common models over the years with Emerald Object Library, but that does not spare me from the new assets and buildings that come with designing a scenery.

From my reference photos, which are a bit dated, the original structure here on the airstrip was just a metal overhang with no walls, but by the most recent satellite photo, a new hangar now stands in it's place. So, this is where I have had to take a bit of creative liberty. It's a private airstrip, so updated photos (Or, really any references at all) are nearly impossible to get...

So, I have created something simple, yet detailed. Since the airstrip is meant to be depicted in the late stages or just post construction, I figured I would go with a more modern metal design. Something that would realistically be built, and from what I can tell, is there now.

Obviously the entire design here is based on an educated guess with creative liberty, but it's hard to have precision accuracy when it's Billy Bob's backyard chainsaw project (Or in this case, Excavator project). 😆

fc7.jpg


Much like my previous payware - Forwood Farm, the hangar also includes a hangar door which opens and closes by aircraft proximity.

The interior of the hangar has been fleshed out with some clutter, and even a working clock (because, why not). Some of the clutter inside of the hangar is repurposed from Forwood Farm, though I have modeled several new assets and everything has been repainted! Maybe in a future post, I will show off a couple of my favorites out of these assets!

fc8.jpg
fc9.jpg


As it stands right now, there is still a decent bit to do on this project, but everything is moving along quite smoothly. It is my hope to have this one out sometime this fall, but until then I will be coming back to this thread periodically to share new progress updates!

RN44
 

Rotornut44

Resource contributor
Messages
610
Country
us-florida
fort_crosby_wip2_2.jpg

[4K Screenshots Available on Discord]

Since my last post, I have been focused on implementing more environmental items. More vegetation has been placed around the airstrip and with the addition of more rocks, logs, and fallen trees, the airstrip is really starting to come together.

I also made the decision to update the Pine Tree bark textures throughout the scenery. The texture now matches the one used on the log stacks for consistency. I also feel that it looks a lot more realistic than the old texture (which you can see in my post above).

This change will improve all 3rd party sceneries using this asset in the next Emerald Object Library update!

fort_crosby_wip2_1.jpg


Unlike Chunilna Cabin Strip, the approach into Fort Crosby is pretty uneventful. You can land either direction as there is plenty of runway for most GA aircraft. The normal approach from the South brings you into a clear-cut field with an unobstructed final decent to the runway.

I spent some time working on sprucing up this area a bit by adding in some low poly bush groups, to sell it as really not being just a grass field. As I continue to work on the scenery, I suspect that I will be tweaking on this area even more to find a good balance of additional detail.

fort_crosby_wip2_3.jpg
fort_crosby_wip2_4.jpg


I am still saving most of the fun, dynamic stuff for later on in the project, but after discovering some ugly transitions while testing the winter environment, I couldn't help myself. I had to at least start on the winter assets.

Something that has been on my own dev wishlist for a while was to implement some snow berms that hide/show when appropriate. And with this being more of a maintained strip with heavy equipment laying around, I figured that was enough of an excuse...

fort_crosby_wip2_6.jpg


Of course, any new implementation comes with some quirks, and I am still trying to iron a few of those out. I was hoping to implement some new code that would tie the berm visibility into the snow depth slider, but there still seems to be a limitation here, so for the time being, they are still tied to ambient temperate.

Also, my old nemesis has returned. On first load, the berms will usually float above the ground until you get near them, then they will snap into place and display fine from that point out. This is a bug that I have been trying to crush since early December, and I'm at the point now where I believe it's just the sim being the sim.

I feel as though I have tried every method imaginable to correct it. Even forcing an elevation based at sea level instead of using the default AGL system (Which should keep it at a fixed elevation at all times). Though, suprise-suprise, it doesn't seem to work that way.

fort_crosby_wip2_5.jpg


Though, limitations and issues aside: I also took some time to bring back icicles (now 3d, unlike in the cabin strip scenery) and add some snow accumulation on the hangar. Both of these are done with Blender plugins, and then were remeshed to retain detail while bringing them down to a much more comfortable amount of tris.

The implementation is exactly the same as the snow berms. Currently, they appear at or below 32F / 0C.

fort_crosby_wip2_7.jpg


This week, I will be continuing on the modeling journey. I have about 10-12 basic buildings that I need to construct to fill in areas where autogen is not available or not correctly aligned. After this is done, the remainder of the scenery will really start to come together!

Until next time!
RN44
 

Rotornut44

Resource contributor
Messages
610
Country
us-florida
Work has continued on 3D assets over the last week. I have managed to chew my way through 7 buildings of varying detail, which will be spread throughout the coverage area.

I just have one more cabin to paint and then I will be back on modeling duty to finish up the other half of the building/cabin models I have on my to-do list. Which, right now is sitting at around 13-14 models total, not including anything else more specific I want to tackle (2 completed models are not pictured).

cabin_renders.jpg

Note: Screen grabs from Substance Painter. Windows are implemented in Blender!
 
Messages
1,922
Country
unitedkingdom
Very nice!
Are your trees animated according to wind speed? If so a library of them and your scatter for commercial use might be quite lucrative for you. I for one would buy a license for it.
Do you use detail textures also?
 
Last edited:

Rotornut44

Resource contributor
Messages
610
Country
us-florida
Very nice!
Are your trees animated according to wind speed?
Thanks!

No. The trees are all static. I would need to make them SimObjects for dynamic animations like that. It's something I have thought about exploring on more than one occasion, but since there is a hard-limit to the number of SimObjects that can exist at once, I'm pretty sure I would start to run into some issues in some of my sceneries. I'm also not sure how the number of bones would affect FPS, as I know some have tried it and not had great results for performance. Though still, at the end of the day, it would have to be something I experiment with, with my own optimization workflow.

If so a library of them and your scatter for commercial use might be quite lucrative for you. I for one would buy a license for it.
I have also thought about this and been told a handful of times that I should think of licensing the libraries for commercial use. While this is not really out of the question, I just haven't found the time to sit down and actually considered what all I would need to do to make it happen. It's possible that I may offer licensing in the future, but I would like to get the rest of the objects a little more optimized for Xbox, which just takes time. I have to figure out the actual licensing/legality side of things, and then also how I would go about pricing it to be fair to myself and those buying the license.

Do you use detail textures also?
I do not believe so. I think any time I have played around with using them for an object, I was able to get fair enough texel density in my painting alone. Anything else that would benefit from them already use tiling textures.
Just simply haven't found a place for them in my workflow besides windshield glass.
 
Messages
1,922
Country
unitedkingdom
Hi. The actual animations as controlled by windspeed work as a library object. It's only when getting the wind direction component to rotate the object which requires the use of simobjects. Something I found out stupidly trying to get an animated flag working as a modellib.

The default sim trees do seem to have a wind direction component, but I don't think this would be necessary.
 

Rotornut44

Resource contributor
Messages
610
Country
us-florida
Hi. The actual animations as controlled by windspeed work as a library object. It's only when getting the wind direction component to rotate the object which requires the use of simobjects. Something I found out stupidly trying to get an animated flag working as a modellib.

The default sim trees do seem to have a wind direction component, but I don't think this would be necessary.
Interesting. I thought you could only play an animation with a standard scenery object, but couldn't control it. Will have to look into it a bit further!
I assume it's just using AMBIENT WIND VELOCITY? Also, is the structure the same as what it would be for a SimObject to call the velocity?
 
Last edited:

Rotornut44

Resource contributor
Messages
610
Country
us-florida
How fps-heavy are nice plant models like that? Is it still pretty simple geometry or do you end up with the equivalent of a large fps-heavy airport?
It may hit medium end systems a bit, but a lot of this vegetation is all new and untested, so I can only speculate. I'll know more for sure when I get into the testing phase after everything has been fully optimized.

Overall, I try to keep things simple, but the new shrubs are a bit heavier. Luckily the number of triangles don't hit performance too bad in this sim as long as you are doing proper LODs and optimization.
I take a pretty aggressive approach which has seemed to keep things pretty performant so far. Strictly following the Xbox LOD vertex rules, removing COMP and Normal textures on LOD1 & 2, vertex paint the last 1-2 LODs, depending. I also try to use baked groups of shrubs or vegetation when I can to maximize the amount of area covered vs the number of individually placed models.

It's all a balance though, as you don't want any model to have too dense of geometry, or else you will struggle with staying within the max # of verts per LOD value that Xbox wants while maintaining something that is still visually appealing at a distance.

This is my most detailed airstrip to date, and also my most optimized, so I will be interested to see how it all works out when I throw is on some lower tier machines. Though, PC hardware capabilities don't really scare me, what does is the Xbox Series S. It barely handles most addons.
 
Messages
102
Country
ca-ontario
It may hit medium end systems a bit, but a lot of this vegetation is all new and untested, so I can only speculate. I'll know more for sure when I get into the testing phase after everything has been fully optimized.

Overall, I try to keep things simple, but the new shrubs are a bit heavier. Luckily the number of triangles don't hit performance too bad in this sim as long as you are doing proper LODs and optimization.
I take a pretty aggressive approach which has seemed to keep things pretty performant so far. Strictly following the Xbox LOD vertex rules, removing COMP and Normal textures on LOD1 & 2, vertex paint the last 1-2 LODs, depending. I also try to use baked groups of shrubs or vegetation when I can to maximize the amount of area covered vs the number of individually placed models.

It's all a balance though, as you don't want any model to have too dense of geometry, or else you will struggle with staying within the max # of verts per LOD value that Xbox wants while maintaining something that is still visually appealing at a distance.

This is my most detailed airstrip to date, and also my most optimized, so I will be interested to see how it all works out when I throw is on some lower tier machines. Though, PC hardware capabilities don't really scare me, what does is the Xbox Series S. It barely handles most addons.
I’m really curious about your optimization remarks. I never had to do proper LOD yet but I want to implement it going forward. When you say you remove comp/normal textures on LOD1 and 2, does the sim not complain that you don’t have a comp and normal texture when you compile with that diffuse-only material, or does the LOD implementation actually expect the lower LOD versions of models to use diffuse only?
 

rhumbaflappy

Administrator
Staff member
Resource contributor
Messages
5,779
Country
us-wisconsin
I’m really curious about your optimization remarks. I never had to do proper LOD yet but I want to implement it going forward. When you say you remove comp/normal textures on LOD1 and 2, does the sim not complain that you don’t have a comp and normal texture when you compile with that diffuse-only material, or does the LOD implementation actually expect the lower LOD versions of models to use diffuse only?
You would compile LODs 1 and 2 as objects that simply don't have the comp and normal textures set in their materials. You can skip comp or normal when setting a material, just like you skip emissive.
https://docs.flightsimulator.com/html/Asset_Creation/3D_Models/LODs.htm
From the SDK:
  • Remove textures you may not need at a distance, such as a normal map, and try very hard to avoid creating extra textures at a smaller resolution, this will just increase total memory usage. Prefer simply removing textures whenever possible.
Also:
  • The last LOD should have approximately 100 triangles, 1 material and no textures. Also note that:
    • Since there are many objects far away, reducing them to one draw call is important.
    • Its "minSize" property is ignored, it is always set to zero.
    • If you do need a partially emissive or metallic last LOD, consider using a very small texture rather than creating a second material.
 
Last edited:

Rotornut44

Resource contributor
Messages
610
Country
us-florida
I like to create separate materials for each LOD.

Object_LOD0 = MaterialName
Object_LOD1 = MaterialName_LOD1 (Remove Normal)
Object_LOD2 = MaterialName_LOD2 (Remove Comp - Adjust Metallic & Roughness values to somewhat match how light would reflect with a comp - Most cases Metallic:0, Roughness:1)

Repeat this material for all following LODs, until you get to the last LOD:

Object_LOD5 = VertexPaint (Convert Albedo to Vertex Color using Simplygon - Set Metallic:0, Roughness:1 in material properties.)

I use Simplygon for all my LOD generation - it's a really useful plugin that Microsoft gives us a free license for. But that's a whole other can of worms to go over settings wise, best practices, and such.
 
Messages
102
Country
ca-ontario
I like to create separate materials for each LOD.

Object_LOD0 = MaterialName
Object_LOD1 = MaterialName_LOD1 (Remove Normal)
Object_LOD2 = MaterialName_LOD2 (Remove Comp - Adjust Metallic & Roughness values to somewhat match how light would reflect with a comp - Most cases Metallic:0, Roughness:1)

Repeat this material for all following LODs, until you get to the last LOD:

Object_LOD5 = VertexPaint (Convert Albedo to Vertex Color using Simplygon - Set Metallic:0, Roughness:1 in material properties.)

I use Simplygon for all my LOD generation - it's a really useful plugin that Microsoft gives us a free license for. But that's a whole other can of worms to go over settings wise, best practices, and such.
So you actually remove the texture file altogether from the material for LOD1, or do you make a uniform color version of that Normal texture so that it hardly takes any space?

Thanks, I’ll have to look into VertexPaimt and Simplygon, first time I hear about these. Does Simplygon replace using the MSFS Export plugin to export different Collections containing simpler versions of your object, or does it complement it by helping you create these simpler Collections?
 

Rotornut44

Resource contributor
Messages
610
Country
us-florida
So you actually remove the texture file altogether from the material for LOD1, or do you make a uniform color version of that Normal texture so that it hardly takes any space?

Thanks, I’ll have to look into VertexPaimt and Simplygon, first time I hear about these. Does Simplygon replace using the MSFS Export plugin to export different Collections containing simpler versions of your object, or does it complement it by helping you create these simpler Collections?
The texture gets removed altogether.

Simplygon is just used to generate LODs. You would still use the official Blender exporter to export them.
 
Messages
1,922
Country
unitedkingdom
Interesting. I thought you could only play an animation with a standard scenery object, but couldn't control it. Will have to look into it a bit further!
I assume it's just using AMBIENT WIND VELOCITY? Also, is the structure the same as what it would be for a SimObject to call the velocity?
I just used the flag xml as a model lib and it worked so I assume yes just remove or leave in the direction part in it wont work or be used anyway.
 

=rk=

Resource contributor
Messages
4,256
Country
us-washington
Interesting. I thought you could only play an animation with a standard scenery object, but couldn't control it. Will have to look into it a bit further!
I assume it's just using AMBIENT WIND VELOCITY? Also, is the structure the same as what it would be for a SimObject to call the velocity?

SimVars such as "AMBIENT WIND VELOCITY" can only be applied to SimObjects.

Scenery object animations are characterized as "ambient," as they can play once only from start to finish, or play endlessly in a loop and are tagged as "AutoPlay, Random," such as

<Animation name="waving_flag" guid="xxxx" type="Standard" typeparam2="waving_flag" typeparam="AutoPlay,Random" />

Hi. The actual animations as controlled by windspeed work as a library object. It's only when getting the wind direction component to rotate the object which requires the use of simobjects. Something I found out stupidly trying to get an animated flag working as a modellib.

The default sim trees do seem to have a wind direction component, but I don't think this would be necessary.


An animated flag oriented to the wind, as a SimObject has several animations tagged "Standard," in this format:

<Animation name="Knots_00" guid="xxxx" type="Standard"/>

it also has table to blend these animations using the "AMBIENT WIND VELOCITY" SimVar

<AnimGraph>
<DefaultState name="Anim"/>
<BlendTreeState name="Anim">
<Animations>
<Animation guid="xxxx" loop ="True" speed="1" threshold="0"/>
<Animation guid="xxxx" loop ="True" speed="1" threshold="5"/>
<Animation guid="xxxx" loop ="True" speed="1" threshold="10"/>
<Animation guid="xxxx" loop ="True" speed="1" threshold="15"/>
<Animation guid="xxxx" loop ="True" speed="1" threshold="20"/>
<Animation guid="xxxx" loop ="True" speed="1" threshold="25"/>
</Animations>
<Value>(A:AMBIENT WIND VELOCITY, KNOTS)</Value>
</BlendTreeState>
</AnimGraph>

finally, there is a <Behaviors> section to control direction

<Behaviors>
<Include ModelBehaviorFile="Asobo\Misc\SimObjects.xml"/>
<Component ID="WindFlag">
<UseTemplate Name="ASOBO_WindDirection_Template">
</UseTemplate>
</Component>
</Behaviors>

The statement that "animations as controlled by windspeed work" could only be partially true, because the variable that changes speed is a "SimVar."

Is it at all possible that you are using this model as a "SimObject" and that you have compiled it through MCX, which does not read or understand <Behaviors> information and consequently strips it from the exported XML? If this is the case, you can simply copy/paste the relevant <Behaviors> sections into the post MCX processed XML and then run that through the standard FSPackagetool build process. Just something I noticed.
 
Top