Game Dev

Architecture

ArchViz

ArchVizUI User Guide Pt.2


Part 2 of the user guide explains how to use the supporting actors for the ArchViz User Interface.

:: User guide part 1 :: Feature Overview

12 images :: Gold Coast :: Unreal 4 :: 2019


image

Setting up Object Colors and Color Schemes

The blueprint actor BP_SDotAssetGroup is used to set up Colour Schemes and additional Material Swaps in the project.

The first 2 or more materials are used for both swaps and schemes. Any additional materials will only be used for swaps.

Currently there is a maximum of 12 different materials that can be used in the list. Any more materials added will be ignored.

You do not have to add preview thumbs. These will be auto-created by the render stage. See further down for details.

image

BP_SDotAssetGroup

Colour Scheme Materials

  • 'Asset Group Name': This name will be displayed on screen.
  • 'Use with Color Schemes': when ticked the first choices will be taken when the color scheme is swapped.

    TIP: If you want to use other material choices then the first in the list for the colour schemes then untick this box. Set up another actor with the box ticked, put your choices for the colour scheme in there and move it out of the level. It will never be visible and will not show up in the list.

    > Asset Material Group - Add asset groups here.

    An 'Asset group' can be a single mesh or a group of meshes that will swap materials together. Let's say a couch set out of 3 elements. Now if you want the cushions on the couch swap their materials at the same time then just add another array element for them.

    Another case would be that your assets have more than one material that need to be swapped. For example the fabric and the frame of a couch set. (Remember you can copy/paste array's members)

  • 'Array Name': note for you only

    > Asset - Add an array element for each asset

    eg. 3 array elements if you have 3 couch elements. Then click on the eye-dropper and "pick" the asset with the mouse from your levels.

  • 'Asset Material ID': the material id of the assets for this group.

    > Material - the list of materials the user can swap to.

    If "Colour Schemes" are enabled the first entries will be used for them. material [0] will be used for colour scheme [0] and so on. Any additional materials will only show up in the "Individual Material Swap" feature.

  • image

    Is lit for scenario: Click the box here if a lighting scenario requires the materials to turn on the emissive for a certain scenario. In the example level the lighting scenario [1] is the night lighting.

    Use this only for materials like the shade of a lamp. I'll explain further down how to set up the material for this feature to work.

    image

    Colour Scheme Preview

  • Preview Mesh: Choose a mesh from the content browser to be used for the preview. This mesh will use the material from asset group array [0]. The mesh you use for the preview doesn't always need to be the mesh you actually use in the level. The default cube can be used for walls, etc.
  • 'Preview Rotation': adjust the rotation of the mesh if necessary
  • 'Preview Mesh Angle': adjust the viewing angle between top and front view.
  • 'Force ID0': this will force the preview mesh ID to 0. Useful if the material ID of the swap material is not 0 and you want to use another mesh for the preview (like the P_UI_Cube100)

  • image

    Switch Light On or Off in Materials

    With the materials changing on an actor the material used for lights needs to be able to have an 'ON' and 'OFF' state of the material. Unreal doesn't support static switches in run time but you can use this little node setup as a work around.

    This uses an 'IF' node and a scalar parameter. If the parameter named LightIsOn is set to zero the emissive will be zero. Any positive value will enable the emissive and the light appears to be on.

    The UI actor (light switcher or asset group) will set the parameter named 'LightIsOn' to '1' or '0' depending on the 'scenario tick box' being ticked or not.

    Use EXACTLY the name 'LightIsOn' as shown in the image here. There are a few materials set up this way in the example project.


    NOTE: the example shows the setup for a material function. Standard materials won't need the 2 red input nodes.

    imageimage

    BP_SDotLightMarker

    Left image:

    This actor is a simplified version of the BP_SDotAssetGroup. You can use it if all color schemes have the same material but the lighting screnario requires the light to have an on and off state.


    Right image:

    It works the same way as the SDotAssetGroup without the material array.


    image

    Swap Meshes

    This actor allows the user to swap static meshes in the scene. In the example project the stove can be replaced with either a induction or a gas version.

    This actor doesn't point to an existing static mesh in the scene. Instead it needs to be placed where the first static mesh choice is supposed to be. After adding the choice to the blueprint from the content browser you can align the blueprint with the mesh in the scene. All other mesh choices can be moved or rotated relative to the first one.

    You can add multiple instances of the choice, for example a set of 4 chairs. The user will then swap all the instances at once.

    The assets placed with this actor will be "dynamic". They are not part of the static lighting. They can be moved without having to re-bake the scene. This comes with a slight lack of visual quality.

    Watch example video ...

    image

    Swap Meshes

    Swap Mesh

  • 'Asset Name': Add the name that will be displayed on screen.
  • 'Default Mesh ID': choose the default in run-time and currently visible in editor.
  • 'Swap with Colour Scheme': Weather the first IDs will be used when the scheme changes.

    >Static Mesh Choices - Add mesh choices as an array element here.

  • 'Choice Name': This name will be displayed (optional)
  • 'Static Mesh': Choose the mesh to be swapped in.

    > Material' - Array of materials for the mesh. Array ID = Material ID of the mesh

    NOTE: To have different material versions for the same mesh you will need to create a mesh choice for each material. You can't swap meshes and then swap materials for those meshes)

  • 'Mesh Transform': relative location, rotation and scale for this mesh choice


    > Additional Copies - each array element you enter here will create an instance of the same mesh. They will start at the same spot as the original mesh. Use location and rotation to move them to their desired position (see example video)

  • 'Marker Offset': controls the rotating little stool's position.
  • 'Target Offset': controls the position of the target. It needs to be moved into the mesh. The visibility check will try to hit the target from the player's view (camera). If it hits another actor first before hitting the blueprint, the blueprint/asset is considered to be invisible and won't show up in the list. This may need a bit of practice to get right.


  • 'Preview Rotation': rotation of the mesh for the auto-generated thumb.
  • 'Preview Viewing Angle': tilt angle for the auto-generated thumb.


    NOTE: Large collision or trigger boxes can block the rays sent to check if the target is visible. Check for collision and triggers if your swap actor doesn't show up in the list.

  • imageimage

    SDot_Point

    Left image:

    This actor marks teleport positions the player can jump to. Place one for each jump destination.


    Right image:

  • 'SDot Location Name': This is the display name. It shows up near the floor plan.
  • 'SDot Loc Group Indes': Add one of the group indexes here that you set up in the SDot_LocatorMap.
    TIP: The list will be sorted by alphabet. You can use numbers in front of the name: 01 Living, 02 Kitchen, 03 ...


  • image

    BP_SDotRenderStage

    The render stage will auto-create preview thumbs for the Swap Materials feature. Place the actor into your level if you are using this feature.

    The render stage has no settings. it will render up to 12 preview images using the render to texture feature. It will do so every time the user switches to another asset group. It will take the preview mesh and materials from the active asset group and render the previews. The UI will then display the preview thumbs.

    Place the render stage somewhere far enough away from the playable area. It contains dynamic lights that would otherwise interfere with your level lighting.


    NOTE: if the previews have strange artifacts while playing the project check your fog or LUT settings or any related post process settings.

    You may need to extend or place a post process volume around the render stage if the thumbs look a lot different then the scene.

    Top of page :: User guide part 1 :: Feature Overview