More Pages:
UI3 Overview
UI3 Get Started
3.2 UI Settings
3.2 UI Design
Features /Preview
Edit & Info Mode
UI3 Blueprints
UI3 Game Modes
UI3 FAQ
UI3 Bugs
UI3 Versions
UI3 Edit And Object Info Modes
The Variation Actor is the connection between the UI3 and the objects that should be interactive in your scene and can
- change meshes and or their materials
- interact with any other blueprint using a blueprint interface
The Object Info can display information and the price of an object.
Content:
Video Tutorials
Three parts of the Video Tutorials are about the use of the Variation Actor and the UI Features related to it.- Part 4 - Design Schemes
- Part 5 - Variation Groups
- Part 6 - Object Interaction
This video is part 4. Click on the link below to watch the entire playlist.
Variation Icon Colours
The blueprint actor SDotUI3_Variations lives in the UI/Blueprints folder. The icon colour will change depending on what the actor is set to do:- Green - Material variations.
- Blue - Mesh and material variations.
- Dark Green - Child of another actor
- White - Not part of the Design Schemes
- Orange - Parent only, calling interface
- Red - Indicates a possible wrong setting
Variation Settings
> Variation Settings | |
Default Variation ID | The current ID, and default ID when the app starts. |
Use For Design Scheme | weather be used by Design Schemes
|
List Name | The name used in the UI Menu and in lists. |
List Room ID | Room ID as defined in the Floorplan section of the Info Map. Is only used in printed lists. |
> Actors | Add an array element for each actor in the scene that should be affected by this Variation Blueprint. |
ID 0, 1, 2 ... | Use the eye dropper to pick a mesh placed in the scene. The mesh needs to be in the same level as the Variation Actor. This is called a soft reference. |
Note: | You can use the Parent/Child functionality to trigger Variation Actors in other levels |
> Variation Names | (Optional) add an array element for each variation. |
ID 0, 1, 2 ... | Enter Variation Names here. Linked to the
index of either the Materials or Meshes array. |
> Variation Groups | This section is used by Variation Groups |
Feature ID | The ID of the "Feature with Preview" array. |
> Variation ID | array of options used for this Variation Group |
Index [0] | add the Variation ID of this Variation Actor that should be used for Option [0] of the Variation Group in the Feature with Preview array. |
Index [1] ... | Variation for Option ID [1] ... |
> advanced display | |
Current Var ID | This is only an information for debugging |
Child Actor | This variation actor is listening to changes from another variation actor and will change with it. |
Parent Only | The actor only sends a message to other variation actors to change. Only needs Variation Names to be filled in. |
Call Interface | The actor will call the BPI_UI3_Interaction Blueprint Interface. Other actors with the same Tag and Interface can respond. |
Tag | This tag links the children to the parent and is sent to blueprints connected by the interface blueprint. |
Box Scale 3D | Scales the collision box that appears when the actor is set to Parent Only. Use the box to define the area the actor can be selected. |
Box Location | Offsets the collision box. |
Mesh with index [0] will have the material and name with index [0]. And so on.
You have to enter a mesh or material for every array element as soon as you add one element to the array. There can't be a different number of array elements in the material and mesh array. Otherwise the UI feature won't work proper.
Variation Materials
> Variation Materials | |
> Materials | Add an array element for each set of material variations for the specified ID. |
Material ID | The material ID on the mesh. There might only be one material (ID 0). |
> Material Variations | Add an array element for each material variation. |
ID 0, 1, 2 ... | Add the material for each variation. |
Note: | The mesh might have multiple materials (IDs). Add a Material Variation array for each material index (ID) you want to change. Every Material ID needs to have the same amount of Variations set up for it. Duplicate materials if necessary. |
> advanced display | |
Default Material | This will display the original material of the first mesh actor that was added to the blueprint. For recovery if necessary. |
Video: Mesh Variations
Part 6 of the video tutorial has an example on how to use the Variation Blueprint to change static meshes.Another example explains how to set up the Variation Blueprint to trigger a spot light on and off.
Variation Meshes
> Variation Meshes | |
Show Source Mesh | Show or hide the original source mesh. In game the source mesh will always be hidden. |
> Meshes | add an array element for each mesh variation. |
ID 0, 1, 2 ... | The meshes per variation ID. |
Note: | Put any materials different from the meshes default material into the Materials array above with the same ID as the mesh variation. You need to enter materials for all mesh variations if you change the material of one of the variations. The mesh might get the wrong material assigned otherwise. |
> Mesh Transforms | Add an array element for each mesh variation that needs to be transformed to match the position of the source mesh. |
ID 0, 1, 2 ... | Optional transform for the mesh variation with the same ID. Leave any IDs to default if the mesh doesn't need to transform. |
> advanced display | |
Default Mesh | This will hold the original mesh if you change your mind and decide to leave this meshes unchanged. |
Variation Info
> Variation Info | |
Show Info | Weather to show the Object Info section above the variation list. |
> Object Info | add an array element for each variation. Use only the first ID [0] if all variations will have the same Info. More in the Object Info section |
Note: | Leaving the price in the Object Info 0.0 will hide it. The currency symbol is taken from the Info Map. Prices in the Price Array will override the price in the Object info for cost calculations. |
Use Price Array | Weather to use prices from the Price
Array instead of the Object Info. The price will be displayed
next to the variation name. |
Price Group ID | The ID of the Price Group that can be set in the Price Group array in the Info Map. |
> Price Array | Add an array element for each mesh variation |
ID 0, 1, 2 ... | Add the unit cost for each variation ID (optional) |
Units (Amount) | The amount of objects (4 chairs) or the size of the object (25 m2) |
Units (Type) | (optional) the unit type like m2 or square inches |
Object Info Blueprint
The Object Info can be part of the Variation blueprint or it can be set with the BP_SDotUI3_ObjectInfo blueprint actor. This works similar to the variation blueprint. Place an instance of the blueprint into the same level the mesh is in. Then connect the two through the Actor array.The image shows the object info as part of the variation actor. Use the Object Info Feature for objects that have no variations.
The price can be displayed next to the variation name by entering it to the Price Array and ticking the box to use this array.
> Object Info | |
Actors | Use the eye dropper to connect mesh actor(s) to the blueprint |
> Object Info | This contains the object information |
Object Name | A name for the object, preferable the exact item name from the manufacturer |
Object Text | A description of the item |
Object Image | Use a simple texture of an image. Set the compression type to UI (no compression) |
Brand Icon | Use a simple texture of an image of the brand icon. Set the compression type to UI. |
use UI Colors | for the brand icon. A black and white texture is required for this to work. |
Price Group ID | (optional) Set the price group this item has in the estimated cost list. |
Units (Amount) | The amount of objects (4 chairs) or the size of the object (25 m2) |
Units (Type) | (optional) the unit type like m2 or square inches |
> advanced display | |
use Collision Box | tick to use a collision box instead of connecting an actor. Useful for a mesh cluster or any other object that can't be connected otherwise. |
Box Scale 3D | the size scale of the box |
Box Location | the offset from the Info Actor icon. |
Restore Original Meshes
You can recover the original mesh if you decide to remove the Variation Actor from the scene. The proper way would be to:1) Select the tick box to 'Show Source Mesh'.
2) Set the 'Current Variation ID' to 0.
3) Empty the Mesh Variations array (click on bin icon)
4) Remove the Variation blueprint from the scene.
Press G on the keyboard to toggle game mode on. Search for 'Hidden in Game' in their details panel and deactivate it if they disappear when game mode is on.
Interact With Other Blueprints
The Variation Actor can trigger other actors. The video tutorial part 6 has an example of toggling a light on or off near the end.Another example is the Ceiling Fan. A 'Parent Only' Variation Actor sends the speed setting via the BPI_UI3_Interaction interface to the Fan blueprint. The Fan blueprint then changes the Fan speed.
> Variation Settings | |
Actors | Leave empty. Only Variation Names are required |
Variation Names | Add text here to Identify the Action or Variation |
Index [0] | Fan Off |
Index [1] | Fan Turning Slow |
... | |
> advanced display | |
Tag | 'Fan' - use the tag in both the Variation Actor and your custom blueprint. |
Call Interface | tick - to send a message when this actor will be used |
Parent Only | tick - there are no other actors that are changed in the scene |
Box Scale 3D | scales the yellow collision box that lets you select the variation actor |
Box Location | lets you offset the collision box. |
- Select the Class Settings in the top menu bar first, so it appears blue.
- Then add the interface BPI_UI3_Interaction to the blueprint actor on the right side.
- On the left side create the function by dragging it from the interface section into the scene and then choose to create it. Or right click the function and choose implement depending on the engine version.
- Make a condition for the Tag with the name Fan.
- In this case the variable Rotation Speed will be set with various values, depending on what variation ID has been messaged from the Variation Actor.
They both work the same way:
- First add the BPI_UI3_Interaction interface to the class settings
- Then add the Change Variation to ID event to the graph
- Check if the tag sent is the one set in the blueprint
- Add a switch on INT node and connect the actions you want the blueprint to perform for each of the variation IDs received.