Implement basic signs course

This commit is contained in:
Dries Van Schuylenbergh
2023-04-19 17:09:11 +02:00
parent db1a72fadd
commit 9422df7083
32 changed files with 1242 additions and 23 deletions

View File

@@ -0,0 +1,20 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f6b23e64e6ffb12459ed4f37d7305852, type: 3}
m_Name: BasicsCourse
m_EditorClassIdentifier:
index: 1
title: Basis Gebaren
description: In deze les leer je een aantal basisgebaren, die je kan gebruiken
in het dagelijkse leven.
thumbnail: {fileID: 21300000, guid: f2a020e24bfa24842bccecf6b36d5b79, type: 3}
theme: {fileID: 11400000, guid: dd48f91f5d3b2d041b08640872a65d9c, type: 2}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1e2fbe5ef8bbfaf41ae2af179c1ab52e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -15,6 +15,7 @@ MonoBehaviour:
currentCourseIndex: 2
courses:
- {fileID: 11400000, guid: 300921292bfd5564b8ce70b834c3f334, type: 2}
- {fileID: 11400000, guid: 1e2fbe5ef8bbfaf41ae2af179c1ab52e, type: 2}
- {fileID: 11400000, guid: 622bbd43e3debd044b790f1f3f325f35, type: 2}
- {fileID: 11400000, guid: a4c862fb404312b499c146eb0e957820, type: 2}
- {fileID: 11400000, guid: fd1ef360b467b0943aca7c2b11ed1314, type: 2}

View File

@@ -396,18 +396,19 @@ public class CoursesController : AbstractFeedback
{
// Get current sign
Learnable sign = course.theme.learnables[currentWordIndex];
string currentSign = sign.name;
string currentSign = sign.name.ToUpper().Replace(" ", "-");
// Get the predicted sign
if (signPredictor != null && signPredictor.learnableProbabilities != null &&
currentSign != null && signPredictor.learnableProbabilities.ContainsKey(currentSign))
{
Debug.Log($"{signPredictor.learnableProbabilities.Aggregate("", (t, e) => $"{t}{e.Key}={e.Value}, ")}");
float accCurrentSign = signPredictor.learnableProbabilities[currentSign];
// Get highest predicted sign
string predictedSign = signPredictor.learnableProbabilities.Aggregate((a, b) => a.Value > b.Value ? a : b).Key;
float accPredictSign = signPredictor.learnableProbabilities[predictedSign];
Learnable predSign = course.theme.learnables.Find(l => l.name == predictedSign);
Learnable predSign = course.theme.learnables.Find(l => l.name.ToUpper().Replace(" ", "-") == predictedSign);
if (feedbackText != null && feedbackProgressImage != null)
{
@@ -424,7 +425,7 @@ public class CoursesController : AbstractFeedback
}
else if (accPredictSign > predSign.thresholdPercentage)
{
feedbackText.text = $"Verkeerde gebaar: '{predictedSign}'";
feedbackText.text = $"Verkeerde gebaar: '{predSign.name}'";
col = new Color(0xf5 / 255.0f, 0x49 / 255.0f, 0x3d / 255.0f);
accCurrentSign = 0.0f;
}