diff --git a/3d-generation-pipeline/README.md b/3d-generation-pipeline/README.md index 8ca24346..c336e51d 100644 --- a/3d-generation-pipeline/README.md +++ b/3d-generation-pipeline/README.md @@ -16,8 +16,6 @@ * prinditud objekti scale'imisele min ja max size limiit * soft particle'id, et ei clipiks * uks võiks käia ainult väljapoole - * seest tühi shape config liiga raske, sest printer unreliable? - * 5 configit piisavalt * archery range: * võiks jääda kordama viimast instruktsiooni, kui mängija ei progressi edasi * kui archery range läbi, võiks npc öelda "good job, try again..." diff --git a/Assets/_PROJECT/Fonts/Quantico-Regular SDF.asset b/Assets/_PROJECT/Fonts/Quantico-Regular SDF.asset index c52cd5a8..e3cd2b02 100644 --- a/Assets/_PROJECT/Fonts/Quantico-Regular SDF.asset +++ b/Assets/_PROJECT/Fonts/Quantico-Regular SDF.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7e0d6602dbeea3cf40398d760116f65cc8d46425caf060424729658ab8dbe82c -size 2142997 +oid sha256:a158e4994ba50bd35823b6fd28ce018c4cf209693d71ddbccea2c2fda63bf8e2 +size 2146317 diff --git a/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity b/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity index 2d32ba15..61bd314b 100644 --- a/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity +++ b/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:223a4c7cd234d1ba8386862744a6fd043f91cf9eaf7979ecc6f672482013b126 -size 68699195 +oid sha256:023b05c8a61e232d575e1ac0605f27a8408f6395494355e3db66006845f443fc +size 68699963 diff --git a/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/ShapeScanner.cs b/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/ShapeScanner.cs index 7e0443ba..d809b4a4 100644 --- a/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/ShapeScanner.cs +++ b/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/ShapeScanner.cs @@ -68,8 +68,8 @@ public class ShapeScanner : MonoBehaviour private float raySpawnDistanceX; private float raySpawnDistanceZ; private int currentConfiguration; - private int rayCount; - private int correctRayStates; + private int totalRayCount; + private int correctRayCount; private bool isCompleted; @@ -109,11 +109,10 @@ public class ShapeScanner : MonoBehaviour int rayRowCount = configuration.rows.Count; for (int i = 0; i < rayRowCount; i++) { - float rayPosX = raySpawnCorner1.localPosition.x + i * raySpawnDistanceX / (rayRowCount - 1); + float rayPosZ = raySpawnCorner1.localPosition.z + i * raySpawnDistanceZ / (rayRowCount - 1); for (int j = 0; j < rayRowCount; j++) { - // Local position - float rayPosZ = raySpawnCorner1.localPosition.z + j * raySpawnDistanceZ / (rayRowCount - 1); + float rayPosX = raySpawnCorner1.localPosition.x + j * raySpawnDistanceX / (rayRowCount - 1); Vector3 rayPos = new Vector3(rayPosX, 0, rayPosZ); ShapeScannerRay ray = Instantiate(rayPrefab, rayParent); ray.transform.localPosition = rayPos; @@ -131,9 +130,11 @@ public class ShapeScanner : MonoBehaviour } } // Count total rays and required collision rays - rayCount = configuration.rows.SelectMany(row => row.cells).Count(); - correctRayStates = configuration.rows.SelectMany(row => row.cells).Count(cell => !cell); - UpdateDisplay(calculateCorrectPercentage()); + totalRayCount = configuration.rows.SelectMany(row => row.cells).Count(); + correctRayCount = configuration.rows.SelectMany(row => row.cells).Count(cell => !cell); + + float percentage = calculateCorrectPercentage(); + UpdateDisplay(percentage); } private void OnConfigurationComplete() @@ -167,12 +168,12 @@ public class ShapeScanner : MonoBehaviour private float calculateCorrectPercentage() { - return (float) correctRayStates / rayCount * 100; + return (float) correctRayCount / totalRayCount * 100; } public void IncrementCorrectRayCount() { - correctRayStates++; + correctRayCount++; float correctPercentage = calculateCorrectPercentage(); UpdateDisplay(correctPercentage); if (isCompleted) @@ -182,14 +183,14 @@ public class ShapeScanner : MonoBehaviour if (correctPercentage >= configurations[currentConfiguration].requiredCorrectPercentage) { OnConfigurationComplete(); + UpdateCurrentConfigurationDisplay(currentConfiguration + 1); if (currentConfiguration + 1 < configurations.Count) { currentConfiguration++; InitializeConfiguration(configurations[currentConfiguration]); - UpdateCurrentConfigurationDisplay(currentConfiguration); } else { - // Initialize configuration with all rays requiring collision + // Initialize configuration with no rays requiring collision List rows = Enumerable.Repeat(new BoolRow(Enumerable.Repeat(false, 6).ToList()), 6).ToList(); ShapeScannerConfiguration configuration = new ShapeScannerConfiguration(6, 100, rows); InitializeConfiguration(configuration); @@ -200,12 +201,13 @@ public class ShapeScanner : MonoBehaviour public void DecrementCorrectRayCount() { - correctRayStates--; + correctRayCount--; UpdateDisplay(calculateCorrectPercentage()); } private void UpdateDisplay(float percentage) { + Debug.Log("updating display to: " + percentage); correctPercentageDisplay.text = Mathf.Round(percentage).ToString() + " %"; }