diff --git a/.plastic/plastic.changes b/.plastic/plastic.changes new file mode 100644 index 0000000..cd956e1 Binary files /dev/null and b/.plastic/plastic.changes differ diff --git a/.plastic/plastic.selector b/.plastic/plastic.selector new file mode 100644 index 0000000..33f100c --- /dev/null +++ b/.plastic/plastic.selector @@ -0,0 +1,3 @@ +rep "FractureCare@Yale_Blended_Reality@cloud" + path "/" + smartbranch "/main" \ No newline at end of file diff --git a/.plastic/plastic.wktree b/.plastic/plastic.wktree new file mode 100644 index 0000000..04a4723 Binary files /dev/null and b/.plastic/plastic.wktree differ diff --git a/.plastic/plastic.workspace b/.plastic/plastic.workspace new file mode 100644 index 0000000..0418818 --- /dev/null +++ b/.plastic/plastic.workspace @@ -0,0 +1,2 @@ +FractureCare +ca65d81a-5e70-4640-97ef-1dde2b8225c6 diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..42fe90e --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,41 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": ".NET Core Launch (console)", + "type": "coreclr", + "request": "launch", + "WARNING01": "*********************************************************************************", + "WARNING02": "The C# extension was unable to automatically decode projects in the current", + "WARNING03": "workspace to create a runnable launch.json file. A template launch.json file has", + "WARNING04": "been created as a placeholder.", + "WARNING05": "", + "WARNING06": "If OmniSharp is currently unable to load your project, you can attempt to resolve", + "WARNING07": "this by restoring any missing project dependencies (example: run 'dotnet restore')", + "WARNING08": "and by fixing any reported errors from building the projects in your workspace.", + "WARNING09": "If this allows OmniSharp to now load your project then --", + "WARNING10": " * Delete this file", + "WARNING11": " * Open the Visual Studio Code command palette (View->Command Palette)", + "WARNING12": " * run the command: '.NET: Generate Assets for Build and Debug'.", + "WARNING13": "", + "WARNING14": "If your project requires a more complex launch configuration, you may wish to delete", + "WARNING15": "this configuration and pick a different template using the 'Add Configuration...'", + "WARNING16": "button at the bottom of this file.", + "WARNING17": "*********************************************************************************", + "preLaunchTask": "build", + "program": "${workspaceFolder}/bin/Debug//.dll", + "args": [], + "cwd": "${workspaceFolder}", + "console": "internalConsole", + "stopAtEntry": false + }, + { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach" + } + ] +} \ No newline at end of file diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 91d2e23..94a6337 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -226,8 +226,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 34063583} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 17.9, y: 0, z: 10} - m_LocalScale: {x: 0.28285, y: 0.28285, z: 0.28285} + m_LocalPosition: {x: 5.1, y: 0, z: -5.3} + m_LocalScale: {x: 0.08587326, y: 0.08587326, z: 0.08587326} m_Children: - {fileID: 1993966912} - {fileID: 355138168} @@ -317,6 +317,10 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 90.001 objectReference: {fileID: 0} + - target: {fileID: -7635826562936255635, guid: e9e2848a59a7a264eaf826f59058a048, type: 3} + propertyPath: m_CastShadows + value: 0 + objectReference: {fileID: 0} - target: {fileID: -7635826562936255635, guid: e9e2848a59a7a264eaf826f59058a048, type: 3} propertyPath: m_Materials.Array.data[0] value: @@ -378,17 +382,21 @@ PrefabInstance: propertyPath: m_RootOrder value: 2 objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} + propertyPath: m_LocalScale.y + value: 1.1 + objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.x - value: 16.563797 + value: 168.5 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.y - value: -9.759819 + value: -0.4 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.z - value: 12.2504425 + value: 36.7 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalRotation.w @@ -544,12 +552,42 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 360028561} m_LocalRotation: {x: 0.49999997, y: -0.5000006, z: 0.5000001, w: 0.49999943} - m_LocalPosition: {x: -142.95, y: 1.9, z: -32.9} + m_LocalPosition: {x: -484.09, y: -283.25, z: -214.49} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 898938220} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 90} +--- !u!1 &422988318 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 422988319} + m_Layer: 0 + m_Name: OrbitMuse + m_TagString: Untagged + m_Icon: {fileID: 6519382022992737161, guid: 0000000000000000d000000000000000, type: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &422988319 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422988318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.104, y: 14.47, z: -0.186} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &456082744 PrefabInstance: m_ObjectHideFlags: 0 @@ -561,17 +599,21 @@ PrefabInstance: propertyPath: m_RootOrder value: 0 objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} + propertyPath: m_LocalScale.y + value: 1.1 + objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.x - value: 3.7 + value: 168.5 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.y - value: 14 + value: -15.400003 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.z - value: 10.3 + value: 36.700012 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalRotation.w @@ -670,10 +712,10 @@ CapsuleCollider: m_Material: {fileID: 0} m_IsTrigger: 1 m_Enabled: 1 - m_Radius: 6.962203 - m_Height: 89.46879 + m_Radius: 7 + m_Height: 90 m_Direction: 1 - m_Center: {x: 0, y: 40.699078, z: 0} + m_Center: {x: 0, y: 40, z: 0} --- !u!1 &633945417 GameObject: m_ObjectHideFlags: 0 @@ -818,7 +860,7 @@ MonoBehaviour: - {fileID: 1397897912} assess: {fileID: 633945419} assessResult: {fileID: 8138523} - tolerancePercent: 0.8 + tolerancePercent: 0.95 assessLimit: 3 --- !u!1 &645346707 GameObject: @@ -890,7 +932,7 @@ Canvas: serializedVersion: 3 m_RenderMode: 1 m_Camera: {fileID: 360028564} - m_PlaneDistance: 100 + m_PlaneDistance: 20 m_PixelPerfect: 0 m_ReceivesEvents: 1 m_OverrideSorting: 0 @@ -1034,7 +1076,7 @@ Light: m_InnerSpotAngle: 21.80208 m_CookieSize: 10 m_Shadows: - m_Type: 2 + m_Type: 0 m_Resolution: -1 m_CustomResolution: -1 m_Strength: 1 @@ -1087,7 +1129,7 @@ Transform: m_GameObject: {fileID: 705507993} m_LocalRotation: {x: 0.2721917, y: -0.14981775, z: 0.13802347, w: 0.9404339} m_LocalPosition: {x: 4.26, y: 54.4, z: 4.3} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalScale: {x: 0.30359998, y: 0.30359998, z: 0.30359998} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 2 @@ -1103,17 +1145,21 @@ PrefabInstance: propertyPath: m_RootOrder value: 1 objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} + propertyPath: m_LocalScale.y + value: 1.1 + objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.x - value: 16.4 + value: 16 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.y - value: 17.5 + value: 35 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.z - value: 177.4 + value: 183 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalRotation.w @@ -1260,17 +1306,21 @@ PrefabInstance: propertyPath: m_RootOrder value: 2 objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} + propertyPath: m_LocalScale.y + value: 1.1 + objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.x - value: -2.1 + value: -2 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.y - value: 17.5 + value: 35 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.z - value: 177.9 + value: 183 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalRotation.w @@ -1341,17 +1391,25 @@ PrefabInstance: propertyPath: m_RootOrder value: 0 objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} + propertyPath: m_LocalScale.y + value: 1.1 + objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.x - value: 7.38 + value: 14.2 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.y - value: 26.46 + value: 18.2 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.z - value: 172.29 + value: 190.1 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalRotation.w @@ -1427,7 +1485,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 898938219} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 337.83, y: 211.75, z: 153} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 963194228} @@ -1516,7 +1574,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 963194225} m_LocalRotation: {x: 0.00000029502883, y: -0.707109, z: 0.00000029502718, w: -0.7071046} - m_LocalPosition: {x: -189.3, y: -57.1, z: -35.5} + m_LocalPosition: {x: -496.8, y: -297.5, z: -214.67} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 898938220} @@ -1613,7 +1671,7 @@ Transform: m_GameObject: {fileID: 1023171448} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 19.40029, y: 19.40029, z: 19.40029} + m_LocalScale: {x: 5.889928, y: 5.889928, z: 5.889928} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 6 @@ -1679,7 +1737,7 @@ Transform: m_GameObject: {fileID: 1122666184} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalScale: {x: 0.30359998, y: 0.30359998, z: 0.30359998} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 5 @@ -1720,7 +1778,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -144.66302, y: -61.08899} + m_AnchoredPosition: {x: -491, y: -61.08899} m_SizeDelta: {x: 231.31, y: 71.424} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1144104336 @@ -1930,8 +1988,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1242188724} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 2.92, y: 41.73, z: -7.3} - m_LocalScale: {x: 0.28285, y: 0.28285, z: 0.28285} + m_LocalPosition: {x: -32.62, y: 11.3, z: -15.74} + m_LocalScale: {x: 0.08587326, y: 0.08587326, z: 0.08587326} m_Children: - {fileID: 456082749} - {fileID: 1397897916} @@ -2088,7 +2146,7 @@ Canvas: serializedVersion: 3 m_RenderMode: 1 m_Camera: {fileID: 1979852516} - m_PlaneDistance: 100 + m_PlaneDistance: 20 m_PixelPerfect: 0 m_ReceivesEvents: 1 m_OverrideSorting: 0 @@ -2129,17 +2187,21 @@ PrefabInstance: propertyPath: m_RootOrder value: 1 objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} + propertyPath: m_LocalScale.y + value: 1.1 + objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.x - value: -8.136204 + value: 168.5 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.y - value: -9.959816 + value: -30.400003 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalPosition.z - value: 12.2504425 + value: 36.700012 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} propertyPath: m_LocalRotation.w @@ -2288,7 +2350,7 @@ Canvas: serializedVersion: 3 m_RenderMode: 1 m_Camera: {fileID: 963194227} - m_PlaneDistance: 100 + m_PlaneDistance: 20 m_PixelPerfect: 0 m_ReceivesEvents: 1 m_OverrideSorting: 0 @@ -2408,10 +2470,26 @@ PrefabInstance: propertyPath: m_Name value: Gizmo objectReference: {fileID: 0} + - target: {fileID: 400024, guid: 3cbfbda37c564ba4891b28079d029590, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400028, guid: 3cbfbda37c564ba4891b28079d029590, type: 3} propertyPath: m_RootOrder value: 1 objectReference: {fileID: 0} + - target: {fileID: 400028, guid: 3cbfbda37c564ba4891b28079d029590, type: 3} + propertyPath: m_LocalScale.x + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 400028, guid: 3cbfbda37c564ba4891b28079d029590, type: 3} + propertyPath: m_LocalScale.y + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 400028, guid: 3cbfbda37c564ba4891b28079d029590, type: 3} + propertyPath: m_LocalScale.z + value: 2 + objectReference: {fileID: 0} - target: {fileID: 400028, guid: 3cbfbda37c564ba4891b28079d029590, type: 3} propertyPath: m_LocalPosition.x value: -4.8456078 @@ -2454,15 +2532,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 400032, guid: 3cbfbda37c564ba4891b28079d029590, type: 3} propertyPath: m_LocalScale.x - value: 500 + value: 50 objectReference: {fileID: 0} - target: {fileID: 400032, guid: 3cbfbda37c564ba4891b28079d029590, type: 3} propertyPath: m_LocalScale.y - value: 1.14 + value: 0.6666667 objectReference: {fileID: 0} - target: {fileID: 400032, guid: 3cbfbda37c564ba4891b28079d029590, type: 3} propertyPath: m_LocalScale.z - value: -108.1 + value: 50 objectReference: {fileID: 0} - target: {fileID: 11400008, guid: 3cbfbda37c564ba4891b28079d029590, type: 3} propertyPath: Camera @@ -2529,10 +2607,10 @@ MonoBehaviour: m_Calls: [] m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 + m_FontSize: 16 m_FontStyle: 0 m_BestFit: 0 - m_MinSize: 7 + m_MinSize: 0 m_MaxSize: 37 m_Alignment: 0 m_AlignByGeometry: 0 @@ -2540,12 +2618,11 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1.25 - m_Text: "Camera Controls:\n\nHold middle-click and move mouse to rotate camera\nHold - middle-click and press W,A,S, or D to move the camera\nHold middle-click and - press Q, or E to raise or lower the camera\n\nScrew controls:\n\nLeft-click on - a screw to see the gizmo\nLeft-click and hold on any end of the gizmo to move - the screw\nWhile the gizmo is visible:\n\tPress 1 to see the transformation gizmo\n\tPress - 2 to see the rotation gizmo\n\nPress ? to hide these instructions" + m_Text: "Camera Controls:\n\nHold right-click and move mouse to rotate camera\n\nScrew + controls:\n\nLeft-click on a screw to see the gizmo\nLeft-click and hold on any + end of the gizmo to move the screw\nWhile the gizmo is visible:\n\tPress 1 to + see the transformation gizmo\n\tPress 2 to see the rotation gizmo\n\nPress ? + to hide these instructions" --- !u!222 &1664625518 CanvasRenderer: m_ObjectHideFlags: 0 @@ -2567,6 +2644,7 @@ GameObject: - component: {fileID: 1756550906} - component: {fileID: 1756550909} - component: {fileID: 1756550910} + - component: {fileID: 1756550911} m_Layer: 0 m_Name: Free Camera m_TagString: MainCamera @@ -2632,14 +2710,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1756550905} - m_LocalRotation: {x: 0.32256666, y: -0, z: -0, w: 0.9465468} - m_LocalPosition: {x: -141.6, y: -25.2, z: -105.5} + m_LocalRotation: {x: 0.38268343, y: 0, z: 0, w: 0.92387956} + m_LocalPosition: {x: -145, y: -60, z: -91} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 1889595016} m_Father: {fileID: 241926020} m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 37.636, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} --- !u!114 &1756550909 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2647,7 +2725,7 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1756550905} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 902b68710adb41c4784f2411bcdd4365, type: 3} m_Name: @@ -2670,6 +2748,24 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: instructions: {fileID: 1664625517} +--- !u!114 &1756550911 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1756550905} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 43f41fc7da2573f488e8e922bbe566e2, type: 3} + m_Name: + m_EditorClassIdentifier: + target: {fileID: 422988318} + distance: 10 + xSpeed: 250 + ySpeed: 120 + yMinLimit: -20 + yMaxLimit: 80 --- !u!1 &1768912264 GameObject: m_ObjectHideFlags: 0 @@ -2973,7 +3069,7 @@ Canvas: m_GameObject: {fileID: 1889595012} m_Enabled: 1 serializedVersion: 3 - m_RenderMode: 1 + m_RenderMode: 0 m_Camera: {fileID: 1756550907} m_PlaneDistance: 100 m_PixelPerfect: 0 @@ -3046,7 +3142,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &1977395832 RectTransform: m_ObjectHideFlags: 0 @@ -3222,7 +3318,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1979852513} m_LocalRotation: {x: -0.13052516, y: -0, z: -0, w: 0.99144506} - m_LocalPosition: {x: -142.4, y: -66.2, z: -73.7} + m_LocalPosition: {x: -484.31, y: -302.38, z: -228.59} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 898938220} @@ -3360,10 +3456,10 @@ CapsuleCollider: m_Material: {fileID: 0} m_IsTrigger: 1 m_Enabled: 1 - m_Radius: 4.096199 - m_Height: 88.78004 + m_Radius: 7 + m_Height: 90 m_Direction: 1 - m_Center: {x: 0.000005965264, y: 40.35468, z: -0.00056232314} + m_Center: {x: 0, y: 40, z: 0} --- !u!1 &2057733704 stripped GameObject: m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 341ff9a9007015c4ca4b2a5651fb1733, type: 3} @@ -3384,7 +3480,7 @@ CapsuleCollider: m_Material: {fileID: 0} m_IsTrigger: 1 m_Enabled: 1 - m_Radius: 4.096199 - m_Height: 88.78004 + m_Radius: 7 + m_Height: 90 m_Direction: 1 - m_Center: {x: 0.000005965264, y: 40.35468, z: -0.00056232314} + m_Center: {x: 0, y: 40, z: 0} diff --git a/Assets/Scripts/AssessScrew.cs b/Assets/Scripts/AssessScrew.cs index 4405a14..ca452df 100644 --- a/Assets/Scripts/AssessScrew.cs +++ b/Assets/Scripts/AssessScrew.cs @@ -1,3 +1,20 @@ +/* +POST-TEST,, +Assessment #1,Tolerance at 0.95, +Red Screw,Trans.,Rot. +Ghost Red Screw,0,0.8286155 +Ghost Green Screw,0,0.8286155 +Ghost Blue Screw,0,0.8286155 +Green Screw,Trans.,Rot. +Ghost Red Screw,0,0.8286155 +Ghost Green Screw,0,0.8286155 +Ghost Blue Screw,0,0.8286155 +Blue Screw,Trans.,Rot. +Ghost Red Screw,0,0.8286155 +Ghost Green Screw,0,0.8286155 +Ghost Blue Screw,0,0.8286155 +0 out of 3 screws are correctly placed,, +*/ using System; using System.Collections.Generic; using System.IO; @@ -46,91 +63,74 @@ bool checkScrewInPlace(GameObject real_screw, GameObject ghost_screw) /// /// /// - private float BoundsContainedPercentage( GameObject real_screw, GameObject ghost_screw ) + private List BoundsContainedPercentage( GameObject real_screw, GameObject ghost_screw ) { - var total = 1f; + var total = new List(2); + total.Add(1f); + total.Add(1f); Bounds obj = real_screw.GetComponent().bounds; Bounds region = ghost_screw.GetComponent().bounds; - - - /* - if (region.Contains(obj.min) - && region.Contains(obj.center) - && region.Contains(obj.max)) - { - for ( var i = 0; i < 3; i++) - { - total *= Mathf.Clamp01(obj.center[i] / region.center[i]); - } - } - - else - { - total = 0; - } - */ for ( var i = 0; i < 3; i++) { - total *= Mathf.Clamp01(obj.center[i] / region.center[i]); + total[0] *= Mathf.Clamp01(obj.center[i] / region.center[i]); + //Debug.Log(real_screw.transform.eulerAngles); + //total[1] *= Mathf.Clamp01(real_screw.transform.eulerAngles[i] / ghost_screw.transform.eulerAngles[i]); } - - Debug.Log("Overlap by" + total); + total[1] = 1 - (Quaternion.Angle(real_screw.transform.rotation, ghost_screw.transform.rotation) / 180); return total; } void TaskOnClick() { - if (!StartGame.isPreTest) - { + //if (!StartGame.isPreTest) + //{ assessCounter += 1; - } + //} // Write to assessResult.txt - StreamWriter writer = new StreamWriter("Assets/assessResult.txt", true); + StreamWriter writer = new StreamWriter("Assets/assessResult.csv", true); if (StartGame.isPreTest) - { writer.WriteLine("PRE-TEST"); } + { writer.WriteLine("PRE-TEST" + ",,"); } else - { writer.WriteLine("POST-TEST"); } - writer.WriteLine("Assessment #" + assessCounter); - writer.WriteLine("Tolerance at " + tolerancePercent); + { writer.WriteLine("POST-TEST" + ",,"); } + writer.WriteLine("Assessment #" + assessCounter + "," + "Tolerance at " + tolerancePercent + ","); int correct_screws = 0; foreach(GameObject screw in real_screws) { + writer.WriteLine(screw.name + "," + "Translational Accuracy" + "," + "Rotational Accuracy"); foreach(GameObject g_screw in ghost_screws) { if (checkScrewInPlace(screw,g_screw)) { - if (BoundsContainedPercentage(screw, g_screw) >= tolerancePercent) + if ((BoundsContainedPercentage(screw, g_screw)[0] >= tolerancePercent) && (BoundsContainedPercentage(screw, g_screw)[1] >= tolerancePercent)) { + Debug.Log(g_screw.name + "," + BoundsContainedPercentage(screw, g_screw)[0] + "," + BoundsContainedPercentage(screw, g_screw)[1]); correct_screws += 1; } assessResult.text = (correct_screws + " out of 3 screws are correctly placed"); - writer.WriteLine("Placement accuracy of " + screw + " compared to " + g_screw + " is " + BoundsContainedPercentage(screw, g_screw)); + writer.WriteLine(g_screw.name + "," + BoundsContainedPercentage(screw, g_screw)[0] + "," + BoundsContainedPercentage(screw, g_screw)[1]); continue; } - - writer.WriteLine("Placement accuracy of " + screw + " compared to " + g_screw + " is " + BoundsContainedPercentage(screw, g_screw)); - + assessResult.text = (correct_screws + " out of 3 screws are correctly placed"); + writer.WriteLine(g_screw.name + "," + BoundsContainedPercentage(screw, g_screw)[0] + "," + BoundsContainedPercentage(screw, g_screw)[1]); } } - writer.WriteLine(correct_screws + " out of 3 screws are correctly placed"); - writer.WriteLine("-----------------------"); - writer.WriteLine("-----------------------"); - writer.Close(); - // End write + writer.WriteLine(correct_screws + " out of 3 screws are correctly placed" + "," + ","); + writer.Close(); + // End write - if (assessCounter >= assessLimit) - { - foreach (GameObject g_screw in ghost_screws) { - g_screw.GetComponentInChildren().enabled=true; - //g_screw.gameObject.SetActive( false ); + if (!StartGame.isPreTest) + { + if (assessCounter >= assessLimit) + { + foreach (GameObject g_screw in ghost_screws) { + g_screw.GetComponentInChildren().enabled=true; + //g_screw.gameObject.SetActive( false ); + } } - } - - Debug.Log(correct_screws); - + } } // Update is called once per frame diff --git a/Assets/Scripts/CameraOrbit.cs b/Assets/Scripts/CameraOrbit.cs new file mode 100644 index 0000000..1091ecf --- /dev/null +++ b/Assets/Scripts/CameraOrbit.cs @@ -0,0 +1,87 @@ +// A simple Unity C# script for orbital movement around a target gameobject +// Author: Ashkan Ashtiani +// Gist on Github: https://gist.github.com/3dln/c16d000b174f7ccf6df9a1cb0cef7f80 + +using System; +using UnityEngine; + +namespace TDLN.CameraControllers +{ + public class CameraOrbit : MonoBehaviour + { + public GameObject target; + public float distance = 10.0f; + + public float xSpeed = 250.0f; + public float ySpeed = 120.0f; + + public float yMinLimit = -20; + public float yMaxLimit = 80; + + float x = 0.0f; + float y = 0.0f; + + void Start() + { + var angles = transform.eulerAngles; + x = angles.y; + y = angles.x; + } + + float prevDistance; + + void LateUpdate() + { + if (distance < 2) distance = 2; + distance -= Input.GetAxis("Mouse ScrollWheel") * 2; + if (target && (Input.GetMouseButton(1))) + { + var pos = Input.mousePosition; + var dpiScale = 1f; + if (Screen.dpi < 1) dpiScale = 1; + if (Screen.dpi < 200) dpiScale = 1; + else dpiScale = Screen.dpi / 200f; + + if (pos.x < 380 * dpiScale && Screen.height - pos.y < 250 * dpiScale) return; + + // comment out these two lines if you don't want to hide mouse curser or you have a UI button + Cursor.visible = false; + Cursor.lockState = CursorLockMode.Locked; + + x += Input.GetAxis("Mouse X") * xSpeed * 0.02f; + y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f; + + y = ClampAngle(y, yMinLimit, yMaxLimit); + var rotation = Quaternion.Euler(y, x, 0); + var position = rotation * new Vector3(0.0f, 0.0f, -distance) + target.transform.position; + transform.rotation = rotation; + transform.position = position; + + } + else + { + // comment out these two lines if you don't want to hide mouse curser or you have a UI button + Cursor.visible = true; + Cursor.lockState = CursorLockMode.None; + } + + if (Math.Abs(prevDistance - distance) > 0.001f) + { + prevDistance = distance; + var rot = Quaternion.Euler(y, x, 0); + var po = rot * new Vector3(0.0f, 0.0f, -distance) + target.transform.position; + transform.rotation = rot; + transform.position = po; + } + } + + static float ClampAngle(float angle, float min, float max) + { + if (angle < -360) + angle += 360; + if (angle > 360) + angle -= 360; + return Mathf.Clamp(angle, min, max); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/CameraOrbit.cs.meta b/Assets/Scripts/CameraOrbit.cs.meta new file mode 100644 index 0000000..5d49920 --- /dev/null +++ b/Assets/Scripts/CameraOrbit.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 43f41fc7da2573f488e8e922bbe566e2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/CameraTargetOrientationScript.cs b/Assets/Scripts/CameraTargetOrientationScript.cs new file mode 100644 index 0000000..b779480 --- /dev/null +++ b/Assets/Scripts/CameraTargetOrientationScript.cs @@ -0,0 +1,76 @@ +/***************************************************************/ +/********** Simple target orientation camera script. ***********/ +/*** You can change parameters, such as rotation/zoom speed. ***/ +/***************************************************************/ + +using UnityEngine; +using System.Collections; + +public class CameraTargetOrientationScript : MonoBehaviour +{ + [Header("Mouse input:", order = 0)] + [Space(-10, order = 1)] + [Header("- Hold and drag RMB to rotate", order = 2)] + [Space(-10, order = 3)] + [Header("- Use mouse wheel to zoom in/out", order = 4)] + [Space(5, order = 5)] + + public bool enableRotation = true; + + [Header("Choose target")] + public Transform target; + + //Camera fields + private float _smoothness = 0.5f; + private Vector3 _cameraOffset; + + //Mouse control fields + [Space(2)] + [Header("Mouse Controls")] + public float rotationSpeedMouse = 5; + public float zoomSpeedMouse = 10; + + private float _zoomAmountMouse = 0; + private float _maxToClampMouse = 5; + + void Start() + { + _cameraOffset = transform.position - target.position; + transform.LookAt(target); + } + + void LateUpdate() + { + + // Rotating camera with RMB dragging on PC. + if (enableRotation && (Input.GetMouseButton(1))) + { + + Quaternion camAngle = Quaternion.AngleAxis(Input.GetAxis("Mouse X") * rotationSpeedMouse, Vector3.up); + + Vector3 newPos = target.position + _cameraOffset; + _cameraOffset = camAngle * _cameraOffset; + + transform.position = Vector3.Slerp(transform.position, newPos, _smoothness); + transform.LookAt(target); + } + + else + { + // Translating camera on PC with mouse wheel. + + _zoomAmountMouse += Input.GetAxis("Mouse ScrollWheel"); + _zoomAmountMouse = Mathf.Clamp(_zoomAmountMouse, -_maxToClampMouse, _maxToClampMouse); + + var translate = Mathf.Min(Mathf.Abs(Input.GetAxis("Mouse ScrollWheel")), _maxToClampMouse - Mathf.Abs(_zoomAmountMouse)); + transform.Translate(0, 0, translate * zoomSpeedMouse * Mathf.Sign(Input.GetAxis("Mouse ScrollWheel"))); + + _cameraOffset = transform.position - target.position; + + } + + } + + + +} \ No newline at end of file diff --git a/Assets/Scripts/CameraTargetOrientationScript.cs.meta b/Assets/Scripts/CameraTargetOrientationScript.cs.meta new file mode 100644 index 0000000..6879481 --- /dev/null +++ b/Assets/Scripts/CameraTargetOrientationScript.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5c7efb9a59db296aba030425c5bed10d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OrbitCamera.cs b/Assets/Scripts/OrbitCamera.cs new file mode 100644 index 0000000..2224a6c --- /dev/null +++ b/Assets/Scripts/OrbitCamera.cs @@ -0,0 +1,175 @@ +using UnityEngine; + +[RequireComponent(typeof(Camera))] +public class OrbitCamera : MonoBehaviour { + + [SerializeField] + Transform focus = default; + + [SerializeField, Range(1f, 20f)] + float distance = 5f; + + [SerializeField, Min(0f)] + float focusRadius = 5f; + + [SerializeField, Range(0f, 1f)] + float focusCentering = 0.5f; + + [SerializeField, Range(1f, 360f)] + float rotationSpeed = 90f; + + [SerializeField, Range(-89f, 89f)] + float minVerticalAngle = -45f, maxVerticalAngle = 45f; + + [SerializeField, Min(0f)] + float alignDelay = 5f; + + [SerializeField, Range(0f, 90f)] + float alignSmoothRange = 45f; + + [SerializeField] + LayerMask obstructionMask = -1; + + Camera regularCamera; + + Vector3 focusPoint, previousFocusPoint; + + Vector2 orbitAngles = new Vector2(45f, 0f); + + float lastManualRotationTime; + + Vector3 CameraHalfExtends { + get { + Vector3 halfExtends; + halfExtends.y = + regularCamera.nearClipPlane * + Mathf.Tan(0.5f * Mathf.Deg2Rad * regularCamera.fieldOfView); + halfExtends.x = halfExtends.y * regularCamera.aspect; + halfExtends.z = 0f; + return halfExtends; + } + } + + void OnValidate () { + if (maxVerticalAngle < minVerticalAngle) { + maxVerticalAngle = minVerticalAngle; + } + } + + void Awake () { + regularCamera = GetComponent(); + focusPoint = focus.position; + transform.localRotation = Quaternion.Euler(orbitAngles); + } + + void LateUpdate () { + UpdateFocusPoint(); + Quaternion lookRotation; + if (ManualRotation() || AutomaticRotation()) { + ConstrainAngles(); + lookRotation = Quaternion.Euler(orbitAngles); + } + else { + lookRotation = transform.localRotation; + } + + Vector3 lookDirection = lookRotation * Vector3.forward; + Vector3 lookPosition = focusPoint - lookDirection * distance; + + Vector3 rectOffset = lookDirection * regularCamera.nearClipPlane; + Vector3 rectPosition = lookPosition + rectOffset; + Vector3 castFrom = focus.position; + Vector3 castLine = rectPosition - castFrom; + float castDistance = castLine.magnitude; + Vector3 castDirection = castLine / castDistance; + + if (Physics.BoxCast( + castFrom, CameraHalfExtends, castDirection, out RaycastHit hit, + lookRotation, castDistance, obstructionMask + )) { + rectPosition = castFrom + castDirection * hit.distance; + lookPosition = rectPosition - rectOffset; + } + + transform.SetPositionAndRotation(lookPosition, lookRotation); + } + + void UpdateFocusPoint () { + previousFocusPoint = focusPoint; + Vector3 targetPoint = focus.position; + if (focusRadius > 0f) { + float distance = Vector3.Distance(targetPoint, focusPoint); + float t = 1f; + if (distance > 0.01f && focusCentering > 0f) { + t = Mathf.Pow(1f - focusCentering, Time.unscaledDeltaTime); + } + if (distance > focusRadius) { + t = Mathf.Min(t, focusRadius / distance); + } + focusPoint = Vector3.Lerp(targetPoint, focusPoint, t); + } + else { + focusPoint = targetPoint; + } + } + + bool ManualRotation () { + Vector2 input = new Vector2( + Input.GetAxis("Vertical"), + Input.GetAxis("Horizontal") + ); + const float e = 0.001f; + if (input.x < -e || input.x > e || input.y < -e || input.y > e) { + orbitAngles += rotationSpeed * Time.unscaledDeltaTime * input; + lastManualRotationTime = Time.unscaledTime; + return true; + } + return false; + } + + bool AutomaticRotation () { + if (Time.unscaledTime - lastManualRotationTime < alignDelay) { + return false; + } + + Vector2 movement = new Vector2( + focusPoint.x - previousFocusPoint.x, + focusPoint.z - previousFocusPoint.z + ); + float movementDeltaSqr = movement.sqrMagnitude; + if (movementDeltaSqr < 0.0001f) { + return false; + } + + float headingAngle = GetAngle(movement / Mathf.Sqrt(movementDeltaSqr)); + float deltaAbs = Mathf.Abs(Mathf.DeltaAngle(orbitAngles.y, headingAngle)); + float rotationChange = + rotationSpeed * Mathf.Min(Time.unscaledDeltaTime, movementDeltaSqr); + if (deltaAbs < alignSmoothRange) { + rotationChange *= deltaAbs / alignSmoothRange; + } + else if (180f - deltaAbs < alignSmoothRange) { + rotationChange *= (180f - deltaAbs) / alignSmoothRange; + } + orbitAngles.y = + Mathf.MoveTowardsAngle(orbitAngles.y, headingAngle, rotationChange); + return true; + } + + void ConstrainAngles () { + orbitAngles.x = + Mathf.Clamp(orbitAngles.x, minVerticalAngle, maxVerticalAngle); + + if (orbitAngles.y < 0f) { + orbitAngles.y += 360f; + } + else if (orbitAngles.y >= 360f) { + orbitAngles.y -= 360f; + } + } + + static float GetAngle (Vector2 direction) { + float angle = Mathf.Acos(direction.y) * Mathf.Rad2Deg; + return direction.x < 0f ? 360f - angle : angle; + } +} diff --git a/Assets/Scripts/OrbitCamera.cs.meta b/Assets/Scripts/OrbitCamera.cs.meta new file mode 100644 index 0000000..19b53f1 --- /dev/null +++ b/Assets/Scripts/OrbitCamera.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4961f334bde262eb1a1d6bf3fb5050e2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Scripts/Gizmo/Gizmo.cs b/Assets/_Scripts/Gizmo/Gizmo.cs index 7d86952..fc7ddcc 100755 --- a/Assets/_Scripts/Gizmo/Gizmo.cs +++ b/Assets/_Scripts/Gizmo/Gizmo.cs @@ -89,12 +89,10 @@ public void SetType(GizmoTypes type) AxisY.SetType(GizmoTypes.Position); if (type == GizmoTypes.Rotation) { - Debug.Log("lol"); AxisY.SetActive(false); } else { - Debug.Log("fail"); AxisY.SetActive(true); } //AxisY.SetType(type); diff --git a/Assets/assessResult.csv b/Assets/assessResult.csv new file mode 100644 index 0000000..cd0cc16 --- /dev/null +++ b/Assets/assessResult.csv @@ -0,0 +1,105 @@ +,,,,POST-TEST,, +,,,,Assessment #1,Tolerance at 0.95, +,,,,Red Screw,Trans.,Rot. +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,Green Screw,Trans.,Rot. +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,Blue Screw,Trans.,Rot. +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,0 out of 3 screws are correctly placed,, +,,,,POST-TEST,, +,,,,Assessment #1,Tolerance at 0.95, +,,,,Red Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,Green Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,Blue Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,0 out of 3 screws are correctly placed,, +,,,,POST-TEST,, +,,,,Assessment #2,Tolerance at 0.95, +,,,,Red Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,Green Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,Blue Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,0 out of 3 screws are correctly placed,, +,,,,PRE-TEST,, +,,,,Assessment #1,Tolerance at 0.95, +,,,,Red Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,Green Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,Blue Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,0 out of 3 screws are correctly placed,, +,,,,PRE-TEST,, +,,,,Assessment #1,Tolerance at 0.95, +,,,,Red Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,Green Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,Blue Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,0 out of 3 screws are correctly placed,, +,,,,PRE-TEST,, +,,,,Assessment #2,Tolerance at 0.95, +,,,,Red Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,Green Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,Blue Screw,Translational Accuracy,Rotational Accuracy +,,,,Ghost Red Screw,0,0.8286155 +,,,,Ghost Green Screw,0,0.8286155 +,,,,Ghost Blue Screw,0,0.8286155 +,,,,0 out of 3 screws are correctly placed,, +,,,,PRE-TEST,, +,,,,Assessment #3,Tolerance at 0.95, +,,,,Red Screw,Translational Accuracy,Rotational Accuracy +Pre-test,0.95,3,red screw,Ghost Red Screw,0,0.8286155 +Pre-test,1.95,4,red screw,Ghost Green Screw,0,0.8286155 +Pre-test,2.95,5,red screw,Ghost Blue Screw,0,0.8286155 +Pre-test,3.95,6,,Green Screw,Translational Accuracy,Rotational Accuracy +Pre-test,4.95,7,,Ghost Red Screw,0,0.8286155 +Pre-test,5.95,8,,Ghost Green Screw,0,0.8286155 +Pre-test,6.95,9,,Ghost Blue Screw,0,0.8286155 +Pre-test,7.95,10,,Blue Screw,Translational Accuracy,Rotational Accuracy +Pre-test,8.95,11,,Ghost Red Screw,0,0.8286155 +Pre-test,9.95,12,,Ghost Green Screw,0,0.8286155 +Pre-test,0,13,,Ghost Blue Screw,0,0.8286155 +,,,,0 out of 3 screws are correctly placed,, diff --git a/Assets/assessResult.csv.meta b/Assets/assessResult.csv.meta new file mode 100644 index 0000000..98984b4 --- /dev/null +++ b/Assets/assessResult.csv.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0b239eee2166b069482b2ab4473b0177 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/assessResult.txt.meta b/Assets/assessResult.txt.meta new file mode 100644 index 0000000..84fc61b --- /dev/null +++ b/Assets/assessResult.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7b776793b3501ddee85398fb4d7a0232 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json index 9e8237d..63ccd43 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,8 +1,8 @@ { "dependencies": { - "com.unity.collab-proxy": "1.13.5", + "com.unity.collab-proxy": "1.15.12", "com.unity.ide.rider": "2.0.7", - "com.unity.ide.visualstudio": "2.0.11", + "com.unity.ide.visualstudio": "2.0.14", "com.unity.ide.vscode": "1.2.4", "com.unity.test-framework": "1.1.29", "com.unity.textmeshpro": "3.0.6", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 631d15f..79e1984 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -1,11 +1,10 @@ { "dependencies": { "com.unity.collab-proxy": { - "version": "1.13.5", + "version": "1.15.12", "depth": 0, "source": "registry", "dependencies": { - "com.unity.nuget.newtonsoft-json": "2.0.0", "com.unity.services.core": "1.0.1" }, "url": "https://packages.unity.com" @@ -27,7 +26,7 @@ "url": "https://packages.unity.com" }, "com.unity.ide.visualstudio": { - "version": "2.0.11", + "version": "2.0.14", "depth": 0, "source": "registry", "dependencies": { @@ -42,13 +41,6 @@ "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.nuget.newtonsoft-json": { - "version": "2.0.0", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, "com.unity.services.core": { "version": "1.0.1", "depth": 1, diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index 2b4e8e5..14a36b8 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2020.3.22f1 -m_EditorVersionWithRevision: 2020.3.22f1 (e1a7f79fd887) +m_EditorVersion: 2020.3.30f1 +m_EditorVersionWithRevision: 2020.3.30f1 (1fb1bf06830e) diff --git a/ignore.conf b/ignore.conf new file mode 100644 index 0000000..2172f6f --- /dev/null +++ b/ignore.conf @@ -0,0 +1,58 @@ +Library +library +Temp +temp +Obj +obj +Build +build +Builds +builds +UserSettings +usersettings +MemoryCaptures +memorycaptures +Logs +logs +/ignore.conf +*.private +*.private.meta +^*.private.[0-9]+$ +^*.private.[0-9]+.meta$ +**/Assets/AssetStoreTools +**/assets/assetstoretools +/Assets/Plugins/PlasticSCM* +/assets/plugins/PlasticSCM* +.vs +.gradle +ExportedObj +.consulo +*.csproj +*.unityproj +*.sln +*.suo +*.tmp +*.user +*.userprefs +*.pidb +*.booproj +*.svd +*.pdb +*.mdb +*.opendb +*.VC.db +*.pidb.meta +*.pdb.meta +*.mdb.meta +sysinfo.txt +*.apk +*.unitypackage +.collabignore +crashlytics-build.properties +**/Assets/AddressableAssetsData/*/*.bin* +**/assets/addressableassetsdata/*/*.bin* +**/Assets/StreamingAssets/aa.meta +**/assets/streamingassets/*/aa/* +.DS_Store* +Thumbs.db +Desktop.ini