Hyper Super Users Guide Behavior Grap Car
Hyper Super Users Guide Behavior Grap Car
Content
1. Create a new HyperSkill account
2. Download & Setup HyperSkill
2.1 Install HyperSkill Desktop/Mac
2.2 Open HyperSkill Online
3. Getting started
3.1 Terminology and concepts of HyperSkill
3.2 Basic experience structure of HyperSkill
4. Upload your vehicle model
5. Create Behavior Graph for Virtual Objects
5.1 How to author the behavior graph
5.2 The Components of a Behavior block
5.3 Specific Block Implementation
5.3.1 Initialization
5.3.2 Text
Show Log
5.3.3 Motion
Move Forward
Rotate By
Distance to Forward Obstacles
Horizontal Angle to Forward Obstacles
Vertical Angle to Forward Obstacles
Rotate Local Axis at Value
6. Create a new Simulation
6.1 How to create a simulation
7. Add Behavior Graph to the simulation
7.1 Add the vehicle to the 3D scenario
7.2 Add Behavior Graph through State Machine
8. Test the Behavior Graph in experience mode
9. Final Recommendations
10. Submission
1
20381 Lake Forest Dr. Suite B15 | Lake Forest, CA 92630
HyperSKill allows you to create an account with either a Google account, Apple account, or
simply just email. To create an account, go to https://siminsights.com and click ‘TRY NOW’.
● Use email to sign up: enter your email and password and click sign up. The username is
an email address that others may use to share assets and simulations in HyperSkill,
please make sure you can receive notifications through the email address.
● Use Google/Apple account to sign up: select the target platform and finish the sign up
process in the pop-up window.
Your account credentials will be saved on the machine until you log out.
2
2. Download & Setup HyperSkill
HyperSkill Supports multiple platforms including Windows, Mac OS, Online, and Quest. For the
ASME Challenge, you can access Hyperskill from WindowsMac, or Online.
3
2.2 Open HyperSkill Online
● To run HyperSkill on the browser, go to https://hypermock.siminsights.com/gameview.
● Click on the sign-in button and enter the login page.
3. Getting started
HyperSkill is a no-code 3D simulation authoring software for both Virtual and Augmented
Reality. HyperSkill was created to enable instructional designers to create immersive training
content without having to learn programming.
HyperSkill enables non-programmers to upload multi-format models, author VR/AR content, and
publish it to various devices. Users can unlock the value of existing 3D assets by converting
them into interactive virtual objects securely stored in the cloud.
4
● Behavior Graph: each VO can have one behavior graph. The Behavior Graph can be
treated as a function that gets called in the simulation. Each Behavior Graph must
consist of one complete series of Blocks functions.
Warning: overwrite existing Behavior Graphs cannot be reverted if you did not save. The
recover save feature is your ONLY method to recover overwritten behaviors.
● Simulation: an experience that takes user’s input and is driven by preset logic. Teams
can create simulations to test the vehicle’s behavior on multiple tracks. Each simulation
can have multiple VOs, and the behavior of each VO can be controlled by the State
Machine Graph.
Warning: overwrite existing Behavior Graphs cannot be reverted if you did not save. The
recover save feature is your ONLY method to recover overwritten behaviors.
● State Machine Graph: a node-edge based graph system that handles the global
behaviors of a simulation. The State Machine authoring is not part of the contest, but
you can still use it to test the behavior of your vehicle.
5
Here’s the primary function of these 3 systems and how you can access them:
● Virtual Object Editor: Teams will use it to upload the vehicle model and edit the behavior
graph. The Editor page can be accessed from the home page - select the ‘Virtual Object’
tab, then select the Virtual Object you want to edit and hit the pencil button.
● Simulation Editor: This is where the 3D scenario is edited(select racing track, add the
vehicle to the simulation, add behavior graph triggers). You can select the ‘Simulations’
Tab in the home page, then click the pencil icon of a simulation if you already have one
in the account.
● Simulation Player: This is where the vehicle will actually race on the track. Teams will
test and iterate the behavior graph based on the vehicle performance in this mode. You
can select the ‘Simulations’ Tab in the home page, then click the eye icon of a simulation
if you already have one in the account.
Create a vehicle model using your preferred CAD software then export the file to upload to
HyperSkill.
Teams can upload the vehicle models to HyperSkill in the following file formats:
.fbx .obj .stl .ply .3mf
6
In HyperSkill, the vehicle models will be displayed as a Virtual Object (VO), which can be
instantiated and operated in the simulations.
To view your models, go to the 'Virtual Objects' Page from the home scene. The page will be
empty if your account is new or never uploaded any Virtual Objects.
1. Click the '+NEW' Button on top right to open the Virtual Object upload panel.
2. Click the 'Choose File' button to open the file browser.
3. Select the target model and click 'Select'.
4. Give the VO a name in the 'New VO Name' field, the name can be duplicated and we
recommend you to give every Virtual Object an unique name. For this competition the VO
Name MUST include your team name. The Create Simulation field should remain
unchecked.
5. Click 'Upload' and the model will be uploaded shortly.
After the upload process finishes, you will see the model occur in the Virtual Object grid view.
Each Virtual Object can have one Behavior Graph.
Each Virtual Object can have one Behavior Graph. The Behavior Graph can be treated as a
function that gets called in the simulation. Each Behavior Graph must consist of one complete
series of Blocks functions.
7
During the challenge, teams need to construct the vehicle logic in the Behavior Graph, so the
vehicle can drive through the track without any keyboard or mouse input.
8
● Connectors: defines the block relationship with other blocks, bulbs can be filled into
caves.
● Return Value: defines the return value of the block. There are three general types that
can be returned: Float, String and Boolean (True/False).
If the block is linked to the graph, the function will be executed one time in the current frame.
There’s no return value so you need to connect it to another function’s end point.
If the block is linked to the graph, the block will return the value of the comparison. There’s a
return value of Boolean so you can connect it after a ‘if’ block or other blocks accepting a
boolean value.
9
5.3.1 Initialization
We recommend that you use a structure utilizing the Controls Function with a Logic function
block to start your implementation. This will ensure that your implementation only starts or stops
while you intend for it to do so and is useful for implementation with other vehicles that have
utilized this functionality.
5.3.2 Text
The Text functions are able to manipulate, display, and change text.
Show Log
When debugging your Block Implementation it may be helpful to have access to some
debugging tools. A helpful solution for this is the Show Log functionality. Simply bring the Show
Log function into your solution and bring in an accompanying variable block which you would
like to have displayed as your message.
For example, you can bring in a Text block with your message, a number, or a returned variable
such as the Distance to Forward Obstacles block. This will print to your console during
execution of your message when the conditions are met appropriately.
Be forewarned, the Show Log Block does NOT consume the frame when the behavior is
executed. This means that if the Show Log block is the ONLY block contained in a logic function
block it will repeat infinitely and never advance the simulation.
5.3.3 Motion
The motion tab allows you to add forces to your object and will be used for controlling your
vehicle.
Move Forward
The Move Forward function lets you add a force to the object. A positive value will move the
object towards what is defined as the front of the model. A negative value will have it move
backwards. A higher number will have a greater velocity in that direction. For the competition no
value greater than 20 (either positive or negative) will be accepted. A vehicle with a value
exceeding 20 WILL BE DISQUALIFIED.
10
Rotate By
The Rotate By function lets you add a rotational force to the object. A positive value will move
the object in a clockwise direction, a negative value will move the object in a counter clockwise
direction.
11
Rotate Local Axis at Value
The Motion function Rotate Local Axis at Value will perform a rotation based on the local axis of
the object. The axes are based upon the three local axes of an object {X, Y, Z}. The value is the
amount that will move the object in the provided axis.
12
6. Create a new Simulation
HyperSkill is a code-free simulation software that enables users to create simulations on
Desktop/Web and deploy to multiple platforms.
1. Navigate to the home page. This is the page that first shows up when the user logs in.
13
2. 'Simulations' button to enter the Simulation selection page. There will be no simulations
if your account is new.
3. In the Simulations page, Click the '+NEW' Button on the top right.
4. This will open and give the simulation name in the Name input field. There can be
duplicated simulation names and we recommend you to give each simulation an unique
14
name.
5. You have multiple test courses to choose from to test your vehicle. The creation process
for each is the same though. Choose the track that you want to test your vehicle in. For
this example I will use “Circular Track” as the space for your simulation but you can
utilize any of the courses. The names of the available courses are “Circular Track”, “Test
Track 1”, “Test Track 2”, and “Test Track 3”. You can find the test track by clicking the '>'
button to change the simulation space selections.
15
16
6. Give a name to your simulation. We recommend that the name is something that is
easily identifiable to you.
7. Hit create and the new simulation should appear in the simulation list.
17
8. Click on your created simulation to select it. This will cause 6 icons to appear.
9. To create the logic and add your vehicle to the scenario, click the 'pencil' icon to enter
authoring mode.
18
7. Add Behavior Graph to the simulation
To test the Behavior Graph function, you can add it into the simulation logic using the 'State
Machine' system. State machine is a node-edge based graph system that handles the global
behaviors of a simulation. The State Machine authoring is not part of the contest, but you can
still use it to test the behavior of your vehicle.
19
2. After the simulation is loaded, you will see an empty track.
20
4. Find the vehicle you uploaded, click on it and wait for the download process. A loading
bar will progress while it is loading. Once the download is finished, you can move your
mouse onto the track and select where you want the car to be placed.
21
a. To move it, select the movement tools to move it in a horizontal/vertical
direction. You can also type in its position X/Y/Z to adjust its location.
b. To rotate the vehicle, select the rotation tool and drag the mouse to rotate it. You
can also type in its rotation X/Y/Z to adjust its direction.
c. To scale the vehicle, select the scaling tool and drag the mouse to scale it
up/down. You can also type in its scale in X/Y/Z direction to adjust its size.
22
7.2 Add Behavior Graph through State Machine
1. To add its behavior graph to the map, select the 'Scenario Flow' tab from the top bar.
23
2. You will now be in the Scenario Flow tab. This is where you will be adding the functions
to your simulation to test your Behavior Graphs on your vehicle.
3. Click the '+ State' button to create a new state, then select it by clicking the created
state. Do this twice so that you end up with two different states. By default these two
states will be State: 0 and State: 1. You can rearrange the states by clicking around the
edges of the created state. You can rename them to whatever you would like by clicking
on the text.
24
4. Select State: 1, when it is selected the state will be blue and in the upper right hand
corner you will see the name of your selected state.
5. On the right there is the select action dropdown. Click the dropdown on the right side
panel, select the 'VCode Function' after scrolling down to the bottom. Then click the
'Create' button to create a new state action.
6. There are two dropdowns in the action, in the Entity Dropdown select the model of your
vehicle in the first dropdown and select 'Default VCode Function' in the VCode Function
25
dropdown.
7. Click the + Transition button at the top. The text on the button will change to Select
Origin.
26
8. Select State: 0. The button name will change to Select Destination. Then select State: 1.
A transition will appear connecting State: 0 to State: 1.
9. You will automatically have the transition selected (the transition will be highlighted in
blue). You can select transitions the same way you can select states by clicking on the
transition entity. You can see which transition you are looking at in the upper right hand
corner of the screen. This one should read State: 0->State: 1. By default you will be in the
trigger action. From the dropdown, select Use then Create.
27
10. In the Entity field, select your uploaded model.
11. After finishing, click 'Save' on the top right of the screen, then click the 'Save' button in
the pop-up panel and wait for the save process to finish.
9. Final Recommendations
1. Please remember, no value for the movement of the vehicle is allowed to exceed 20
(either positive or negative) or you will be disqualified.
28
2. I would recommend having the race start, or more specifically have the VCode functions
start, by using the ARSM rather than the method listed above of putting it on one lone
vehicle. This will let you restart the vehicles if they stop for whatever reason.
10. Submission
1. For final submission of your vehicles please do so through the following process.
Navigate to the Virtual Objects Page and click the Share Button on your vehicle with the
applied VCode.
29
2. This will open up the sharing panel. For the username type in [email protected] then
press the Add button followed by Send.
3. If this has been entered in correctly when you hit the share button again for your object
you should see the users name under the Shared with window like so:
30