Wert | Art | Beschreibung | Beispiel |
---|---|---|---|
initialSituation | Text | Ausgangssituation der Waffe | Waffe steht im Gewehrhalter oder liegt auf dem Tisch, sie kann geöffnet oder geschlossen sein |
task | Text | Aufgabentitel | Drilling zum Handhabungstisch bringen |
initialState | Id | Waffenzustand vor der Schulung. Diese Ids werden in der Model JSON definiert (states ) | unlocked |
introVideo | Text | Intro Video vor der Prüfung | intro.mp4 |
successVideo | Text | Abschluss Video nach erfolgreicher Prüfung | example2.mp4 |
actions | Objektsammlung | Enthält Objekte für die einzelnen Lektionsschritte, die Reihenfolge der Objekte ist auch die Reihenfolge des korrekten Schulungsablaufs. | |
dummys | Objektsammlung | Dummy-Hotspots, um den Schüler*innen eine falsche Fährte zu legen |
actions
-ObjekteObjektsammlung - enthält Objekte für die einzelnen Lektionsschritte, die Reihenfolge der Objekte ist auch die Reihenfolge des korrekten Schulungsablaufs.
Wert | Art | Beschreibung | Beispiel |
---|---|---|---|
studentAction | Text | Falls kein Hotspot notwendig ist, muss eine studentAction definiert werden. Diese Anweisung wird als Aufgabenbox oben links dargestellt | Ansage: Ich führe eine Sicherheitsüberprüfung durch |
hotspotId | Id | Hotspots sind die anklickbaren Punkte an der Waffe. Diese Ids werden in der Hotspots JSON definiert | switchSafety |
animationId | Id | Animations Id für den Befehl der Waffe eine Animation auszuführen | A1_Secure |
icon (optional) | Id | Hier kann ein Icon in den Hotspot Punkt eingefügt werden. Pfeilausrichtung richtet sich nach der Position nach dem Neuladen des Modells. Verfügbare Icons: arrow-up , arrow-right , arrow-down , arrow-left | arrow-up |
showHotspotId (optional) | Id |
Die angegebene Hotspot-ID ist vor dem Schulung verborgen und wird erst sichtbar, wenn die im Objekt angegebene Hotspot-ID angeklickt wird. | BarrelControl |
hideHotspotId (optional) | Id |
Blendet die angegebene | ProofMarkControl |
solutionVid (optional) | Text | Bei Falscher Antwort kann ein Video hinterlegt werden für die richtige Ausführung | example2.mp4 |
interruption (optional) | Bool | Nach dem Klick auf diese Action wird ein Unterbrechungsvideo gezeigt | Nur true ist erlaubt |
ignoreOrder | Bool |
|
dummys
-ObjekteObjektsammlung - Dummy-Hotspots, um den Schüler*innen eine falsche Fährte zu legen
Wert | Art | Beschreibung | Beispiel |
---|---|---|---|
icon (optional) | Id | Hier kann ein Icon in den Hotspot Punkt eingefügt werden. Pfeilausrichtung richtet sich nach der Position nach dem Neuladen des Modells. Verfügbare Icons: arrow-up , arrow-right , arrow-down , arrow-left | arrow-up |
hotspotId | Id | Hotspots sind die anklickbaren Punkte an der Waffe. Diese Ids werden in der Hotspots JSON definiert | triggerLeft_Right |
studentAction | Text | Falls kein Hotspot notwendig ist, muss eine studentAction definiert werden. Diese Anweisung wird als Aufgabenbox oben links dargestellt | Ansage: Ich führe eine Sicherheitsüberprüfung durch |
{
"initialSituation": "Waffe steht im Gewehrhalter oder liegt auf dem Tisch, sie kann geöffnet oder geschlossen sein",
"task": "Drilling zum Handhabungstisch bringen",
"initialState": "unlocked",
"actions": [
{
"studentAction": "Ansage: 'Ich führe eine Sicherheitsüberprüfung durch'"
},
{
"icon": "arrow-up",
"hotspotId": "switchSafety",
"animationId": "A1_Secure"
},
{
"hotspotId": "switchWeaponClose",
"animationId": "weapon_open",
"showHotspotId": "BarrelControl"
},
{
"icon": "arrow-left",
"hotspotId": "triggerLeft_Left",
"animationId": "A1_trigger_control"
},
{
"hotspotId": "BarrelControl"
},
{
"hotspotId": "switchWeaponClose",
"animationId": "weapon_close",
"hideHotspotId": "BarrelControl"
},
{
"hotspotId": "barellTilt",
"animationId": "A1_Remove_forearm"
},
{
"hotspotId": "switchWeaponClose",
"animationId": "A1_Loosen_barrels",
"showHotspotId": "ProofMarkControl"
},
{
"hotspotId": "ProofMarkControl"
},
{
"hotspotId": "switchWeaponClose",
"animationId": "A1_Insert_barrels",
"hideHotspotId": "ProofMarkControl"
},
{
"hotspotId": "barellTilt",
"animationId": "A1_Insert_forearm"
},
{
"hotspotId": "switchWeaponClose",
"animationId": "weapon_open"
},
{ "studentAction": "Ansage: 'Sicherheitsüberprüfung ist durchgeführt'" }
],
"dummys": [
{ "icon": "arrow-right", "hotspotId": "triggerLeft_Right" },
{ "icon": "arrow-left", "hotspotId": "triggerRight" },
{ "hotspotId": "switchShotguns" }
]
}
Wert | Art | Beschreibung | Standardwerte | Beispiel |
---|---|---|---|---|
name | Text | Dateiname der Waffe
| drilling.glb | |
path | Text | Pfad zur oben angegebenen GLB-Datei | models/ | models_v2/ |
config | Objekt | Hier können die Configs für <model-viewer> überschrieben werdenZum Beispiel camera-orbit, camera-target, shadow-intensity, field-of-view, usw. |
|
|
id | id | id des <model-viewer> -Elements (hat bisher keine Auswirkungen) | model | custom-model-id |
alt | Text | SEO Alt-Tag (Mehr infos dazu hier) | ||
states | Array | Beinhaltet die States-Objekte |
|
Am besten kann man den letzten State Block duplizieren
Es gibt zwei Kategorien: animationStart
und animationEnd
. Diese werden nach dem Laden des Modells ausgeführt.
animationStart
wird die Animation auf den Anfang der Animation gesetzt.animationEnd
wird die Animation bis zum Ende ausgeführt.{
"name": "drilling_animiert_glb_-__einzelanimationen_v2.glb",
"path": "",
"config": {
"camera-orbit": "-3.1350825101286133rad 1.6454213859339055rad 3.1963021663052387m",
"camera-target:": "0.3254594848718852m 0.4153378850415097m -0.05687354631630188m"
},
"id": "",
"alt": "",
"states": [
{ "unlocked": { "animationStart": "A6_secure" } },
{ "jagdbereitmachen": { "animationStart": "A3_insert_ammo" } },
{ "weaponOpen": { "animationEnd": "weapon_open" } },
{ "weaponCloseSafe": { "animationEnd": "A1_weapon_close" } },
{ "weaponCloseSafe_rifle": { "animationEnd": "A2_weapon_close" } }
]
}
Hotspots werden in der Sammlung "hotspots" hinzugefügt und können beliebig benannt werden. Als Wert wird ein Objekt mit folgenden möglichen Attributen angegeben
Wert | Art | Beschreibung |
---|---|---|
surface | Text |
Beispiel: |
coord | Objekt | Koordinaten, betehend aus:
Beispiel:
|
cameraRide | Objekt | Führt eine Kamerafahrt mit einem Klick auf den Triggerpunkt aus.
Die Daten bekommen Sie im Debug Mode. Link zur Anleitung. Beispiel:
|
Surface Points:
coord (Koordinaten):
Zusammengefasst: Surface Points sind spezifische Positionen auf der sichtbaren Oberfläche eines 3D-Modells, und bei Animationen verhalten sie sich wie Sticker, indem sie sich entsprechend der Bewegung des Modells mitbewegen. Koordinaten (coord) beschreiben die Position im Raum des 3D-Modells und haben keine direkten Verbindungen zum Modell selbst.
Hinter der URL vom Schulungsprogramm ein &debug=1
einfügen.
Im Debug-Modus erhalten Sie viele zusätzliche und nützliche Informationen. Es wird angezeigt, wenn Hotspots nicht angezeigt werden können. Dazu können HotspotIds ermittelt, Surface Points bestimmt, Camera Orbit und Camera Target für Kamerafahrten ausgegeben werden. Außerdem wird angezeigt, welche Animation gerade gestartet wurde und welche gerade beendet wird.
cameraRide
in Hotspots für Kamerafahrten eingegeben werden.Wenn man im Programm die STRG
-Taste gedrückt hält und an die gewünschte Stelle klickt, erhält man den Surface Point für die Hotspot Position an der Waffe.
Hinter der URL vom Schulungsprogramm ein &lesson=[LEKTION-NUMMER]
einfügen.
Link: https://threejs.org/examples/webgl_gpgpu_birds.html
Bei dieser Seite, sollte der Kunde im besten Fall um die 60 FPS haben.
Mit der Maus kann der Kunde die Vögel verscheuchen, das stresst die Hardware noch etwas.
Link: https://webglreport.com/?v=1
Dieser Test prüft allgemein, ob der Browser 3D-Modelle anzeigen und verarbeiten kann.
Es reicht aus, wenn bei WebGL 1 die Meldung “This browser supports WebGL 1” angezeigt wird.