0% found this document useful (0 votes)
41 views30 pages

Hyper Super Users Guide Behavior Grap Car

Uploaded by

s76wz579ry
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views30 pages

Hyper Super Users Guide Behavior Grap Car

Uploaded by

s76wz579ry
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

HyperSkill User's Guide

[Behaviour Graph] [Ver 1.48.11]

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

www.siminsights.com | 714.651.4104 | [email protected]

1. Create a new HyperSkill account

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.

2.1 Install HyperSkill Desktop/Mac


● To download HyperSkill, go to https://siminsights.com and click ‘TRY NOW’. If you have
already created an account, login with the credentials.
● After login, you will be directed to the following page. Select the download platform that
you wish to use and the download process will start automatically. To use HyperSkill
Online use the link below.
● The software will be downloaded as a .zip file. Right click on the .zip file and unzip it to a
preferred location.
● For Windows, Double click the .exe file called HyperSkillDesktop.exe to run HyperSkill.

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.

HyperSkill Online supports the following browsers: Chrome (Windows/MacOS) and


Edge(Windows/MacOS).

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.

3.1 Terminology and concepts of HyperSkill


HyperSkill will be the platform for you to upload models, add vehicle logic and test it out. Here
are the explanations of terminology frequently used in the user’s Guide:
● Virtual Object: every 3D model a team uploaded to HyperSkill will be treated as a Virtual
Object (VO). Virtual Objects are saved in Cloud, so all the models and relevant
properties will be saved in the cloud binded to the team’s account. Teams can upload 3D
assets as new VOs or re-upload models to overwrite existing VOs.
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.

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.

3.2 Basic experience structure of HyperSkill


There’s 3 systems of HyperSkil relevant to the challenge, and the following flowchart indicates
the primary steps you need to follow to test out you 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.

4. Upload your vehicle model

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.

5. Create Behavior Graph for Virtual Objects

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.

5.1 How to author the behavior graph


The Behavior Graph system is designed based on Object Oriented Languages like C# and Java.
There are blocks representing loops, variables and functions.
1. To author the behavior graph, click the pencil icon when hovering the Virtual Object you
uploaded.
2. After the object is loaded, go to the Behavior Graph tab by clicking the 'Behaviors' button
in the top bar.
3. The Behavior tab has functioning windows as follow:
a. Modules: Contains multiple types of behavior blocks.
b. Blocks: Contains all blocks of the type you selected in the Modules panel. Drag to
scroll up/down.
c. Graph: the Behavior Graph binded to the Virtual Object.
4. To add a block to the graph, select the module and drag the target block into the graph.
5. To connect two blocks in the graph, drag the inner/value block and snap it into the slot.
If the connection is validated, there will be a yellow highlight showing the snapping point.
6. To delete a block from the graph, drag the block back to the Blocks menu, release the
block when the delete icon appears.
7. To save the graph, hit the 'Save' button and make sure the save panel occurs before
leaving the scene.

The Behavior Graph Page

5.2 The Components of a Behavior block


● Block body: contains the description of the body.
● Input fields: contains the value required by the block. There's usually two types of input:
Number and String. Use the virtual number pad to input number fields and the keyboard
for String fields.

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).

Here are two examples blocks and their behavior:


Rotation: Rotate the vehicle by angles
Input: N/A Output: N/A Input Value: Float

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.

Logic_Compare: return the compare result of two values


Input: two values with same type (float/string, etc) Output: N/A Return Value: Boolean

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.

5.3 Specific Block Implementation


To begin creation, there are some sections of the Behavior Graph that will be more immediately
helpful to your implementation. These are some structures that you can utilize to get you started
with your implementation.

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.

Distance to Forward Obstacles


The Motion function block Distance to Forward Obstacles will return a numeric value of
whatever distance (in meters) is directly in front of your object.
Imagine there’s a beam shooting forward from the direct center of your vehicle. When the beam
reaches another object, it will tell you what the distance of that beam is. This is most useful to
help detect if your object is going to crash into barriers/railings from the front.

Horizontal Angle to Forward Obstacles


The Motion function Horizontal Angle to Forward Obstacles will return a numeric value of the
angle in the horizontal axis between -180 and 180. The returned value will assist with
determining the horizontal angle of the obstacle that your object is approaching.

Vertical Angle to Forward Obstacles


The Motion function Vertical Angle to Forward Obstacles will return a numeric value of the angle
in the Vertical axis between -180 and 180. This returned value will assist with determining the
vertical angle of the obstacle that your object is approaching.

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.

6.1 How to create a simulation

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.

The Simulation Selection Page

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.

7.1 Add the vehicle to the 3D scenario


1. Open the simulation you just created and enter the authoring mode by clicking the
'pencil' icon.

19
2. After the simulation is loaded, you will see an empty track.

3D scenario of the simulation


3. To add the vehicle into the simulation, navigate to the upper right hand panel and select
‘Private’ from the drop down menu. Your vehicle should be the only object in the list.

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.

5. How to control the camera:


a. Hold the right button of the mouse to rotate the camera
b. Scroll up and down to zoom in/out.
c. Hold the scroll wheel button of the mouse to move the camera
6. You can also adjust the vehicle's transform (position, rotation, scale) after you place it.
Select it by clicking it in the 3D scene window or double click its name from the left side
hierarchy.

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.

State Machine Graph of the simulation

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.

8. Test the Behavior Graph in experience mode


Now that the authoring process is finished, you can test it out on the track.
1. Return to the simulation selection screen and select the simulation you just authored.
2. Hit the 'eye' button to enter the experience mode.
3. Once the simulation finishes loading, you will be able to start the vehicle's behavior by
clicking on the vehicle at any time. It will then begin moving along the track based on
your created behaviors.
4. You can press the H/P button to open the pause menu. Then hit the 'Back to Home'
button to return to the simulation selection screen.
5. You can also press ‘V’ on the keyboard to enable the bird-eye view camera. If enabled,
you are able to view the track from a floating camera view. Use WASD to move around
(Holding W will let you move forward towards the direction you are looking at, so you can
look up and hold W/look down and hold S to fly up ) and move the mouse to look around.
6. You can also go back to the home screen and edit the behavior graph of the vehicle and
come back to the experience mode and test to iterate the vehicle behavior logic.

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

You might also like