Engine Features Preview 8/20/2015

We’re excited to share a few of the new features now available on the Master branch on GitHub. To be able to try out these new features, you will need to download the source code for the Master branch and build the Engine yourself. For more information about how to build the Engine from source code, please see this page. The Master branch on GitHub is constantly being updated and is not quality tested so it may be potentially unstable. We do not recommend using the Master branch for project development. If you wish to wait, these features will be made available to all in an upcoming official release.

Engine News

New Features

Color Picker Update

The color or texture you pick/make in Photoshop should now be identical to the color or texture in the engine rendered by UMG/Slate. Similarly this should also be the case in the scene, if you were not running the tone mapper in an unlit environment.

There is a new advanced property on textures, “Use Legacy Gamma”. All existing textures will maintain their sRGB space as Gamma 2.2, as to not invalidate all DDCs everywhere. Unchecking that will change your textures if set to bSRGB=true, to use the new sRGB conversion and not Gamma 2.2.

Also here’s a shot of the results after I used the eye dropper on the color picker to pick the color in Photoshop, to tint some text in UMG, I get the same orange!

-Technical Jargon-
A lot of places in the engine assumed a Gamma 2.2 space when converting from a Gamma space color or texture to linear space. The problem with that, is that the color you’re viewing is likely not in Gamma 2.2 space, it’s in sRGB Gamma space. So when we finally go back from linear space to sRGB-IEC 61966 space we use on the GPU, the color you put in, wasn’t the color you got out. Now we do sRGB-IEC 61966 -> Linear -> sRGB-IEC 61966. If you use the eye dropper on Mac in the color picker, we assume a Gamma 2.2 space when converting to linear, as that’s the expected final color space of your render on that platform.

Pivot Offset feature

New for 4.9 is the Pivot Offset feature which allows a custom pivot point to be set for any actor. This is a more version of the now-deprecated PrePivot facility which used to exist for Brushes.


The pivot can now always be moved (in any viewport) with Alt+MMB, and set as the Pivot Offset for an actor via the Pivot submenu in the viewport context menu. This is an editor-only property, and doesn’t affect the actual transform of the Actor in the way that the Brush Prepivot used to.

These actions can of course be bound to keypresses in the normal way:

unnamed.png

Spline Component Improvements

SplineComponent has had new features added, the biggest of which is the ability to specify arbitrary scale and rotation at each point, as shown above. The spline visualizer has had several bugs fixed, and has been improved to offer the ability to edit these new properties. Scale and rotation visualization needs to be turned on explicitly via the right click context menu:

The API has also been improved, implementing missing features and new functionality. All methods now take a ESplineCoordinateSpace value which specifies whether the values are intended for use in local or world space. This vastly simplifies the Blueprint editor context menu as a single function now replaces two functions from before. The old functions remain available but deprecated.

AllowSplineEditingPerInstance is deprecated as it was confusing some users - now the default is that all splines are editable, unless the component is in a Blueprint whose User Construction Script sets the spline up itself. In this case, the spline is visualized in a ‘read only’ mode.

There have also been a number of runtime performance improvements (notably when constructing a SplineComponent).

Blueprint Node Alignment


We now support a set of alignment functions for blueprint graphs - obsess over your blueprint node alignment no more! All standard bounary-alignment functions are available, along with 2 distribution functions to evenly space the selected nodes vertically and horizontally.

These can be optionally bound to keyboard shortcuts inside Editor Preferences / Keyboard Shortcuts / Graph Editor, for further workflow improvements

This was a wild ride and it went something like this:

  1. OH GOD NEW TONEMAPPER FINALLY PHOTOSHOP WILL SHOW CORRECT RESULTS BUT OH GOD IT’LL BE SO PAINFUL CONVERTING EVERYTHING TO IT!
  2. Neat. Still waiting for proper fbx pivot import
  3. Meh, until they add custom collision channels to landscape splines I don’t really care.
  4. OH-MY-GOD FINALLY! GADFADSFDFAF HNNNNNG!

