Skip to content

Tool Task Experiment

matthewi98 edited this page Jul 19, 2022 · 1 revision

Description of how it works

Three different methods of launching a ball, each with a different tool representation. Impact: The user hits a ball or puck. Slingshot: The user pulls the ball back, launching it (very similar to pinball) Curling: The user pulls the ball towards their intended direction.

Setup:

  • GameObject.Find's all necessary gameobjects in task prefab, excluding those already found in BilliadsTask.
  • Enables the correct tool according to the JSON.
  • Sets the tilt if per_block_tilt_after_fire is false.
  • Sets timer time based on JSON.
  • Sets the surface materials based on JSON, using SetSurfaceMaterial in BaseTask.

Impact:

  • Sets whether the user is launching a ball or puck, based on JSON.

Step 0:

Impact:

  • Increments when mouse gets close to tool.

Slingshot:

  • Increments when mouse gets close to ball.

Curling:

  • Increments when mouse gets close to ball.

Step 1:

  • Play audio cue and set missed to true if timer runs out.

List of JSON parameters

Key Value Description
exp_record_score Boolean Whether the "score" of the task is logged to result
per_block_type "aligned" or "rotated"
per_block_rotation Float Perturbation angle
per_block_targetListToUse List of floats Angle in degrees of target (90 is forward)
per_block_tilt_after_fire Boolean Whether tilt is shown before or after firing
per_block_list_camera_tilt List of floats Tilt angle in degrees of camera, back wall, bonus text
per_block_list_surface_tilt List of floats Tilt angle in degrees of physics surface
per_block_surface_materials
per_block_track_score Boolean Whether this is a practice round
per_block_timerTime Float Time in seconds user has to fire pinball in order to receive points
per_block_list_triggerType List of "impact", "slingshot", "curling" Whether the experiment task will be impact, slingshot, or curling.
per_block_list_puck_type List of "puck", "ball" Whether impact will use a puck or a ball (visual change)
per_block_list_tool_type List of "quad", "sphere", "cylinder"

instruction: Replaces trial with instruction trial that uses per_block_instruction.

aligned: Perturbation is disabled.

rotated: Perturbation is enabled. Initial ball direction is influenced by per_block_rotation.

Tracked Parameters

Logged Parameters

-Ball/puck position

-Target position

Public Functions