3D Studio Max Unrobotic Unreal Engine toolset: 4. UE4 World

Asset management and exporting is only half of the Unrobotic UE4 toolkit. Another ability of the tools is to lay out your levels in 3D Studio Max and then bring that into the Unreal Engine quickly and easily (and vice-versa). To help with level layout, the toolkit provides two object types - UE4 World and UE4 Object. This section takes a look at the former.

UE4 World

The UE4 World object is a representation of an Unreal Engine level/world that is placed in your scene in Max. The helper object can be considered the center of the world, or [0,0,0]. Let's open the example scene Practical Example - Level Layout.max provided and take a look at what's in it:

Thumbnail

The UE4 World helper can be seen above at the centre of the level, represented by a wireframe sphere and an arrow showing 'forward' in the Unreal Engine (right in 3ds Max). As with the Export Node previously, clicking the object will bring up its properties. Here's a quick look through the important ones:

    • Path
      The Unreal Engine path to the level that this world represents. You can press ... to browse via the file browse dialog,
       
    • Content
      The file path to the Unreal Engine project's Content folder. This can be an absolute path, or relative to the opened Max file. You can press ... to browse,
       
    • Source
      The file path to a folder containing all your project's (or the level's) Max assets. Can be relative to Max file or absolute,
       
    • Use as a world center
      Toggle whether or not the UE4 World is treated as the center of the world/level.
       
    • Include world in copy
      If the world path points to a static mesh, also copy that when transferring to UE4,
       
    • World objects
      A list of objects considered part of this world. Clear will clear all world objects in the list from the scene and remove the associated UE4 Objects. Copy will copy the world objects to the windows clipboard ready to paste into UE4. Paste will take a UE4 clipboard full of static meshes and put them into the Max scene,
       
    • MAX Scenes
      A list of max files that the UE4 World knows of. This is how the paste feature will know which assets to show in the Max scene. Pressing Refresh will refresh the list if the Source property has been changed.
    Thumbnail

    Transferring into Unreal Engine 4

    The main function of the UE4 World is to allow you to synchronise your scene between Max and UE4. It does this via the windows clipboard. In the example scene above, selecting the UE4 World object and then pressing the Copy button in the node's command panel will place 25 static mesh actors into the UE4 clipboard. The example Unreal Engine project provided includes pre-prepared level called BlankLevel. This level is clear apart from some preset lighting. Opening this in the Unreal Engine and selecting Edit->Paste, or pressing CTRL+V will place these 25 actors into the world:

    Thumbnail

    The pasted actors all contain correct references to the SM static mesh assets that were previously exported from 3D Studio Max using the Export Node tool. Actors are all positioned, orientated and scaled correctly.

    This world transfer goes both ways. Another included example scene demonstrates this following the steps below:

    • Copy the static mesh objects in the Unreal Engine,
    • Switch to Max and open the Practical Example - Level Layout (Empty).max example,
    • Select the UE4 World object in the middle of the scene,
    • Click the Paste button in the UE4 World command panel.

    This results in the static mesh actors from the Unreal Engine clipboard being recreated in the Max scene. A UE4 Object is created for each static mesh actor and a visual representation (based on the Export Node scene) is xrefed into the viewport. This xref mesh moves with the UE4 Object and can be updated or refreshed if the asset Max file is changed:

    Thumbnail

    You can freely transfer back and forth between UE4 and Max. Two utility macros are also included that can be mapped to the menu, keyboard or toolbar that make this step much simpler:

    • Copy objects from the scene to the UE4 clipboard will find the first UE4 World object in the scene and copy the objects to the clipboard. This has both the advantage that you don't have to select the UE4 World object and scroll the command panel, and that it respects the current Max selection. For example, selecting just the platforms and running the Copy Objects macro would only copy said platforms to the clipboard,
       
    • Paste objects into the scene from the UE4 clipboard as with the Copy macro, the Paste objects utility will find the first UE4 World object and transfer the UE4 clipboard into the scene.

    Multiple worlds in a single scene

    When you create a scene with a number of UE4 World objects, layers are used to determine which UE4 Objects belong to which UE4 World. If a world instance is on the default 0 layer it will assume all UE4 Objects in the scene (regardless lf layer) as being part of the world. If a UE4 World object is on a custom layer it will only consider other UE4 Objects on the same layer as belonging in that world. UE4 Objects can be parts of multiple worlds.

      Ignoring specific objects

      You can provide specific UE4 Objects that the world should ignore via ignore_ user-defined properties. For example, if you wanted to make sure an object called box01 was not included as part of the world, you would add the following to the world's user-defined properties:

            ignore_box01=true

      You can use either the object name, or the custom name you have provided in a UE4 Object's properties.

      ← 3.The Export Node 5. UE4 Object →

      3D Studio Max Unrobotic Unreal Engine toolset


      Part of the '3D Studio Max Unrobotic Unreal Engine toolset' series. A release of the internal tools that I've developed over the years for working with Unreal Engine and 3D Studio Max

      Who I am

      I'm Blake and I like to tinker with things and make stuff. When I'm not programming or developing random systems, I'm playing with electronics, doodling bits of art, 3D modelling or sculpting and painting things or nerding out watching sci-fi or horror TV.

      From 2001 I worked in the games industry, eventually specialising in tools to aid in the development of video games and their engines. In 2011 I left the industry and teamed up with a few other talented composers to utilise my knowledge to help build the company 'Spitfire Audio'.

      I also periodically compose soundtracks for video-games and have worked on titles such as The Stanley Parable and Portal Knights. You've probably also heard my music in random TV commercials at some point.

      What I'm using to make games

      Nowadays I tend to utilise Unreal Engine 5. I use a mixture of (mostly) C++ (Visual Studio 2019, Rider) and Blueprints.

      I work with Autodesk's 3D Studio Max to generate the art required, and Adobe Photoshop or Paintshop Pro 6 for texturing. I also dabble with Allegorithmic's Substance Designer/Painter for more realistic texturing work.

      I tend to generate tools in Python, C++ or NodeJS depending on what's needed.

      Audio-wise, I still use Cool Edit Pro and FL Studio to generate sounds and music respectively.