The post We Are All Raster-farians Now appeared first on X-Plane Developer.
]]>The really big change we are making to base meshes is to go from a vector-centric to a raster-centric format. Let’s break that down and define what that means.
Vectors are fancy computer-graphics talk for lines defined by their mathematical end-points. (Pro tip: if you want to be a graphics expert, you just need the right big words. Try putting the word anisotropic in front of everything, people will think you just came from SIGGRAPH!) DSF started as an entirely-vector format:
This isn’t the only thing DSF does – we added raster capabilities and there is e.g. raster sound and season data in X-Plane 12, but DSF is fundamentally about vector data – saying where the edges of things go exactly.
This was great for a while, but now that we have more and more vector data (complex coastlines, complex road grids, complex building footprints) the DSFs are getting too big and slow for X-Plane.
Raster data is any data stored in a 2-d grid. This includes images (which in turn includes orthophotos) but it also includes 2-d height maps (DEMs), and the 2-d raster data we include in DSF now (e.g. sound raster data, season raster data etc). Any time we store numbers that mean something in a 2-d array, we have raster data.
Raster data has several advantages over vectors:
Twenty years ago, when I first worked on DSF, computers didn’t have the capacity to use lots of raster data – this was back when 8 MB of VRAM was “a lot”. But now we no longer need to depend on vectors for space savings.
Raster tiles are raster data broken into smaller tiles that get pieced together. Raster tiles have become the standard way to view GIS data – if you’ve used Apple Maps or Google Earth or OpenStreetMap or any of the map layers in WED, you’ve used raster tiles.
Raster tiles have a bunch of advantages too:
So our plan for the next-generation base mesh is “all raster tiles, all the time” – we’d like to have elevation data, land/water data, vegetation location data, as well as material colors all in raster tile form. This would get us much better LOD/streaming characteristics but also provide a very simple way for custom scenery packs to override specific parts of the mesh at variable resolution with full control.
Raster tiles are not the same thing as orthophotos. A raster tile is any data contained in a 2-d array, not just image data cut into squares (e.g. orthophotos). So while a raster-tile system may make it easier to build orthophoto scenery, it does not mean that the scenery can only be orthophotos.
The post We Are All Raster-farians Now appeared first on X-Plane Developer.
]]>The post The Turtle Needs a New Shell appeared first on X-Plane Developer.
]]>Here’s the key point for the first one:
A new scenery format is not the same as new scenery.
This can be confusing because we haven’t changed either our scenery file formats or our scenery in quite a while, and often the two change together. Let’s break this down.
A scenery file format is the way we represent scenery in our simulator. It consists of several things:
My first work for Laminar Research (two decades ago) was building all of those things: I invented DSF files, wrote the DSF reader inside X-Plane (DSFLib), worked on the rendering engine, and created the tools to write the files (DSFTool).
When we talk about just the scenery, this is the final rendered files that people fly with. Remember when we shipped 60GB worth of content in 12.0.9? That was new scenery rendered out with all the latest and greatest data.
X-Plane ships with the “global scenery” – a set of about 18,000 DSFs that ensure land everywhere from 60S to 75N. But this is not the only scenery out there – there’s TrueEarth, HD base meshes, SimHeaven, and scenery made with Ortho4XP.
Lots of people can make scenery, often in many different ways (using land class, orthophotos, autogen, etc.) but all of that scenery must be in X-Plane’s scenery file format, e.g DSF.
The scenery is the turtle and the scenery file format is the shell. The scenery can only be as complex as there is capacity in that file format (shell).
So the first part of my talk was a tour of how we have outgrown DSF, and pointed out that there are some things that DSF can’t do. For example, several add-on makers want to stream custom scenery, but DSF makes that basically impossible. DSF also isn’t meant for really high detail vector data, so we’ve been having trouble using all of the latest OSM imports.
The second talk discussed our plans for a replacement to the base mesh file format, which is based on raster tiles. This part of the talk said nothing about what kind of scenery we (Laminar Research) would make, which raised a lot of questions.
But now that you understand the the turtle and the shell, you have a lens to understand what we’re saying. This wasn’t an announcement of next-scenery, only an announcement of a bigger shell that will make that next-gen scenery possible.
So the next-gen scenery format is all about potential. The scenery file format limits what is possible for all scenery (both what is built into the sim and add-ons), so we want to raise those limits quite a bit in the next-gen base-mesh format.
The way we are doing that is by moving the base mesh from a vector-centric approach to a raster-centric post; I’ll break that down in another post.
The post The Turtle Needs a New Shell appeared first on X-Plane Developer.
]]>This is a beta so make backups of your work before using!
Custom Spill Lights are now implemented (#312)! To use, make a light datablock with the XPlane2Blender light type as Custom Spill
. Read More
The post XPlane2Blender v4.1.0-beta.1 appeared first on X-Plane Developer.
]]>This is a beta so make backups of your work before using!
Custom Spill Lights are now implemented (#312)! To use, make a light datablock with the XPlane2Blender light type as Custom Spill
. Relevant properties are:
Property | Function |
---|---|
Light Color | RGB color for the light |
Light Rotation | Spot light direction |
Light Spot Size | The width of spot light |
Size | Size parameter (in meters)? |
Dataref | Dataref that controls the light |
Custom Spill lights can make dataref driven custom omni-directional billboards and directional spot lights.
As with Automatic Lights, the goal is What You See Is What You Get.
In this photo the green light is a Custom Spill, where sim/graphics/animation/lights/traffic_light
changes the color between green, yellow, and red! The white lights have different widths, all made without doing any math by hand.
X-Plane has pre-made high quality GPS devices that are easily accessible to the artist. Thanks to (#481) using one is as simple as making a mesh, and giving it a material with a Cockpit Device set. Pick the device, at least 1 electrical bus (matching Plane Maker), the lighting channel, and if the screen’s brightness should auto-adjust. You’ll get a fully functional GPS device just like that! You can have multiple devices in the same OBJ, as well as use of the panel texture.
The Cessna’s cockpit provides 2 great examples of using cockpit devices.
Given the changes and additions to our Cockpit Features, the UI has been changed slightly. On the material Properties tab use the “Cockpit Features” to find “Cockpit Regions” and “Cockpit Device”. The updater should adjust the setting for you if you were using regions.
(#426) Shadow Blend’s Blend Ratio can finally be set. Thanks @kbrandwijk!
(#548) Non-Exporting Lights are back in. They’re intended as “work lights” and will never ever show up in the OBJ! Simply set the X-Plane Light Type to “Non-Exporting” and use freely.
Thanks to everyone who downloaded alpha.1! I’m glad that this series has been so successful and I can wait to see what you make with the new light features! As always make backups!
The post XPlane2Blender v4.1.0-beta.1 appeared first on X-Plane Developer.
]]>This alpha contains changes to the updater. Make backups before using!
This new version contains one of the most requested fixes (#357, #599) for XPlane2Blender: Normal Metalness, Blend Glass, and Global Tint have been moved out of the Material Properties Tab and into OBJ Settings! Read More
The post XPlane2Blender v4.1.0-alpha.1 appeared first on X-Plane Developer.
]]>This alpha contains changes to the updater. Make backups before using!
This new version contains one of the most requested fixes (#357, #599) for XPlane2Blender: Normal Metalness, Blend Glass, and Global Tint have been moved out of the Material Properties Tab and into OBJ Settings! The annoying “All Materials in an obj must have the same Normal Metalness/Blend Glass Value” error is gone!
The updater tries its best to guess if you wanted Normal Metalness, Blend Glass, or Global Tint, however it isn’t perfect. If you have to manually correct more than 3 of your OBJ settings, please tell me.
These new settings can be found under the Textures section of the OBJ Settings.
#595 Also known as ATTR_cockpit_lit_only, this directive has actually been in X-Plane since 11.10, but now is accessible in XPlane2Blender! It makes a panel only use the emissive “Lit” texture – a great speed boost if that is all you need. This is the perfect feature for computer displays.
For Aircraft or Cockpit export types, look in the Cockpit section for “Panel Mode”. This changes the meaning of “Part of Cockpit Panel” for the whole OBJ. Setting it to “Emissive Panel Texture Only” mode activates the feature. You cannot mix panel modes.
People who use Cockpit Regions will have to manually change “Panel Mode” from Default
to Regions
to see the UI and have regions export again. A one time fix. A future updater will do it for you. Until then I hope it isn’t too many OBJs to change.
#471 The updater now synchronizes its last version across every scene and new updater functions will not use data cleaning to protect against accidental or purposeful updater re-runs. Simply put this means a safer to use XPlane2Blender (but still make backups). Since this is new updater code, however, it had to be put in an alpha. People with multiple scenes should be especially on the look out for problems. I feel very confident about it however.
With testers and users like the ones XPlane2Blender has we’ll be getting to v4.1.0-rc.1 much much much much faster this time! For the users who requested moving Normal Metalness and Blend Glass, thank you for your patience. I know now just how annoying that error message was! I’ll certainly keep this experience in mind for future decisions and don’t worry, “make it the same across every material” is not going to be chosen again without an extremely important reason!
The post XPlane2Blender v4.1.0-alpha.1 appeared first on X-Plane Developer.
]]>We did it folks! Long in development (mostly because I kept adding features, not because of many disastrous releases) we can call this complete! A huge thanks to our dedicated volunteers who beta tested, send bugs, e-mails, and trusted their projects and livelihoods to us. Read More
The post XPlane2Blender v4.0.0-rc.1 appeared first on X-Plane Developer.
]]>We did it folks! Long in development (mostly because I kept adding features, not because of many disastrous releases) we can call this complete! A huge thanks to our dedicated volunteers who beta tested, send bugs, e-mails, and trusted their projects and livelihoods to us. We hope to live up to that trust everyday. Again thank you. Also thanks to a few people who contributed code (Premek Truska and @kbrandwijk)!
This release notes page serves as an overview of important new features and changes since Blender 2.79. Since the manual has not kept pace with development, you’ll find documentation on the new features in past release notes. This is being worked on.
Don’t be surprised if you see the words “Exportable Collection/Object”. That name was later changed to “Root Collection/Object”. Read more about that change here.
The feature is activated by very specific uses of Collections and parenting instead of checkboxes and buttons, so read the tutorial on how to take advantage of this powerful new feature.
Optimize
checkbox) is set) takes almost no time at all, even for large .objsInclude In Export
, Export Mesh In Layers
for being redundant and brokenAgain, thank you so much to everyone who uses this addon and sends screenshots and bug reports and e-mails and forum posts and stories of all the great things you’re making. X-Plane wouldn’t be X-Plane without talented people like you making the world real with Blender and XPlane2Blender!
The post XPlane2Blender v4.0.0-rc.1 appeared first on X-Plane Developer.
]]>As always make backups
Unless something’s gone wrong, this is rc1!
The post XPlane2Blender v4.0.0-beta.3 appeared first on X-Plane Developer.
]]>As always make backups
Unless something’s gone wrong, this is rc1!
#570 is fixed for anyone who was bothered by this. Yes, even the small bugs matter to me I swear!
Once confirmed that these have gotten the fix, we’re at rc.1!
The post XPlane2Blender v4.0.0-beta.3 appeared first on X-Plane Developer.
]]>As always, remember that this is a beta, so make back ups!
The post XPlane2Blender v4.0.0-beta.2 appeared first on X-Plane Developer.
]]>As always, remember that this is a beta, so make back ups!
Old Name | New Name |
---|---|
Exportable Roots | Roots |
Exportable Collection | Root Collection |
Non-Exportable Collection | Organizing Collection |
Exportable Object | Root Object |
Non-Exportable Object | Object |
Our bright and shiny new fun feature is here! Automatic Lights (also called WYSIWYG lights) replaces Named and Param lights. It fills out parameters and aims directional lights for you in the most efficient way possible! No more doing math by hand, no more reading the lights.txt file, no more being scared to experiment! The UI guides you and prevents mistakes! Automatic lights are the new XPlane2Blender default light. Download this example to see many different uses of this feature!
We’ve tried to make this as intuitive as possible, but just in case you’re not sure what fills in what parameter, see this table:
Blender Property Used | PARAM NAME |
---|---|
Light’s color picker | R, G, B |
XPlane2Blender’s Index property | INDEX |
XPlane2Blender’s Light Size property | SIZE |
Spot Light’s Rotation (in any mode) | DX, DY, DZ |
“Omni” if light is a POINT else Spot Shape > Size | WIDTH, DIR_MAG |
XPlane2Blender’s Flash Frequency property | FREQ |
XPlane2Blender’s Phase Offset property | PHASE |
Any other parameter found in lights.txt can’t be changed in Blender.
Please send me pictures and stories of what you’re trying now that the light system is more easy! I can’t wait to see more sparkling lights across the skies and airports of X-Plane!
The post XPlane2Blender v4.0.0-beta.2 appeared first on X-Plane Developer.
]]>Download it from GitHub!
As always, make backups!
Well folks, we are finally feature complete, very stable, and as bug free as we can be at the moment! This update was for some small bugs and to wait and see if there would be feedback on alpha.6. Read More
The post XPlane2Blender v4.0.0-beta.1 appeared first on X-Plane Developer.
]]>Download it from GitHub!
As always, make backups!
Well folks, we are finally feature complete, very stable, and as bug free as we can be at the moment! This update was for some small bugs and to wait and see if there would be feedback on alpha.6.
Sorry for keeping XPlane2Blender in Alpha for so long. I develop everything with the knowledge that the artist community will jump on the latest and greatest as soon as it is out there and strive for the greatest possible quality at all times. In the future I think we’ll not use the label as much. It caused a lot of concern about whether or not it should be used, even when it was quite ready.
XPlane2Blender is developed using Blender 2.80 because some Linux Distros are slow to update Blender, and some people are slow to update Blender versions. If you are using Blender 2.82 it should work, but, tell me how it goes. I haven’t heard anything bad yet.
As always, please report any bugs you find and thank you for using XPlane2Blender!
The post XPlane2Blender v4.0.0-beta.1 appeared first on X-Plane Developer.
]]>As always, make backups! This includes making backups before saving a 2.79 file in 2.80. There is no going back from that!
This release includes the last must-have feature for 2.80 – LODs. Read More
The post XPlane2Blender v4.0.0-alpha.5, aka LODs appeared first on X-Plane Developer.
]]>As always, make backups! This includes making backups before saving a 2.79 file in 2.80. There is no going back from that!
This release includes the last must-have feature for 2.80 – LODs. For those who haven’t used LODs before, it stands for (Levels of Detail). It is a way of defining what to draw when the camera is a certain distance away from an OBJ. In XPlane2Blender we call those ranges “buckets” and put Blender Objects (meshes, lights, armatures, empties) “inside them”. For instance, suppose an OBJ of a hanger with 2 defined ranges (buckets) 0 to 200 and 200 to 400. It has two meshes “HangerDetailed” (bucket 1) and “HangerLowPoly” (bucket 2).
When the camera is close (0 to 199 meters), only the “HangerDetailed” mesh will be drawn. When it is far (200 to 399), only “HangerLowPoly” will be drawn. At 400 meters and above, nothing will be drawn. This is very useful for increasing the performance by not drawing what is too far away for the pilot to see.
There are two styles of Level Of Detail: Additive (where every bucket starts at 0) and Selective (where the end of one bucket and start of the next are equal (see example above)). Use one or the other depending on what you need to draw when; don’t mix between them.
Using LODs in XPlane2Blender is very easy: Define the ranges (buckets) in the OBJ settings, and tell Blender Objects which buckets they should go in.
“LODs Mode” is considered On
when you have specified a number of LOD buckets in the OBJ settings.
This means that:
[Picture]
The LODs feature works just like 2.79’s Layers Mode LODs, with a new time saving feature and some very small backwards compatibility notes.
In this picture HangerDetailed has its “Override LODs” checkbox checked,
and has been placed into bucket 1. Its child, WindowDetails, will
automatically be placed into bucket 1 too.
An Object’s LOD choices will only be used if “Override LODs” is checked.
The idea is that just a few objects in the Blender Hierarchy will need to override the LOD choices, and old projects can be quickly reorganized to take advantage of this new feature. Inheritance will greatly reduce data entry.
There are only a few differences from 2.79 to be aware of
Backwards Compatibility Concern | Resolution |
---|---|
In 2.79 “No buckets chosen = Write to every LOD“. In 2.80 “No buckets chosen = Object not written“ | Use the new feature to quickly specify which objects should be in all buckets |
2.79 Layers Mode projects did not have an “Override LODs” checkbox, LOD choices hidden | Your old choices are remembered. Use the new Override LODs feature to quickly get the OBJ correct again |
2.79 Root Objects Mode used layers 1-4 to put Objects into buckets | Quickly restore your project like this: Make an Empty for each layer used, override the Empty’s LOD buckets, and re-parent the objects so that all Objects are in their former buckets. If an object was used on more layers, make more empties to organize these cases |
For mistakes like not starting the first bucket at 0, having gaps or overlaps between ranges, and etc, an error will be emitted in the log.
Many thanks to all the people who e-mailed me and helped me design the new LOD feature. This is an alpha feature so if the overall response is “this isn’t doing what we need” it can be ripped out, but, I think it will meet expectations. Also, especially tell me if it difficult to take a 2.79 project with LODs and make it work again. The goal is that it an artist should be able to do it in about 5 minutes without the use of an updater for most projects.
I’m so glad to be working on a project with users who are very willing to send in good bug reports and great constructive feedback and criticism! Very refreshing! As always, if something goes wrong write a bug report (preferable) or e-mail me!
The post XPlane2Blender v4.0.0-alpha.5, aka LODs appeared first on X-Plane Developer.
]]>As always, make backups!
Over the past month people have reported to me all sorts of weird things:
The post XPlane2Blender v4.0.0-alpha.4 appeared first on X-Plane Developer.
]]>As always, make backups!
Over the past month people have reported to me all sorts of weird things:
And the only cure was to apply all transformations or restart Blender!
Thanks to your bug reports and e-mails I was able to track down the source: all these problems were facets of the same bug!
To make a long story short: I have a fix for XPlane2Blender, but other Blender exporters and users may not be so lucky. I’ve filed a bug with Blender itself, but that is nothing to worry about for X-Plane artists.
Please continue to send me your bug reports! I do read every one of them, even if I don’t get back to you right away.
The post XPlane2Blender v4.0.0-alpha.4 appeared first on X-Plane Developer.
]]>