DX12?
VS2015?
Material layer LOD’s?
Blueprint Runtime Performance optimization?
Distance Field Shadowing (UE-11848)?
VR Project settings?
DirectInput Device support?

The color picker is cool and all, but if the Feature Preview list included all of the above, I wouldn’t live much longer as I would have a heart attack from the excitement of it.

  • DX12 is in 4.9
  • Blueprint Runtime Performance optimizations are quite advanced, there are constantly added really big commits to the master branch which add functionality to the Blueprint->C++ converter which will make blueprints super fast
  • Distance Field Shadowing (or more exactly the DFAO which uses same data) was already greatly improved for 4.9

DX12 is experimental in 4.9. I didn’t know about the DFS, ty. Other than VS2015 + DirectInput devices, the rest are on the roadmap, however, DX12 has been on the roadmap for, well… since DX12 was announced :wink:

DX12 is experimental, but I think we can expect it to need at least one year until the engine fully makes use of all DX12 features. It’s just a lot of work to adjust the renderer for DX12.

Am I the only one excited for the Blueprint node alignment??? OCD!?

Oh wow, I am really excited about all of these changes; I mean, a colour picker that picks the right colour?! That’s amazing!! :stuck_out_tongue:
Seriously though, high fives all around for pivot tools and blueprint alignment!

Pivot Offset!

And orange now is orange!

:wink:

Physical materials in materials function? It’s an old request

Awww man, those new spline features are awesome! I’m curious, is it based on the improvements the Space Dust Studios guys have made for their game? (See here: [TUTORIAL] Create a procedural spline road tool in blueprints 4 part video series - Community Content, Tools and Tutorials - Unreal Engine Forums )

Most importantly: will this include improvements to SplineMeshComponents as well? At the moment they suffer from gimbal lock problems, which could probably be avoided if they used quaternion rotation as described in the post linked above. I would very much love you guys if this fixes that :slight_smile:

Has the Oculus DK2 functionality been fixed in this build or will it be in the 4.9 final release?

As of 4.9.3 preview the DK2 has been broken since 4.8 came out for most people - Epic has acknowledged the issue and said it was fixed internally but they haven’t given a public release date for the fix as far as i know but this is a major issue.

Great stuff, specially the pivot and bp alignment, and the splines, and the color picker too :D.
Can we store the pivot change to be used for all the instances as default pivot? This is only for actors, could be used for Meshes?

will the pivot changes be stored in the fbx of the model it came from? It would be quite annoying to have two sets of pivots, one for 3d app and one for UED.

I’ve been updating my spline component code to 4.9 and noticed I couldn’t select individual spline points. I gathered it was to do with the above quote. My question is how do I take it out of read only mode? I am currently calling c++ code via a blueprint node within the blueprint’s construction script.

Awesome stuff! Pivot offset is a lifesaver- saves so much time going back and forth from maya to change pivots!
Also love the BP align features!

Can’t wait for hair/fur shading on the roadmap- hopefully it comes with 4.10!

Amazing. Making changes to spline points to set Scale and rotation is a cool feature. And yeah ! Blueprint alignment and color picker changes will be a great time saver.

Thanks for the update!
Any plans for hardware cursor support?

The new spline features are amazing. I wish I hadn’t been so impatient that I added array-based manual tweaking of scale and rotation for my spline-built actors, as now I’ll have to go back and refactor that stuff (since using editor widgets for tweaking is obviously superior)

I suppose the real question now is the degree to which these functions work with existing nodes; when getting the world rotation at a spline point, does the new spline up direction factor in? Do these additions play nice with nodes like Set Start and End for Spline Mesh components (if the spline itself is being used to construct a series of spline meshes along it)?

This is all great, but… What about the feature that will read my mind and construct the game? I thought that was going to be in 4.9. <pfft> Looks like I’ll have to wait for .10!!!