Human Fall Flat

Human Fall Flat

Not enough ratings
[NEW] Human Workshop: Editor Improvements and Node Graph System
By Mildred Bumble and 3 collaborators
This brand-new guide provides a summary of editor improvements as a well as giving you an overview of the features within the Node Graph System. It provides a node list and detail on custom visualization, real-time debugging, cheat nodes, the embedded inspector, custom visualization and general additions to the system.
   
Award
Favorite
Favorited
Unfavorite
Editor Improvements Summary
Drop Human – From the menu Human > Drop Human while in Play / Run mode, will teleport player to the location of the Scene View camera. This is incredibly useful for quickly getting to an area of your Level to test it out:

o First enter Play / Run mode.
o Then select the Scene tab in order to move the scene view camera to your desired location.
o From the menu Human select Drop Human to respawn the player at that location.
o Then select the Game tab again in order to carry on testing in Play / Run mode.

Find Signal Event References – In the Hierarchy, right click an object and select Find Signal Event Refs to list any Unity Event nodes that reference the selected object.
• Quick add Graph Node menu.
• Node Graph navigation up/down buttons.
• Custom Visualization for Graph Node types.
• Middle mouse wheel click to scroll.
• Selectable Graph Node colours.
• Comment Graph Nodes.
• Realtime Debugging.
• Track Selection.
• Edit node properties in node window.
• Snap to grid.
Nodes List
Signal Once – When input goes high, output 1 until it goes low. Then continue to output 0 forever (or until level reset).
Distance – Outputs the distance between two transforms.
Set Scale – Lerp an object’s scale between an initial value and a target based on input value.
Set Translation – Lerp an object’s translation between an initial value and a target based on input value.
Constant Value – Output values set in the inspector.
Cheat Node – See the separate section below.
Sound Control – Adjust volume, pitch and filter of Sound2 objects.
Range – Outputs 1 if input is between two given values. 0 otherwise.
Compare – Allows quality, greater/less than checks etc. on two inputs.
Unity Event – Trigger a Unity Event when input is high.
Clamp – Output input value clamped to a range.
Negate – Negates input.
Accumulate – Builds up the output value over time.
Checkpoint – Outputs the last loaded checkpoint.
Teleport – When the input is high, teleport the target object to target transform.
General Additions
• For clarity, nodes can be coloured in the graph by setting the node colour value on their Inspector:



• Comments can also be added to the graph by clicking the Add Comment button. The comment can by typed directly onto the graph:



• The middle mouse button can be used to drag/scroll the contents of the node window.
• Clicking Track Selection will automatically update the node graph window whenever a new node graph object is selected in the Inspector. This saves having to find and click the Show Graph button.
• Node graph objects have a down arrow button on them in the node window. Clicking this will open that graph. Clicking the up arrow on the left hand side of the window will navigate back up to the parent node graph.
Custom Visualization
Node classes can display custom information in the node title bar, rather than just the node class. This aids readability of the node graph. For example, here the InRange node displays the range it's checking for and the Combine node shows its combine operation:

To add these, expose a Title string property in the node class. For example:



public override string Title { get { return "InRange: " + rangeLow + "-" + rangeHigh; } }
Realtime Debugging
The Live Update button enables real-time updating of the node window. This can potentially be slow with very large graphs, so it’s disabled by default. With this enabled, input and output values will be displayed for all nodes, and these will update in real-time as the game is played. This aids with debugging and the development of your node graph logic.

Each input or output pin displays its value, and pins are coloured green or white to indicate whether their value is >0.5. The values and pin colours will change in real-time in play mode:



Cheat Nodes
This is a node that sits inline in a bit of the node graph. By default it just passes through whatever input it gets, but if you tick the Enable Cheat button on it you can override the value. You can label them for clarity, and the node graph will tell you which are on/off.

For example, I’ve added one to the cauldron puzzle here, which has an override value of 1. So when it’s off, the puzzle works normally but when the cheat is on it makes the key instantly:



The advantage of this is that you can just leave these in the scene and don’t need to rewire anything to test bits of the graph. In addition, they’ll automatically disable themselves in the actual game, so there’s no risk of making and publishing a level with test logic enabled.

To make sure you’re testing the level with all cheats off, the editor will warn on save if you’ve got any enabled:



The console will tell you which ones are enabled:



Embedded Inspector
You can access a node’s inspector directly inside the node window. Clicking the button on a node shows you its inspector like so:



The highlight shows you which node you’re editing. One additional advantage of this is that you can also now delete nodes in the node window, from the inspector:



Custom Visualization & Quick Add
The Quick Add Node drop down allows you to quickly create common node components. These will be added to the current Node Graph object:



To make new node types appear in this list add [AddNodeMenuItem()] to the desired node class.

3 Comments
269 1 Jun, 2021 @ 6:47am 
-rep
sk 20 Apr, 2019 @ 4:24am 
nice
76561198833808724  [author] 17 Apr, 2019 @ 5:01am 
Hi, if you join our new {LINK REMOVED} channel you'll be able to chat with thousands of HFF fans - {LINK REMOVED}. There is a dedicated WORKSHOP-SUPPORT section, which is the place to go if you need a little help and your question has not been answered by this guide. Head there to ask and get help from the community. Thanks.