Learning the Node Graphs of Human Fall Flat Work Shop

May 8, 2019

Human Fall Flat Workshop - Node Graphs

Learning the Basics

General Notes

- Can modify button actions real time and they will adjust (press, hold, toggle)
- For Connections:
    - Syntax
        - [GameObjectName : ScriptName]
        - InputType : NameOfInput
    - InputType is either Input or Output
    - Clumped GameObjectName and ScriptName means that script is attached as a component to that gameObject
- NG = NodeGraph
- Node outputs of "value"
    - generally means it's measuring some amount of something (usually normalized 0 - 1)
        - i.e. SignalAngularVelocity has an output of "value", which is a normalized measure of the amount of angular velocity the object currently has (currentVelocity / targetVelocity)

Nodes

- SignalUnityEvent
    - Call for something to happen, generally in another gameObject
    - Usually found at the end of Node Graphs
        - because they take other actions in as inputs to determine when to do an event
- SignalMathCompare
    - Has 2 inputs: in1, in2
    - Output is 1 if both inputs are equal (the same); Output 0 otherwise
    - also has an invertedOutput which is just the opposite out Output
        - 1 when Output is 0
        - 0 when Output is 1

Node Graph

- The Node Graph script itself creates entire Node Graph "shell"
    - This creates two nodes within itself:
        - Input Node: Only holds number of elements in the Inputs array Size
        - Output Node: Only holds number of elements in the Outputs array Size
    - At the higher level, it has both the inputs and outputs on its single node
- Other scripts can creates nodes within the Node Graph, but they will generally create a single node
    - This is different from the Node Graph script, which creates two nodes
    - These nodes hold their inputs and outputs in the same node
    - Examples:
        - Button
        - Net Signal
- "Up" in the Node Graph will move to the Node Graph of the parent gameObject of the current Node Graph's gameObject
- A Node's output generally goes to:
    - another node script within the same gameObject
    - node script within a gameObject that is a child of the current gameObject
- Changing Node Graph connections may not update in real time
    - It visually appears to be updating, but does not seem to actually take in change
    - Need to stop playing, edit node connections, then start play again

Building a Node Graph

- Start with an empty gameObject that just has a NodeGraph script
    - NodeGraph can have 0 inputs and outputs
- Create children gameObjects that will hold main NodeGraphs for this overall object
    - The NodeGraphs for these objects cannot have 0 inputs AND 0 outputs
    - They must contaion AT LEAST 1 input or output
    - Adding an input or output to them will make the node appear in the overall NodeGraph in the parent object
    - The internal NodeGraph (the NodeGraph of this specific child gameObject) will have separate input and output nodes
        - It will remove the corresponding node if you specify 0 inputs or 0 outputs

Comments

Popular posts from this blog

Online Multiplayer Networking Solution Tutorial Using Unity and Mirror - Tutorial by: Jason Weimann

Exporting FBX from Houdini with Color

Modding Monster Train - Patch to Allow for Adding Custom Units with Custom Syntheses