Ondrej has posted a public thread about the new version of the Blender 2.7 exporter here.
The 3.3 release is the first release where we (Laminar Research) have worked closely with Ondrej to build what we hope will be one of the future cornerstones of modeling for X-Plane.
If you are currently using Blender 2.49 or AC3D, I expect that 2.73 will provide the best way forward for modeling in X-Plane.
New Stuff
The new release has a few major features, all aiming to create a new modern work-flow:
- All animation bugs are fixed. (At least,we think – if you find one, please report it ASAP!) This means animation is WYSIWYG. Armatures are supported for animation as well as animated data block containers.
- The exporter understands all modern OBJ features, including ones scheduled for release in X-Plane 10.50.
- Instancing is handled via a single option with exporter validation, so you don’t have to know how instancing works to get instancing.
- The material rules are validated, and materials are found automatically; you can simply model as you want and Blender will do its best to export it or tell you if there is a problem.
- Specular and Normal maps are ‘merged’ together from two separate sources. This lets you set specularity and normal maps in separate material channels in Blender for a more WYSIWYG approach. It also means no more messing with Photoshop to combine these layers.
The goal of many of these is to hide the idiosyncrasies of X-Plane’s modeling format and provide a cleaner, more artist-friendly view of modeling.
Regarding instancing: the model we have adopted is the one we used internally on the 2.49 exporter: you (the artist) tag an export as either “instanced” or not.
- If instancing is on, the exporter writes only data to the OBJ that will be hardware-instanced by X-Plane. If you do something that cannot be instanced, like animation, you get an export error telling you what you have to remove.
- If instancing is off, the exporter writes the object normally.
The win here is that you don’t have to know the (complicated) instancing rules; set instancing for the scenery objects you need to make fast in bulk (e.g. a luggage cart, a house, something that will be used many times in a small area) and you’ll get optimal output.
Optimization – Coming Soon
The goal of the 3.3 release was to set up an environment where authors could work using the new work flow. We have not finished optimizing the OBJ output.
If you are using the existing 2.7 exporter for airplane work, the output should be similar in performance. If you are using the 2.49 exporter, the new output is (like the current 2.7 exporter) not as well optimized.
In a future update, we will tighten up the generated OBJ code; this should not affect anyone other than producing better OBJs.
Compatibility
The new exporter should be fully work-flow compatible with the previous Blender 2.7 exporter; if you find your existing project does not work, please file a bug!
Our plan is to create a migration tool for Blender 2.49 projects; this will forward-convert the datarefs on annotations, manipulators, and object properties from 2.49 to 2.73 format. This lets authors using 2.49 move forward to 2.73 and have a migration path for existing content. (This work is not started yet, but is planned – we have our own aircraft we need to keep working on.)
I’d like to see an option where objects can generate shadows but are not rendered. In my “BD-5J Microjet” posted on x-plane.org, I have the pilot’s head disappear upon entering the cockpit. Unfortunately this also means the pilot’s head no longer makes a shadow on the wing when the sun is at the right angle.
I’d also like to see Blender “mesh animations” exportable so my pilot doesn’t have to have a segmented body with discontinuous clothing, but that’s likely a much bigger ball of wax.
Mesh animations are on our _long term_ road map, but it’s a big change to the X-Plane OBJ engine (and all exporters). I expect mesh animations will be one of the two big features of the next OBJ format (e.g. a major version change in the OBJ format from OBJ8, which we have been extending for almost a decade). The other big feature will be more than one UV map, which will allow things like more efficient application of light maps.
For the pilot’s head, a somewhat hacky work-around now: make a translucent (alpha = 1 part in 255) pilot’s head and set the shadow more to ATTR_shadow_blend with a very low cut-off.
Thanks! I’ll give the hack a try and see how it looks.
“more than one UV map..” …
-finally!
ahem.. any plans about implementing the Physically Based Rendering (for textures) in the xplane rendering engine? Not only visually it will be a huge blast of an improvement, but also it is an important future proof new rendering technology.
PBR is something I am looking closely at.
any news on 10.50?
Hello – and can I please ask about the Oculus Rift? Is there any news on Oculus Rift support?
I would also like to hear an update about the state of VR implementation. I tried DCS with the DK2 and was absolutely blown away.
What about two other obvious features for objects?
Object specific shaders. If I look at the hoops that the FF767 jumped through, that is obviously something that is requested.
Object reflections. Specifically for those glass terminal buildings that could really do with some dynamic reflections. I suppose this would also require adding a bag of trickery to the rendering engine to allow this with good performance.
Also nice to have good support in Blender. I don’t usually do modelling, but I do on occasion fix some things using Blender.
These are features of X-Plane, not Blender, e.g. these are things that the rendering engine could do someday.
I am working on rendering engine improvements – I’ll post about them when we have something definite.
We are very unlikely to add a “shader editor” where you can add either arbitrary shader code or complicated node editing (a la UE4). Much more likely is the shaders will continue to be a menu of options that you can pick from and tune with numeric values and input textures. My thinking is this: the set of effects artists are trying to create with aircraft are relatively uniform; I believe there are material models that could meet people’s needs. I’d like to try them before trying “just code your own.” The engines that provide shader builders exist in a very different ecosystem than X-Plane. So my focus is on a new material model that will let people do what they need to do.
I wasn’t really thinking of a “shader editor”. More like attaching a vertex/fragment shader in GLSL to an obj file in the same manner as adding a texture. But you’re right, that’s more a OBJ format/rendering engine thing and has little to do with the Blender exporter.
My workflow is 3dsMax 2015 —> Blender
The online things I have not found a good solution to is basically two things
1. Windows (transparent windows, tinted windows)
2. Lights (spot, flood, windows lights etc.)
Are any of such included in the new exporter? I.e any lights added in 3ds max exported as obj can be seen in blender and exported further? Or is “night texture” the only option
I think spill lights are supported now – the weakness is that the parameters must be entered by hand. If they don’t come over with 3DS, that’s sort of beyond the scope of the exporter. Similarly, translucent glass should just export – be sure to set the Plane-Maker flags appropriately.
Will the ability to import from x-plane be added back?
Some day, but this isn’t our top priority. We are looking at direct upgrade from Blender 2.49.