Engine News 6/11

Hi !

is a preview of features that we are implementing in a future binary release and is available on GitHub now for source users.

Engine News

New Features
Spline Components

We now have the ability to** edit** Splines directly in the world!
By simply adding a Spline Component to your Blueprint and selecting an instance of that BP, users gain access to editing splines within their levels.


Click on keys to select them.

  •      Use the **translate widget** to move them around (the ‘tangents’ are automatically updated by default).
  •      **Alt-drag** with a key selected to add a new one.

If you want more control:

  •      Use the **rotate widget** to rotate the tangents.
  •      Use the **scale widget** to extend them.


You can also right-click on a key to get a context menu:


If you want, you can also construct the spline inside your Construction Script using the AddSplineWorldPoint and SetSplineWorldPoints functions.
You can of course use your Spline within your Construction Script. Here is an example placing meshes equally spaced along it:



In addition, we now have **SplineMeshComponent **support!
These are already used by the landscape system, but now you can use them in Blueprints.
It is a lot like a regular StaticMeshComponent, but you can specify a start and end location, tangent, roll and scale, and it deforms the mesh between those points.
Helper functions have been added to make it easy to add **SplineMeshComponents **between the points of a SplineComponent.



Unlike SplineMeshActors in UE3, collision should work on these deformed meshes.

Movable Sky Light
SkyLights can now support the Movable mobility setting!

  •       type of light supports dynamic scene changes.
  •      It gets shadowing from SSAO and a new  called Distance Field AO. 

Distance Field AO
computes AO from Signed Distance Fields which are used to represent the static meshes in the scene.
The static meshes can be moved at runtime and the AO will update.


With Distance Field AO



  •      Added a checkbox to toggle the display of the grid on/off.
  •      Added a manager to queue and process My Project requests, and added a cool down. State is now polled.
  •      Added PlatformInfo to DesktopPlatform and improved the editors Supported Platform UI.
  •      Re-added support for custom categories in the Project Browser.
  •      **Geometry Mode**
  •       Brush wireframe is now rendered stippled when behind objects when being moved.
  •      **Content Browser**
  •       Added content browser buttons (find in, use from) to animation blueprint selector in skeletal mesh details panel.
  •       Added the concept of a primary asset editor to the asset toolkit manager.
  •      **Material Editor**
  •       Nodes which are deemed to have previews with no particular value are now auto collapsed by default.


  •      Added blueprint events for montage blending out/ending.

Both Spline component and Distance Field AO look amazing! I wish AO worked with skeletal meshes too though. :frowning:

Awesome stuff as always!


I don’t suppose the 4.2 prerequisites work with the latest () code, right?

Looks great!

Can the spline actors be instanced?

Ah, splines. A shame they can only be edited in the world editor and not in the component editor, I thought I would finally be able to scrap my hack-of-a-solution of using the component’s children as nodes. But on the other hand, the SplineMesh components look yummy! Since they take two position/tangent pairs, it should be quite easy to plug them into my existing solution in the constructor script.

Where can I find more about that new AO technique? Is it voxel-based?

Very nice Stuff, thanks Epic! :slight_smile:

Only question I have since I joined: how can I efficiently merge those things into my current dev branch? Let’s say I wanna get the SplineComponent stuff over from Epic_Games/ to rubenst/4.2-develop ? Or later the code migration from 4.2 to 4.3 and on?

So far Git always gave me trouble and nothing I tried worked, so I started fresh on the new version and ported my stuff in manually. Our own code additions are getting larger and larger and soon a start-over via manual port is no longer feasible. Any suggestions how to do these tasks?

Git : ::
Perforce : :cool:


Very nice. But yeah, the way projects are updated to new engine versions need more attention.

[= ;73245]
Distance Field AO
computes AO from Signed Distance Fields which are used to represent the static meshes in the scene.
The static meshes can be moved at runtime and the AO will update.

Is in the 4.2.1 release? If not, when will it be available?

Everything from Engine News will be in 4.3

More info on the Distance Field Ambient Occlusion mentioned

, FYI your forum Developer Title is not bolded/colored like the other devs. :slight_smile:

I have a question about using the splines for things like railings, where there are multiple meshes used along the length… Are the meshes batched together for rendering or is each instance along the spline it’s own drawcall the same as if it were individually placed?

If it is multiple drawcalls then I can see things getting our of hand quickly.

Can we get a higher resolution screenshot of the blueprint please? I’m try to figure it out but i’m unable to edit the spline inside the world editor.

Hey , looks great!

Is there still work going on to make a “Road Tool” using the spline editor? I heard it mentioned during the twitch stream sometime in the last couple weeks.

If not, would it be difficult to set it up on my own? Just wondering how much work would be needed to do (the part I am most curious about is in not stretching the texture as the spline gets longer, but automatically tiling it along the spline instead). I’m sure it is not overly difficult to get a basic tool working working by editing the tiling after the road is placed, but just thought I’d ask. Thanks!

Could it be possible to control the spline components in runtime? By that i mean - would it be possible for a player to manipulate with object splines in-game?