├── .gitignore ├── HaRT ├── Assets │ ├── csc.rsp │ ├── Models │ │ ├── license.txt │ │ ├── LeftHand.fbx │ │ ├── RightHand.fbx │ │ ├── SimulatedHand.fbx │ │ ├── license.txt.meta │ │ ├── LeftHand.fbx.meta │ │ ├── RightHand.fbx.meta │ │ └── SimulatedHand.fbx.meta │ ├── _Scripts │ │ ├── Analysis │ │ │ ├── SerializableQuaternion.cs.meta │ │ │ ├── Logger.cs.meta │ │ │ ├── LoggerIO.cs.meta │ │ │ ├── LoggerEditor.cs.meta │ │ │ ├── MovementLogger.cs.meta │ │ │ ├── InEditModeAnalysis.cs.meta │ │ │ ├── ScreenInformation.cs.meta │ │ │ ├── SerializableVector3.cs.meta │ │ │ ├── VisualizationManager.cs.meta │ │ │ ├── ScreenInformation.cs │ │ │ ├── LoggerEditor.cs │ │ │ ├── SerializableVector3.cs │ │ │ ├── SerializableQuaternion.cs │ │ │ └── MovementLogger.cs │ │ ├── Analysis.meta │ │ ├── Editor.meta │ │ ├── Redirection.meta │ │ ├── Thresholds.meta │ │ ├── Redirection │ │ │ ├── RedirectionTechniques.meta │ │ │ ├── RedirectionTechniques │ │ │ │ ├── InterpolationRedirection │ │ │ │ │ ├── InterpolationRedirection.cs │ │ │ │ │ ├── Interpolation.cs.meta │ │ │ │ │ ├── InterpolationRedirection.cs.meta │ │ │ │ │ ├── InverseDistanceWeightingRedirection.cs.meta │ │ │ │ │ ├── Interpolation.cs │ │ │ │ │ └── InverseDistanceWeightingRedirection.cs │ │ │ │ ├── BodyWarping.meta │ │ │ │ ├── WorldWarping.meta │ │ │ │ ├── InterpolationRedirection.meta │ │ │ │ ├── BodyWarping │ │ │ │ │ ├── Zenner_Regitz_Krueger_BodyWarping_BSHR.meta │ │ │ │ │ ├── BodyWarping.cs.meta │ │ │ │ │ ├── Cheng_BodyWarping.cs.meta │ │ │ │ │ ├── Han_BodyWarping.cs.meta │ │ │ │ │ ├── Zenner_BodyWarping.cs.meta │ │ │ │ │ ├── Azmandian_BodyWarping.cs.meta │ │ │ │ │ ├── Zenner_BodyWarping_Extended.cs.meta │ │ │ │ │ ├── Zenner_Regitz_Krueger_BodyWarping_BSHR │ │ │ │ │ │ ├── Math3D.cs.meta │ │ │ │ │ │ ├── BlinkDetector.cs.meta │ │ │ │ │ │ └── Zenner_Regitz_Krueger_BodyWarping_BSHR.cs.meta │ │ │ │ │ ├── Zenner_BodyWarping_Extended.cs │ │ │ │ │ └── Han_BodyWarping.cs │ │ │ │ └── WorldWarping │ │ │ │ │ ├── WorldWarping.cs.meta │ │ │ │ │ ├── WorldWarping_Rotational.cs.meta │ │ │ │ │ ├── WorldWarping_Translation.cs.meta │ │ │ │ │ ├── WorldWarping_AzmandianScenario.cs.meta │ │ │ │ │ ├── WorldWarping_Rotation_Translation.cs.meta │ │ │ │ │ ├── WorldWarping_Translation.cs │ │ │ │ │ ├── WorldWarping_Rotational.cs │ │ │ │ │ ├── WorldWarping_Rotation_Translation.cs │ │ │ │ │ └── WorldWarping_AzmandianScenario.cs │ │ │ ├── HandRedirector.cs.meta │ │ │ ├── RedirectionObject.cs.meta │ │ │ ├── VirtualToRealConnection.cs.meta │ │ │ ├── VirtualToRealConnection.cs │ │ │ └── HandRedirector.cs │ │ ├── CameraFollow.cs.meta │ │ ├── MouseMovement.cs.meta │ │ ├── MovementController.cs.meta │ │ ├── PackageGeneration.cs.meta │ │ ├── RedirectionManager.cs.meta │ │ ├── LeapMotionHandProjector.cs.meta │ │ ├── TargetCollisionManager.cs.meta │ │ ├── Thresholds │ │ │ ├── Thresholds.cs.meta │ │ │ ├── ThresholdController.cs.meta │ │ │ ├── ThresholdController.cs │ │ │ └── Thresholds.cs │ │ ├── Editor │ │ │ └── RedirectionManagerEditor.cs.meta │ │ ├── CameraFollow.cs │ │ ├── LeapMotionHandProjector.cs │ │ ├── TargetCollisionManager.cs │ │ └── MouseMovement.cs │ ├── SHR │ │ ├── SaccadeDetection │ │ │ ├── Scripts │ │ │ │ ├── TestScenarioBasic.cs │ │ │ │ ├── CubeManager.cs.meta │ │ │ │ ├── ExampleScript1.cs.meta │ │ │ │ ├── ExampleScript2.cs.meta │ │ │ │ ├── SaccadeDetection.cs.meta │ │ │ │ ├── TestScenarioBasic.cs.meta │ │ │ │ ├── ExampleScript1.cs │ │ │ │ └── ExampleScript2.cs │ │ │ ├── Material │ │ │ │ ├── Audio │ │ │ │ │ ├── 620797__tripjazz__glikey.wav │ │ │ │ │ ├── 508027__tripjazz__northeast-bling.wav │ │ │ │ │ ├── 620797__tripjazz__glikey.wav.meta │ │ │ │ │ └── 508027__tripjazz__northeast-bling.wav.meta │ │ │ │ └── Audio.meta │ │ │ ├── Scenes.meta │ │ │ ├── Material.meta │ │ │ ├── Prefabs.meta │ │ │ ├── Prefabs │ │ │ │ └── SaccadeDetection.prefab.meta │ │ │ ├── Scripts.meta │ │ │ └── Scenes │ │ │ │ ├── SaccadeDetectionTestScene_Easy.unity.meta │ │ │ │ ├── SaccadeDetectionTestScene_Medium.unity.meta │ │ │ │ └── SaccadeDetectionTestScene_Difficult.unity.meta │ │ ├── Prefabs │ │ │ ├── SBHR.prefab.meta │ │ │ ├── SBHR Passive.prefab.meta │ │ │ └── IntersectionPlane.prefab.meta │ │ ├── ThresholdFunction │ │ │ ├── SHRThresholdPredictorOrder4Constrained.cs │ │ │ ├── SHRThresholdPredictorOrder2Unconstrained.cs │ │ │ ├── SHRThresholdPredictorOrder2Unconstrained.cs.meta │ │ │ └── SHRThresholdPredictorOrder4Constrained.cs.meta │ │ ├── Prefabs.meta │ │ ├── Scenes.meta │ │ ├── Scripts.meta │ │ ├── Materials.meta │ │ ├── SaccadeDetection.meta │ │ ├── ThresholdFunction.meta │ │ ├── Scenes │ │ │ └── SaccadicVRSceneTrackerCalibration.unity.meta │ │ ├── Materials │ │ │ ├── start-red.mat.meta │ │ │ ├── start-green.mat.meta │ │ │ ├── transparent.mat.meta │ │ │ ├── start-red.mat │ │ │ ├── start-green.mat │ │ │ └── transparent.mat │ │ └── Scripts │ │ │ ├── IntersectionManager.cs.meta │ │ │ └── SaccadicHandRedirection.cs.meta │ ├── csc.rsp.meta │ ├── Prefabs │ │ ├── HaRT_Leap.prefab.meta │ │ ├── HaRT_core.prefab.meta │ │ ├── ResetPosition.prefab.meta │ │ ├── HaRT_coreWithVR.prefab.meta │ │ ├── PrefabComponents │ │ │ ├── Logger.prefab.meta │ │ │ ├── Player.prefab.meta │ │ │ ├── Camera_RealHand.prefab.meta │ │ │ ├── TopDownCamera.prefab.meta │ │ │ ├── Camera_VirtualHand.prefab.meta │ │ │ ├── RedirectionManager.prefab.meta │ │ │ ├── SampleRoom │ │ │ │ ├── RealWorld.prefab.meta │ │ │ │ ├── VirtualCube.prefab.meta │ │ │ │ ├── PhysicalButton.prefab.meta │ │ │ │ ├── PhysicalCube.prefab.meta │ │ │ │ ├── VirtualButton.prefab.meta │ │ │ │ ├── VirtualWorld.prefab.meta │ │ │ │ ├── fakeVirtualButton.prefab.meta │ │ │ │ ├── RealWorld.prefab │ │ │ │ ├── PhysicalCube.prefab │ │ │ │ └── VirtualCube.prefab │ │ │ ├── SampleRoom.meta │ │ │ ├── Camera_RealHand.prefab │ │ │ └── Camera_VirtualHand.prefab │ │ ├── VirtualToRealConnection.prefab.meta │ │ ├── HandCalibration.meta │ │ ├── PrefabComponents.meta │ │ ├── RedirectionTechniquesPrefabs.meta │ │ ├── HandCalibration │ │ │ └── HandModelWithPivotAtFingertip.prefab.meta │ │ └── RedirectionTechniquesPrefabs │ │ │ ├── BodyWarping.meta │ │ │ ├── BodyWarping │ │ │ ├── BodyWarping_Cheng.prefab.meta │ │ │ ├── BodyWarping_Han.prefab.meta │ │ │ ├── BodyWarping_Zenner.prefab.meta │ │ │ ├── BodyWarping_Azmandian.prefab.meta │ │ │ ├── BodyWarping_Zenner_Extended.prefab.meta │ │ │ ├── BodyWarping_Zenner_Regitz_Krueger_BSHR.prefab.meta │ │ │ ├── BodyWarping_Han.prefab │ │ │ ├── BodyWarping_Zenner_Extended.prefab │ │ │ ├── BodyWarping_Zenner.prefab │ │ │ ├── BodyWarping_Cheng.prefab │ │ │ └── BodyWarping_Azmandian.prefab │ │ │ ├── Interpolation.meta │ │ │ ├── WorldWarping.meta │ │ │ ├── Interpolation │ │ │ ├── InverseDistanceWeighting.prefab.meta │ │ │ └── InverseDistanceWeighting.prefab │ │ │ └── WorldWarping │ │ │ ├── WorldWarping_Rotational.prefab.meta │ │ │ ├── WorldWarping_Translation.prefab.meta │ │ │ ├── WorldWarping_Rotation_Translation.prefab.meta │ │ │ ├── WorldWarping_Rotational.prefab │ │ │ ├── WorldWarping_Translation.prefab │ │ │ └── WorldWarping_Rotation_Translation.prefab │ ├── Models.meta │ ├── Prefabs.meta │ ├── SHR.meta │ ├── ExampleScenes │ │ ├── GetStarted.unity.meta │ │ ├── SBHRExample.unity.meta │ │ ├── BodyWarpingEmpty.unity.meta │ │ ├── BodyWarpingExample.unity.meta │ │ ├── InterpolationEmpty.unity.meta │ │ ├── LeapMotionExample.unity.meta │ │ ├── VR.meta │ │ ├── VR │ │ │ ├── SBHRExample.unity.meta │ │ │ ├── BlockIllusionExample_VR.unity.meta │ │ │ ├── BodyWarpingExample_VR.unity.meta │ │ │ ├── InterpolationExample_VR.unity.meta │ │ │ ├── WorldWarpingExample_VR.unity.meta │ │ │ ├── BlinkSuppressedHandRedirection.unity.meta │ │ │ ├── HandCalibration_BodyWarpingExample_VR.unity.meta │ │ │ ├── HandCalibration_BodyWarpingExample_VRSettings.lighting.meta │ │ │ ├── BodyWarpingExample_VRSettings.lighting.meta │ │ │ ├── BodyWarpingExample_VRSettings.lighting │ │ │ └── HandCalibration_BodyWarpingExample_VRSettings.lighting │ │ ├── WorldWarpingEmpty.unity.meta │ │ ├── InterpolationExample.unity.meta │ │ ├── WorldWarpingExample.unity.meta │ │ ├── LeapMotionExampleSettings.lighting.meta │ │ └── LeapMotionExampleSettings.lighting │ ├── Materials.meta │ ├── _Scripts.meta │ ├── ExampleScenes.meta │ ├── HandCalibration.meta │ ├── HandCalibration │ │ ├── Scripts.meta │ │ ├── ExampleScenes.meta │ │ ├── ExampleScenes │ │ │ └── HandCalibrationExampleScene.unity.meta │ │ └── Scripts │ │ │ └── TouchPointCalibration.cs.meta │ └── Materials │ │ ├── New Material.mat.meta │ │ ├── Room_Floor.mat.meta │ │ ├── SimulatedHand.mat.meta │ │ ├── BodyWarpingAngleMaterial.mat.meta │ │ ├── DefaultConnectionMaterial.mat.meta │ │ ├── HighlightedConnectionMaterial.mat.meta │ │ ├── New Material.mat │ │ ├── Room_Floor.mat │ │ ├── HighlightedConnectionMaterial.mat │ │ ├── DefaultConnectionMaterial.mat │ │ ├── SimulatedHand.mat │ │ └── BodyWarpingAngleMaterial.mat ├── ProjectSettings │ ├── boot.config │ ├── ProjectVersion.txt │ ├── XRPackageSettings.asset │ ├── ClusterInputManager.asset │ ├── PresetManager.asset │ ├── XRSettings.asset │ ├── VersionControlSettings.asset │ ├── TimeManager.asset │ ├── VFXManager.asset │ ├── EditorBuildSettings.asset │ ├── URPProjectSettings.asset │ ├── AudioManager.asset │ ├── TagManager.asset │ ├── UnityConnectSettings.asset │ ├── PackageManagerSettings.asset │ ├── EditorSettings.asset │ ├── DynamicsManager.asset │ ├── MemorySettings.asset │ ├── NavMeshAreas.asset │ ├── Physics2DSettings.asset │ └── GraphicsSettings.asset ├── UserSettings │ ├── Search.settings │ └── EditorUserSettings.asset ├── UIElementsSchema │ ├── UIElements.xsd │ ├── UnityEditor.ShaderGraph.Drawing.xsd │ ├── UnityEditor.UIElements.Debugger.xsd │ └── UnityEditor.Rendering.LookDev.xsd ├── Packages │ └── manifest.json └── .gitignore ├── pics ├── layers.PNG ├── fixed-prefab.PNG ├── missing-prefab.PNG ├── package-layer.PNG ├── change-children.PNG ├── camera-cullingmask.PNG ├── git-prefab-errors.PNG ├── missing-mono-script.PNG ├── Player-prefab-fingertips.PNG ├── Leap-plugin-error-obsolete.PNG └── fingertip-attached-targetCollisionManager.PNG └── Packages ├── HaRT_BSHR.unitypackage ├── HaRT_Leap.unitypackage ├── HaRT_SBHR.unitypackage ├── HaRT_core.unitypackage ├── HaRT_TrackerHandCalibration.unitypackage └── HandCalibrationWithViveTracker.unitypackage /.gitignore: -------------------------------------------------------------------------------- 1 | _Dependencies/* -------------------------------------------------------------------------------- /HaRT/Assets/csc.rsp: -------------------------------------------------------------------------------- 1 | -define:Leap -------------------------------------------------------------------------------- /HaRT/ProjectSettings/boot.config: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /HaRT/UserSettings/Search.settings: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /pics/layers.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/pics/layers.PNG -------------------------------------------------------------------------------- /pics/fixed-prefab.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/pics/fixed-prefab.PNG -------------------------------------------------------------------------------- /pics/missing-prefab.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/pics/missing-prefab.PNG -------------------------------------------------------------------------------- /pics/package-layer.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/pics/package-layer.PNG -------------------------------------------------------------------------------- /pics/change-children.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/pics/change-children.PNG -------------------------------------------------------------------------------- /pics/camera-cullingmask.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/pics/camera-cullingmask.PNG -------------------------------------------------------------------------------- /pics/git-prefab-errors.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/pics/git-prefab-errors.PNG -------------------------------------------------------------------------------- /pics/missing-mono-script.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/pics/missing-mono-script.PNG -------------------------------------------------------------------------------- /HaRT/Assets/Models/license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/HaRT/Assets/Models/license.txt -------------------------------------------------------------------------------- /HaRT/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2021.3.7f1 2 | m_EditorVersionWithRevision: 2021.3.7f1 (24e8595d6d43) 3 | -------------------------------------------------------------------------------- /HaRT/Assets/Models/LeftHand.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/HaRT/Assets/Models/LeftHand.fbx -------------------------------------------------------------------------------- /HaRT/Assets/Models/RightHand.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/HaRT/Assets/Models/RightHand.fbx -------------------------------------------------------------------------------- /Packages/HaRT_BSHR.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/Packages/HaRT_BSHR.unitypackage -------------------------------------------------------------------------------- /Packages/HaRT_Leap.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/Packages/HaRT_Leap.unitypackage -------------------------------------------------------------------------------- /Packages/HaRT_SBHR.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/Packages/HaRT_SBHR.unitypackage -------------------------------------------------------------------------------- /Packages/HaRT_core.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/Packages/HaRT_core.unitypackage -------------------------------------------------------------------------------- /pics/Player-prefab-fingertips.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/pics/Player-prefab-fingertips.PNG -------------------------------------------------------------------------------- /pics/Leap-plugin-error-obsolete.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/pics/Leap-plugin-error-obsolete.PNG -------------------------------------------------------------------------------- /HaRT/Assets/Models/SimulatedHand.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/HaRT/Assets/Models/SimulatedHand.fbx -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis/SerializableQuaternion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d8ef4f1f2d94749981732e0894651c6 3 | timeCreated: 1582796726 -------------------------------------------------------------------------------- /Packages/HaRT_TrackerHandCalibration.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/Packages/HaRT_TrackerHandCalibration.unitypackage -------------------------------------------------------------------------------- /pics/fingertip-attached-targetCollisionManager.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/pics/fingertip-attached-targetCollisionManager.PNG -------------------------------------------------------------------------------- /Packages/HandCalibrationWithViveTracker.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/Packages/HandCalibrationWithViveTracker.unitypackage -------------------------------------------------------------------------------- /HaRT/ProjectSettings/XRPackageSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_Settings": [ 3 | "RemoveLegacyInputHelpersForReload", 4 | "ShouldQueryLegacyPackageRemoval" 5 | ] 6 | } -------------------------------------------------------------------------------- /HaRT/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: [] 7 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Scripts/TestScenarioBasic.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/HaRT/Assets/SHR/SaccadeDetection/Scripts/TestScenarioBasic.cs -------------------------------------------------------------------------------- /HaRT/Assets/csc.rsp.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d9905ee3e8ad074f9dee42f7bbc2518 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Models/license.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f87dc269a8a86c4182b93f957c98466 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/HaRT_Leap.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5ce1deb9f2f14a4da2bd580661c7aef 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/HaRT_core.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13e09beb6ff11f04b863cfb0c4099342 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Prefabs/SBHR.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db4591b6df8fe794aa6918b89a479c46 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/ThresholdFunction/SHRThresholdPredictorOrder4Constrained.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/HaRT/Assets/SHR/ThresholdFunction/SHRThresholdPredictorOrder4Constrained.cs -------------------------------------------------------------------------------- /HaRT/Assets/Models.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2d0ff98749716f489a797c357b99e68 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7fe234c0b60650040a8913a47bbe4642 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/ResetPosition.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 28da7e353f747074f81d17339dcc5241 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f946c03776b7382409c44a093d87f962 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Material/Audio/620797__tripjazz__glikey.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/HaRT/Assets/SHR/SaccadeDetection/Material/Audio/620797__tripjazz__glikey.wav -------------------------------------------------------------------------------- /HaRT/Assets/SHR/ThresholdFunction/SHRThresholdPredictorOrder2Unconstrained.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/HaRT/Assets/SHR/ThresholdFunction/SHRThresholdPredictorOrder2Unconstrained.cs -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/GetStarted.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4de4fe6f078ba9d44a9a77295546c91c 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/SBHRExample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3040cb107df70e34e99a95be6bef447a 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e67e49c0e58fd4a4983747549ab6da41 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/HaRT_coreWithVR.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a441762dcaf443644813f8186313cdf5 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca85a7b8e0d559946bc689c9eba554dd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Prefabs/SBHR Passive.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b932d69460f3f04eb28297fd5177acc 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dbc47d9d17ce7ba47a9bf0148a3193b1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e2896a70cd784e4fb91aa9b0394c158 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df1fcb9f97caca644b36102f5b911edd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c54466b2b8e8ad468c7be0b4dea5121 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/BodyWarpingEmpty.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 017b116e910873244b57dc5c7399ac72 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/BodyWarpingExample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f3024d60d2a1fb4f9011c95dc819fb7 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/InterpolationEmpty.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 575d99c952cfda541ba1fec13e8a7874 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/LeapMotionExample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cab7cf992f34be74fbd084b0df4d3d70 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/VR.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db34d6c5191a6584f93fc6e02366dde7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/VR/SBHRExample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: addd08ebca864184baf530b255d1ce60 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/WorldWarpingEmpty.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd81c27a5f8d76745b66300eefcf933e 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/HandCalibration.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0308640ccbea8214987203df10f236a7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/Logger.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 711e893e2403f1f4384d93aa21fbd2ca 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/Player.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ebc684645e337204db02a109570c25f6 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/VirtualToRealConnection.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71e57dad47c3ac34a8a151bf83be34d5 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e248fc83c6960e544a71ec391db13577 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Prefabs/IntersectionPlane.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 90a6b33ed50408d4d98891f3a5b11811 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8469b77ca8b34544916b130554cb73e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e90ec5c16b203d45ba31ea0e889ac3a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/InterpolationExample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fc4058cf91f87dd4f85418eb40354291 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/WorldWarpingExample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86a6081d34af8ee4ba7c87738592f45e 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 123f20d2f882cd746b389b0772679143 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Material/Audio/508027__tripjazz__northeast-bling.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreZenner/hand-redirection-toolkit/HEAD/HaRT/Assets/SHR/SaccadeDetection/Material/Audio/508027__tripjazz__northeast-bling.wav -------------------------------------------------------------------------------- /HaRT/Assets/SHR/ThresholdFunction.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34feb73b8abb25c47a2c5e58504578d6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 78b2850e4d4b0c84aa3a210e29502e49 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Thresholds.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69fc92fcc83dfac4d88f73a4b336de9e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/VR/BlockIllusionExample_VR.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e11911e4c27bfc040ac06dce46598e40 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/VR/BodyWarpingExample_VR.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8b45a6603263de47a5df048500b7058 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/VR/InterpolationExample_VR.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7eacbf966359614196ed56fb9f1d649 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/VR/WorldWarpingExample_VR.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e6e40df8b2d9f442957aac9aa6ecb9f 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/HandCalibration/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 423b30ca30828d6438c4171ac7e4380c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/HandCalibration.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6812125c1e3df964e98fbec479f3a039 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5fc5940a7a711d24cb490eb1d1d12d87 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/Camera_RealHand.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8cfb2a2ce57647246a64e82135e19cf0 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/TopDownCamera.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8cce318cc85d764aaa41315ca2798ec 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6c0d5555b4740447860dbd062913922 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/VR/BlinkSuppressedHandRedirection.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe0ddf3b3722d324ba8645f76e1c540d 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/HandCalibration/ExampleScenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: daa3fccd7954a3d48b53fe632d31d715 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/Camera_VirtualHand.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b22f4f8d79fb014fab1accc7bb536cd 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/RedirectionManager.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa0c58b403612f84297eab7a72852ecc 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/SampleRoom/RealWorld.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd2475e978842564abfd784929de37a0 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/SampleRoom/VirtualCube.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c64749882ec0c24f9edb5685a8d71a5 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Material.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d5e0b467c8c9aa4c8f4e497b8109dae 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e2fad7b898071c545b6875d603c9e1c6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Prefabs/SaccadeDetection.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0eb7dccc215a3ff4ea740d3ce161d626 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d39019a246791e74bb530c94c31e29bf 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Scenes/SaccadicVRSceneTrackerCalibration.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7b2516d89af32849a346612ac78888e 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Materials/New Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 87aaaafe76f95674bbf0a115e4adfe09 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/SampleRoom.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f9e4b4a898c19a5449f5c9a538ccf9e9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/SampleRoom/PhysicalButton.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5915f5114c415a44ba0a7ff65640fab1 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/SampleRoom/PhysicalCube.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 314bb7813ac2ed742b03265f2ed9b0da 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/SampleRoom/VirtualButton.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ade77f36ec910b140ac4878b7dfa02b6 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/SampleRoom/VirtualWorld.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de3fb4b1731121f4291c7e238df4b76a 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc5921964ada52141926fbcd78433943 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Materials/start-red.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9bbbaedbd20cb154eae33ee15751b237 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Material/Audio.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44b128cf41d9f6845ab56130dc71fcf2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/VR/HandCalibration_BodyWarpingExample_VR.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 825dc0b27d2045a46a6a269700b4c248 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/HandCalibration/ExampleScenes/HandCalibrationExampleScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 72de37eadf4435f4eab927052730e220 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Materials/Room_Floor.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7c769aff48bcd8644a53cf7575e8735c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/HandCalibration/HandModelWithPivotAtFingertip.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8364c85128d6c044c8563d0fed964878 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/SampleRoom/fakeVirtualButton.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2152e52d6da882a4e838144a40e1ad5b 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Materials/start-green.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c47f52e459566b04d8e81da0f08959bf 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Materials/transparent.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ec4e79270dfe3f40852d15af7c7f3ce 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44d1f5d6a86d72645bff98baa39df7fd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/InterpolationRedirection/InterpolationRedirection.cs: -------------------------------------------------------------------------------- 1 | 2 | namespace HR_Toolkit 3 | { 4 | public class InterpolationRedirection : HandRedirector 5 | { 6 | 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /HaRT/Assets/Materials/SimulatedHand.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 54c4ff129386ac449b516d873f7ff335 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Scenes/SaccadeDetectionTestScene_Easy.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2247a4069c2ce00498e2cbf680902342 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Scenes/SaccadeDetectionTestScene_Medium.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86ce716cc8da9c94e84ea803839805fb 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Materials/BodyWarpingAngleMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25b8adb7daf2bb2428bc165d4685bdff 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Materials/DefaultConnectionMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc16d7d4a3b53f34aaa497abb403dafe 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/BodyWarping.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23249f28c7de1fe4fbf7a68e8e72fc4d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/BodyWarping/BodyWarping_Cheng.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 241955f39b1fee540a2a663472950764 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/BodyWarping/BodyWarping_Han.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee9c30fb091b557449c4e63400442d5d 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/BodyWarping/BodyWarping_Zenner.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 584545c91ce1a92408895bf7cabaf531 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/Interpolation.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cfe252341f8d7ab4a8303d3be62004f4 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/WorldWarping.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 550723be428e5734faa2422aa7975af8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Scenes/SaccadeDetectionTestScene_Difficult.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec41cee225737c646aa6a8a417eaf0f4 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Materials/HighlightedConnectionMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d51cb0b2ecc443047a7fb162d4ea3665 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/BodyWarping/BodyWarping_Azmandian.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4bc39935a965c6f418bb868ad1635067 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/BodyWarping.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 952e595856bff514ea1fa8a7e9aba701 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/WorldWarping.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 088b3a34ea427444cbf7a7fad3b37d4a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/BodyWarping/BodyWarping_Zenner_Extended.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69e6360210177744982c58025e79ec05 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/Interpolation/InverseDistanceWeighting.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3790d57f22a4254e8d735df4a58314b 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/WorldWarping/WorldWarping_Rotational.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 56d8f1b2d919d7c49836a87f8d094761 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/WorldWarping/WorldWarping_Translation.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41f6584fc8be6704ab8b44264b6e1999 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/InterpolationRedirection.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a18e6e8bce6939c428f787dc91447725 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/BodyWarping/BodyWarping_Zenner_Regitz_Krueger_BSHR.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc29303738e521d40a4c5681b1196f8f 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/WorldWarping/WorldWarping_Rotation_Translation.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc69435b4e99d8646839c1c3e4618f29 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/LeapMotionExampleSettings.lighting.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b17f2d1e7338b79478370124cd4840cc 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4890085278179872738 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/VR/HandCalibration_BodyWarpingExample_VRSettings.lighting.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7007dee43b6eec14695d9e9612b75d75 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/VR/BodyWarpingExample_VRSettings.lighting.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7944680cd2d32764cb16051cd9915d2f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4890085278179872738 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/BodyWarping/Zenner_Regitz_Krueger_BodyWarping_BSHR.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: da45432b378b05c46a1bcb8549d247de 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis/Logger.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0387af6a705866244b1df562d7f6f571 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/CameraFollow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6781f897fc5eff41b896d52799f1f2c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/MouseMovement.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 75bd277e5b614674aae09d5d76efe8e6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis/LoggerIO.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c8410efe6413ad64eb66aec9993f9e30 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/MovementController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3690963e16a35dd46a0bd24a9e0cdce7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/PackageGeneration.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0dfce8afaa8f2ae44bab5bed216eb00d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/RedirectionManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30e1846a800b3fc40941be85184ef6b4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Scripts/IntersectionManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c59b2c7a6c3fc444b9530fb155a6b02 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis/LoggerEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb758c78153691f4084472d12bfd6cd7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis/MovementLogger.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea259cebd692eeb4a8286765994f52e7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/LeapMotionHandProjector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 269da5c017fb7954a9d5353ce65f535b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/TargetCollisionManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d8ea0c3912840149a80ce578a7a277a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Thresholds/Thresholds.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f69f79e8f63674041b608d090910f735 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Scripts/SaccadicHandRedirection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6b14c86f70b08e40bd0b7e6a6ddd960 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis/InEditModeAnalysis.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5f7bc79b8854b4244bef1640c4c8fae3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis/ScreenInformation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ecf57d4c19d33a64f858387cf5632fe3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis/SerializableVector3.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 55ecf9477bb96ae4089d99c39f08451b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis/VisualizationManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4da0bafe29689494eb8b83ffe96c3d8e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/HandRedirector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46deb6b8bcde0bb4d8093ebd9e42b0e3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 662e8b957c087474898ba6e40ff0456f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Thresholds/ThresholdController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f081d1bc6c889c439c3c8db6f6f7e0c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Scripts/CubeManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41ba41a3c7ab39c49b9a750cad144270 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Scripts/ExampleScript1.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97880892127a5c84fa5cac8e00c2214d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Scripts/ExampleScript2.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 682880ec7e972cd489f72fc50bd03f2a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Editor/RedirectionManagerEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f3cbe9d35e676f4cb70d48d318109e7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/VirtualToRealConnection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8919cf43afe3f524da64b66389c96d9e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/HandCalibration/Scripts/TouchPointCalibration.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb81ee6555d80a64aa7a98fdfb0feb1e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Scripts/SaccadeDetection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ac59f0860ea4ba489a79f358e0f19cd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Scripts/TestScenarioBasic.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c9d1642f89b33ba468e1447156773449 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/ThresholdFunction/SHRThresholdPredictorOrder2Unconstrained.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d83112a61e90cea428251f6d34b08077 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/ThresholdFunction/SHRThresholdPredictorOrder4Constrained.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 16f5efb1786c70043a327c0fd7c98b5a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/BodyWarping/BodyWarping.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de66a52b2dcaf8f4698600251e6993a3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/WorldWarping/WorldWarping.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f48e28aec1bb48a4599674525c0a393a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/BodyWarping/Cheng_BodyWarping.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45eacfffdd6f5074abdb76a520bbc3d3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/BodyWarping/Han_BodyWarping.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e65b4eb2495eb84290233cf70233b96 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/BodyWarping/Zenner_BodyWarping.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f4d76ca955243d848b916e2d590aa251 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/BodyWarping/Azmandian_BodyWarping.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: afddaad7c0afc364eadf27170ac4b85d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/WorldWarping/WorldWarping_Rotational.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a7600fb1237676e448c4ef9ad31f374c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/BodyWarping/Zenner_BodyWarping_Extended.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e8a9ff6611a6ed42af07a39e66c88bc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/InterpolationRedirection/Interpolation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 836edbe792bdb0f4ebc3c1d14dc9d822 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/WorldWarping/WorldWarping_Translation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76154040c7d686e41aa6df3682ae0f11 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/WorldWarping/WorldWarping_AzmandianScenario.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f96b53d6c0bc66b428d5711c42357cd3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/WorldWarping/WorldWarping_Rotation_Translation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 70d318040dd497a44b0f26005179fe3f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/InterpolationRedirection/InterpolationRedirection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88d84adfba8b52844811fa7bfcf2004c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/BodyWarping/Zenner_Regitz_Krueger_BodyWarping_BSHR/Math3D.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68235027f1c574e14b716e73144c6cb1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/InterpolationRedirection/InverseDistanceWeightingRedirection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee4e3e2bedef3ac4c821bf98947888c7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/BodyWarping/Zenner_Regitz_Krueger_BodyWarping_BSHR/BlinkDetector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed39edd33552b7f48a9f2589afb936ce 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/BodyWarping/Zenner_Regitz_Krueger_BodyWarping_BSHR/Zenner_Regitz_Krueger_BodyWarping_BSHR.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6dea4c1ba11943b2b9b9ab687153f03 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Thresholds/ThresholdController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace HR_Toolkit.Thresholds 6 | { 7 | public class ThresholdController : MonoBehaviour 8 | { 9 | public List thresholdses; 10 | 11 | public void CheckThresholds() 12 | { 13 | // TODO 14 | throw new NotImplementedException(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: [] 8 | m_configObjects: 9 | Unity.XR.OpenVR.Settings: {fileID: 11400000, guid: 6b083f7a97d63354ca74bfa0dd454b13, 10 | type: 2} 11 | com.unity.xr.management.loader_settings: {fileID: 11400000, guid: 64d12850791faf640841ac52f5f0e1ee, 12 | type: 2} 13 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Thresholds/Thresholds.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace HR_Toolkit.Thresholds 5 | { 6 | public abstract class Thresholds : MonoBehaviour 7 | { 8 | public enum Warning 9 | { 10 | Good, 11 | Ok, 12 | Critical, 13 | NotSet 14 | } 15 | 16 | public Warning actualWarningState = Warning.NotSet; 17 | 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis/ScreenInformation.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace HR_ 6 | { 7 | public class ScreenInformation : MonoBehaviour 8 | { 9 | public Canvas overviewCanvas; 10 | public Canvas realViewCanvas; 11 | public Canvas virtualViewCanvas; 12 | 13 | public void HandAlignment(bool b) 14 | { 15 | 16 | } 17 | 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/CameraFollow.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using HR_Toolkit; 4 | using UnityEngine; 5 | 6 | public class CameraFollow : MonoBehaviour 7 | { 8 | 9 | public GameObject objToFollow; 10 | // Start is called before the first frame update 11 | void Start() 12 | { 13 | transform.parent = objToFollow.transform; 14 | } 15 | 16 | // Update is called once per frame 17 | void Update() 18 | { 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/URPProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_LastMaterialVersion: 1 16 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 1024 20 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Material/Audio/620797__tripjazz__glikey.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2171da7d157ed2b4c907de4ce2177a93 3 | AudioImporter: 4 | externalObjects: {} 5 | serializedVersion: 6 6 | defaultSettings: 7 | loadType: 0 8 | sampleRateSetting: 0 9 | sampleRateOverride: 44100 10 | compressionFormat: 1 11 | quality: 1 12 | conversionMode: 0 13 | platformSettingOverrides: {} 14 | forceToMono: 0 15 | normalize: 1 16 | preloadAudioData: 1 17 | loadInBackground: 0 18 | ambisonic: 0 19 | 3D: 1 20 | userData: 21 | assetBundleName: 22 | assetBundleVariant: 23 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Material/Audio/508027__tripjazz__northeast-bling.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c29956ac9778a6e4095e3cc19374aee0 3 | AudioImporter: 4 | externalObjects: {} 5 | serializedVersion: 6 6 | defaultSettings: 7 | loadType: 0 8 | sampleRateSetting: 0 9 | sampleRateOverride: 44100 10 | compressionFormat: 1 11 | quality: 1 12 | conversionMode: 0 13 | platformSettingOverrides: {} 14 | forceToMono: 0 15 | normalize: 1 16 | preloadAudioData: 1 17 | loadInBackground: 0 18 | ambisonic: 0 19 | 3D: 1 20 | userData: 21 | assetBundleName: 22 | assetBundleVariant: 23 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: 7 | - realHand 8 | - virtualHand 9 | - virtualTarget 10 | - physicalTarget 11 | layers: 12 | - Default 13 | - TransparentFX 14 | - Ignore Raycast 15 | - 16 | - Water 17 | - UI 18 | - 19 | - 20 | - Physical/Hand 21 | - Physical/Object 22 | - Virtual/Hand 23 | - Virtual/Object 24 | - Visualization 25 | - Intersection 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | - 41 | - 42 | - 43 | - 44 | m_SortingLayers: 45 | - name: Default 46 | uniqueID: 0 47 | locked: 0 48 | - name: LineRendererView 49 | uniqueID: 2604093773 50 | locked: 0 51 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Scripts/ExampleScript1.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | /// 4 | /// This is an example script for reading the saccade detection data. 5 | /// Here we access the data via the two public variables saccade and blink. 6 | /// In this case, the output occurs as long as the saccade/ blink is lasting. 7 | /// 8 | 9 | public class ExampleScript1 : MonoBehaviour 10 | { 11 | [Tooltip("The currently used Saccade Detection")] 12 | public SaccadeDetection saccadeDetection; 13 | 14 | 15 | // Update is called once per frame 16 | void Update() 17 | { 18 | if (saccadeDetection.saccade) 19 | { 20 | Debug.Log("saccade"); 21 | } 22 | 23 | if (saccadeDetection.blink) 24 | { 25 | Debug.Log("blink"); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/LeapMotionHandProjector.cs: -------------------------------------------------------------------------------- 1 | using Leap; 2 | using Leap.Unity; 3 | using UnityEngine; 4 | 5 | namespace HR_Toolkit 6 | { 7 | 8 | public class LeapMotionHandProjector : PostProcessProvider 9 | { 10 | 11 | [Header("Projection")] 12 | public Transform headTransform; 13 | 14 | public Vector3 testPos; 15 | 16 | public override void ProcessFrame(ref Frame inputFrame) 17 | { 18 | if (headTransform == null) { headTransform = Camera.main.transform; } 19 | 20 | foreach (var hand in inputFrame.Hands) 21 | { 22 | hand.SetTransform(RedirectionManager.instance.virtualHand.transform.position, hand.Rotation.ToQuaternion()); 23 | //hand.SetTransform(testPos, hand.Rotation.ToQuaternion()); 24 | } 25 | } 26 | } 27 | } 28 | 29 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/SaccadeDetection/Scripts/ExampleScript2.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | /// 4 | /// This is an example script for reading the saccade detection data. 5 | /// Here we access the data via the saccade detection events. 6 | /// In this case the output occurs for each saccade/blink onset/end. 7 | /// 8 | 9 | public class ExampleScript2 : MonoBehaviour 10 | { 11 | // accessing the saccade values 12 | public void saccadeOccured() 13 | { 14 | Debug.Log("saccade occured"); 15 | } 16 | 17 | public void saccadeIsOver() 18 | { 19 | Debug.Log("saccade is over"); 20 | } 21 | 22 | // accessing the blink values 23 | public void blinkOccured() 24 | { 25 | Debug.Log("blink occured"); 26 | } 27 | 28 | public void blinkIsOver() 29 | { 30 | Debug.Log("blink is over"); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /HaRT/UIElementsSchema/UIElements.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/TargetCollisionManager.cs: -------------------------------------------------------------------------------- 1 | using HR_Toolkit; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using UnityEngine.Assertions; 6 | using System.Linq; 7 | 8 | 9 | public class TargetCollisionManager : MonoBehaviour 10 | { 11 | 12 | private void OnTriggerEnter(Collider collision) 13 | { 14 | 15 | if (RedirectionManager.instance.target == null) return; 16 | if (RedirectionManager.instance.reachedTarget) return; // target already reached previously - nothing to do 17 | 18 | // check whether this is the current target 19 | if (collision.gameObject == RedirectionManager.instance.target.GetRealTargetObject()) 20 | { 21 | RedirectionManager.instance.reachedTarget = true; // tell RedirectionManager that we reached the target 22 | RedirectionManager.instance.target.HandReachedCube(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/MouseMovement.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class MouseMovement : MonoBehaviour 6 | { 7 | public float speed = 10.0f; 8 | public float mouseWheelSpeed = 10.0f; 9 | public float rotationSpeed = 100.0f; 10 | 11 | void Update() 12 | { 13 | if (!Input.GetMouseButton(0)) return; 14 | var translationZ = Input.GetAxis("Mouse Y") * speed; 15 | var translationX = Input.GetAxis("Mouse X") * speed; 16 | var translationY = Input.GetAxis("Mouse ScrollWheel") * mouseWheelSpeed; 17 | //float rotation = Input.GetAxis("Horizontal") * rotationSpeed; 18 | 19 | translationZ *= Time.deltaTime; 20 | translationX *= Time.deltaTime; 21 | translationY *= Time.deltaTime; 22 | //rotation *= Time.deltaTime; 23 | 24 | transform.Translate(translationX, translationY, translationZ); 25 | 26 | //transform.Rotate(0, rotation, 0); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 0 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/SampleRoom/RealWorld.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &6489852967517852471 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 314582265419121062} 12 | m_Layer: 0 13 | m_Name: RealWorld 14 | m_TagString: Untagged 15 | m_Icon: {fileID: 0} 16 | m_NavMeshLayer: 0 17 | m_StaticEditorFlags: 0 18 | m_IsActive: 1 19 | --- !u!4 &314582265419121062 20 | Transform: 21 | m_ObjectHideFlags: 0 22 | m_CorrespondingSourceObject: {fileID: 0} 23 | m_PrefabInstance: {fileID: 0} 24 | m_PrefabAsset: {fileID: 0} 25 | m_GameObject: {fileID: 6489852967517852471} 26 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 27 | m_LocalPosition: {x: -0.10453881, y: 0.2474351, z: 1.4129242} 28 | m_LocalScale: {x: 1, y: 1, z: 1} 29 | m_Children: [] 30 | m_Father: {fileID: 0} 31 | m_RootOrder: 0 32 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 33 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreReleasePackages: 0 16 | m_EnablePackageDependencies: 0 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | m_SeeAllPackageVersions: 0 20 | oneTimeWarningShown: 0 21 | m_Registries: 22 | - m_Id: main 23 | m_Name: 24 | m_Url: https://packages.unity.com 25 | m_Scopes: [] 26 | m_IsDefault: 1 27 | m_Capabilities: 7 28 | m_UserSelectedRegistryName: 29 | m_UserAddingNewScopedRegistry: 0 30 | m_RegistryInfoDraft: 31 | m_Modified: 0 32 | m_ErrorMessage: 33 | m_UserModificationsInstanceId: -830 34 | m_OriginalInstanceId: -832 35 | m_LoadAssets: 0 36 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis/LoggerEditor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | 8 | [CustomEditor(typeof(Logger))] 9 | [CanEditMultipleObjects] 10 | public class LoggerEditor : Editor 11 | { 12 | private Logger _logger; 13 | //float minVal = 10; 14 | //float minLimit = 0; 15 | //float maxVal = 30; 16 | //float maxLimit = 100; 17 | 18 | /*public override void OnInspectorGUI() 19 | 20 | { 21 | base.OnInspectorGUI(); 22 | _logger = (Logger) target; 23 | EditorGUILayout.LabelField("Min Val:",minVal.ToString()); 24 | EditorGUILayout.LabelField("Max Val:", maxVal.ToString()); 25 | EditorGUILayout.MinMaxSlider(ref minVal, ref maxVal, minLimit, maxLimit); 26 | if (GUILayout.Button("Move!")) 27 | _logger.Draw(Mathf.FloorToInt(minVal), Mathf.FloorToInt(maxVal)); 28 | 29 | serializedObject.ApplyModifiedProperties(); 30 | }*/ 31 | 32 | } 33 | 34 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/InterpolationRedirection/Interpolation.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace HR_Toolkit 6 | { 7 | 8 | public class Interpolation : HandRedirector 9 | { 10 | public override void Init(RedirectionObject redirectionObject, Transform head, Vector3 warpOrigin) 11 | { 12 | 13 | 14 | 15 | } 16 | 17 | public override void ApplyRedirection(Transform realHandPos, Transform virtualHandPos, Transform warpOrigin, RedirectionObject target, 18 | Transform bodyTransform) 19 | { 20 | virtualHandPos.position = GetWarpedCoordinates(realHandPos.position); 21 | } 22 | 23 | private void ComputeWarpedSpace(RedirectionObject[] redirectedPrefabs) 24 | { 25 | 26 | 27 | } 28 | 29 | private Vector3 GetWarpedCoordinates(Vector3 realHandPosition) 30 | { 31 | var virtualHandPosition = Vector3.zero; 32 | 33 | 34 | 35 | return virtualHandPosition; 36 | } 37 | 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 9 7 | m_ExternalVersionControlSupport: Hidden Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 2 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 1 30 | m_AssetPipelineMode: 1 31 | m_CacheServerMode: 0 32 | m_CacheServerEndpoint: 33 | m_CacheServerNamespacePrefix: default 34 | m_CacheServerEnableDownload: 1 35 | m_CacheServerEnableUpload: 1 36 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 11 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 0 23 | m_ReuseCollisionCallbacks: 1 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ContactPairsMode: 0 26 | m_BroadphaseType: 0 27 | m_WorldBounds: 28 | m_Center: {x: 0, y: 0, z: 0} 29 | m_Extent: {x: 250, y: 250, z: 250} 30 | m_WorldSubdivisions: 8 31 | m_FrictionType: 0 32 | m_EnableEnhancedDeterminism: 0 33 | m_EnableUnifiedHeightmaps: 1 34 | m_DefaultMaxAngluarSpeed: 7 35 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/MemorySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!387306366 &1 4 | MemorySettings: 5 | m_ObjectHideFlags: 0 6 | m_EditorMemorySettings: 7 | m_MainAllocatorBlockSize: -1 8 | m_ThreadAllocatorBlockSize: -1 9 | m_MainGfxBlockSize: -1 10 | m_ThreadGfxBlockSize: -1 11 | m_CacheBlockSize: -1 12 | m_TypetreeBlockSize: -1 13 | m_ProfilerBlockSize: -1 14 | m_ProfilerEditorBlockSize: -1 15 | m_BucketAllocatorGranularity: -1 16 | m_BucketAllocatorBucketsCount: -1 17 | m_BucketAllocatorBlockSize: -1 18 | m_BucketAllocatorBlockCount: -1 19 | m_ProfilerBucketAllocatorGranularity: -1 20 | m_ProfilerBucketAllocatorBucketsCount: -1 21 | m_ProfilerBucketAllocatorBlockSize: -1 22 | m_ProfilerBucketAllocatorBlockCount: -1 23 | m_TempAllocatorSizeMain: -1 24 | m_JobTempAllocatorBlockSize: -1 25 | m_BackgroundJobTempAllocatorBlockSize: -1 26 | m_JobTempAllocatorReducedBlockSize: -1 27 | m_TempAllocatorSizeGIBakingWorker: -1 28 | m_TempAllocatorSizeNavMeshWorker: -1 29 | m_TempAllocatorSizeAudioWorker: -1 30 | m_TempAllocatorSizeCloudWorker: -1 31 | m_TempAllocatorSizeGfx: -1 32 | m_TempAllocatorSizeJobWorker: -1 33 | m_TempAllocatorSizeBackgroundWorker: -1 34 | m_TempAllocatorSizePreloadManager: -1 35 | m_PlatformMemorySettings: {} 36 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/Interpolation/InverseDistanceWeighting.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &5415942574086941947 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 6948745355798798291} 12 | - component: {fileID: 5114090205190153186} 13 | m_Layer: 0 14 | m_Name: InverseDistanceWeighting 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &6948745355798798291 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 5415942574086941947} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &5114090205190153186 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 5415942574086941947} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: ee4e3e2bedef3ac4c821bf98947888c7, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | resetPosition: {fileID: 0} 47 | p: 4 48 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/WorldWarping/WorldWarping_Rotational.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &8985148624237948436 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 8985148624237948426} 12 | - component: {fileID: 8985148624237948427} 13 | m_Layer: 0 14 | m_Name: WorldWarping_Rotational 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &8985148624237948426 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 8985148624237948436} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: -0.03480555, y: 0.04189086, z: 1.1913635} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &8985148624237948427 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 8985148624237948436} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: a7600fb1237676e448c4ef9ad31f374c, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | world: {fileID: 0} 47 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/WorldWarping/WorldWarping_Translation.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &7064924610017537738 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 7064924610017537736} 12 | - component: {fileID: 7064924610017537739} 13 | m_Layer: 0 14 | m_Name: WorldWarping_Translation 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &7064924610017537736 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 7064924610017537738} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0.09274928, y: 0.90583074, z: 0.8407584} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &7064924610017537739 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 7064924610017537738} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: 76154040c7d686e41aa6df3682ae0f11, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | world: {fileID: 0} 47 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/BodyWarping/BodyWarping_Han.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &889080654940250388 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 889080654940250386} 12 | - component: {fileID: 889080654940250387} 13 | m_Layer: 0 14 | m_Name: BodyWarping_Han 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &889080654940250386 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 889080654940250388} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &889080654940250387 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 889080654940250388} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: 2e65b4eb2495eb84290233cf70233b96, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | resetPosition: {fileID: 0} 47 | han_RedirectionTechnique: 1 48 | c: 0.1 49 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/WorldWarping/WorldWarping_Rotation_Translation.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &3953435798647876719 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 3953435798647876689} 12 | - component: {fileID: 3953435798647876718} 13 | m_Layer: 0 14 | m_Name: WorldWarping_Rotation_Translation 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &3953435798647876689 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 3953435798647876719} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0.09274928, y: 0.90583074, z: 0.8407584} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &3953435798647876718 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 3953435798647876719} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: 70d318040dd497a44b0f26005179fe3f, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | world: {fileID: 0} 47 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/InterpolationRedirection/InverseDistanceWeightingRedirection.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace HR_Toolkit 4 | { 5 | public class InverseDistanceWeightingRedirection : InterpolationRedirection 6 | { 7 | 8 | /// 9 | /// Power 10 | /// 11 | public float p; 12 | 13 | 14 | public override void ApplyRedirection(Transform realHandPos, Transform virtualHandPos, Transform warpOrigin, RedirectionObject target, 15 | Transform bodyTransform) 16 | { 17 | virtualHandPos.position = IDW(realHandPos.position, target); 18 | } 19 | 20 | private Vector3 IDW(Vector3 x, RedirectionObject target) 21 | { 22 | var u = Vector3.zero; 23 | var points = target.GetAllPositions(); 24 | 25 | var topSum = Vector3.zero; 26 | var bottomSum = 0f; 27 | 28 | foreach (var point in points) 29 | { 30 | var d = Vector3.Distance(x, point.GetRealPosition()); 31 | if (d == 0f) 32 | { 33 | return x + point.GetVirtualPosition() - point.GetRealPosition(); 34 | } 35 | var w = Mathf.Pow(1 / d, p); 36 | 37 | 38 | topSum += w * (point.GetVirtualPosition() - point.GetRealPosition()); 39 | bottomSum += w; 40 | 41 | } 42 | 43 | u = topSum / bottomSum; 44 | return x + u; 45 | } 46 | 47 | 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/BodyWarping/BodyWarping_Zenner_Extended.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &4068815499360708211 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 4068815499360708209} 12 | - component: {fileID: 4068815499360708210} 13 | m_Layer: 0 14 | m_Name: BodyWarping_Zenner_Extended 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &4068815499360708209 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 4068815499360708211} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &4068815499360708210 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 4068815499360708211} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: 7e8a9ff6611a6ed42af07a39e66c88bc, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | resetPosition: {fileID: 0} 47 | zeroWarpDistance: 0 48 | redirectionAngleAlpha: 1.44 49 | gainFactor: 0 50 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/BodyWarping/BodyWarping_Zenner.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &5252290677725605641 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 5252290677725605643} 12 | - component: {fileID: 5252290677725605642} 13 | m_Layer: 0 14 | m_Name: BodyWarping_Zenner 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &5252290677725605643 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 5252290677725605641} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: -0.16152784, y: 0.9286656, z: 0.38855025} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &5252290677725605642 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 5252290677725605641} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: f4d76ca955243d848b916e2d590aa251, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | zeroWarpDistance: 0 47 | horizontalRedirectionAngle: 0 48 | verticalRedirectionAngle: 0 49 | gainFactor: 0 50 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/BodyWarping/BodyWarping_Cheng.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &5367009677519020583 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 5367009677519020577} 12 | - component: {fileID: 5367009677519020582} 13 | m_Layer: 0 14 | m_Name: BodyWarping_Cheng 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &5367009677519020577 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 5367009677519020583} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &5367009677519020582 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 5367009677519020583} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: 45eacfffdd6f5074abdb76a520bbc3d3, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | resetPosition: {fileID: 0} 47 | zeroWarpDistance: 0 48 | horizontalThreshold: 0 49 | verticalThreshold: 0 50 | gainForwards: 0 51 | gainDownwards: 0 52 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/RedirectionTechniquesPrefabs/BodyWarping/BodyWarping_Azmandian.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &7869202501111199215 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 1616040393009587432} 12 | - component: {fileID: 2727844155656274135} 13 | m_Layer: 0 14 | m_Name: BodyWarping_Azmandian 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &1616040393009587432 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 7869202501111199215} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0.120002344, y: 0.90583086, z: 0.15825398} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &2727844155656274135 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 7869202501111199215} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: afddaad7c0afc364eadf27170ac4b85d, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | resetPosition: {fileID: 0} 47 | zeroWarpDistance: 0 48 | horizontalThreshold: 0 49 | verticalThreshold: 0 50 | gainForwards: 0 51 | gainDownwards: 0 52 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/WorldWarping/WorldWarping_Translation.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using HR_Toolkit; 4 | using UnityEngine; 5 | using UnityEngine.UIElements; 6 | 7 | namespace HR_Toolkit 8 | { 9 | /// 10 | /// The world warping translational approaches follows the concept of redirected walking, but instead of applying a 11 | /// rotation and translation to the head, we only apply a translation to the world. 12 | /// 13 | /// The goal is to translate the world, so that the real and virtual target have the same position. To achieve this 14 | /// we scale the users head motions such that the virtual target and the real target align. 15 | /// 16 | /// This does not imply that both object are physically aligned. Their orientation can still differ. 17 | /// To achieve a complete alignment, use the world warping translation approach in addition. 18 | /// 19 | /// 20 | public class WorldWarping_Translation : WorldWarping 21 | { 22 | public override void Init(RedirectionObject redirectionObject, Transform head, Vector3 warpOrigin) 23 | { 24 | world = RedirectionManager.instance.virtualWorld.GetComponent(); 25 | this.head = head; 26 | currentHeadTranslation = head.position; 27 | } 28 | 29 | public override void ApplyRedirection(Transform realHandPos, Transform virtualHandPos, Transform warpOrigin, 30 | RedirectionObject target, 31 | Transform bodyTransform) 32 | { 33 | TranslationalWorldWarping(realHandPos, virtualHandPos, warpOrigin, target, bodyTransform); 34 | virtualHandPos.position = realHandPos.position; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /HaRT/UIElementsSchema/UnityEditor.ShaderGraph.Drawing.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/WorldWarping/WorldWarping_Rotational.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using HR_Toolkit; 5 | using UnityEngine; 6 | 7 | namespace HR_Toolkit 8 | { 9 | /// 10 | /// The world warping rotational approaches follows the concept of redirected walking, but instead of applying a 11 | /// rotation and translation to the head, we only apply a rotation to the world. 12 | /// 13 | /// The goal is to rotate the world, so that the real and virtual target have the same orientation. To achieve this 14 | /// we scale the users head motions such that the virtual targets unit forward vector and the real target unit 15 | /// forward vector align. 16 | /// 17 | /// This does not imply that both object are physically aligned. To achieve a complete alignment, use the world warping 18 | /// translation approach in addition. 19 | /// 20 | /// 21 | public class WorldWarping_Rotational : WorldWarping 22 | { 23 | public override void Init(RedirectionObject redirectionObject, Transform head, Vector3 warpOrigin) 24 | { 25 | world = RedirectionManager.instance.virtualWorld.GetComponent(); 26 | this.head = head; 27 | currentHeadRotation = head.rotation.eulerAngles.y; 28 | currentHeadTranslation = head.position; 29 | SetUpWorldWarping(redirectionObject); 30 | } 31 | 32 | public override void ApplyRedirection(Transform realHandPos, Transform virtualHandPos, Transform warpOrigin, 33 | RedirectionObject target, 34 | Transform bodyTransform) 35 | { 36 | RotationalWorldWarping(realHandPos, virtualHandPos, warpOrigin, target, bodyTransform); 37 | virtualHandPos.position = realHandPos.position; 38 | } 39 | 40 | public override void EndRedirection() 41 | { 42 | Debug.Log("Cancel Invoke"); 43 | //CancelInvoke("ComputeHeadRotationAngle"); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis/SerializableVector3.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Collections; 4 | 5 | /// 6 | /// Since unity doesn't flag the Vector3 as serializable, we 7 | /// need to create our own version. This one will automatically convert 8 | /// between Vector3 and SerializableVector3 9 | /// 10 | [System.Serializable] 11 | public struct SerializableVector3 12 | { 13 | /// 14 | /// x component 15 | /// 16 | public float x; 17 | 18 | /// 19 | /// y component 20 | /// 21 | public float y; 22 | 23 | /// 24 | /// z component 25 | /// 26 | public float z; 27 | 28 | /// 29 | /// Constructor 30 | /// 31 | /// 32 | /// 33 | /// 34 | public SerializableVector3(float rX, float rY, float rZ) 35 | { 36 | x = rX; 37 | y = rY; 38 | z = rZ; 39 | } 40 | 41 | /// 42 | /// Returns a string representation of the object 43 | /// 44 | /// 45 | public override string ToString() 46 | { 47 | return String.Format("[{0}, {1}, {2}]", x, y, z); 48 | } 49 | 50 | /// 51 | /// Automatic conversion from SerializableVector3 to Vector3 52 | /// 53 | /// 54 | /// 55 | public static implicit operator Vector3(SerializableVector3 rValue) 56 | { 57 | return new Vector3(rValue.x, rValue.y, rValue.z); 58 | } 59 | 60 | /// 61 | /// Automatic conversion from Vector3 to SerializableVector3 62 | /// 63 | /// 64 | /// 65 | public static implicit operator SerializableVector3(Vector3 rValue) 66 | { 67 | return new SerializableVector3(rValue.x, rValue.y, rValue.z); 68 | } 69 | } -------------------------------------------------------------------------------- /HaRT/UserSettings/EditorUserSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!162 &1 4 | EditorUserSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_ConfigSettings: 8 | RecentlyUsedSceneGuid-0: 9 | value: 5b075550550d585f5e5a0d2448265a4414164f29747f7163757c4461e4b4613d 10 | flags: 0 11 | RecentlyUsedSceneGuid-1: 12 | value: 5755515203505f5d5d595420117a5b444216412b7b7f7469787c4965e1b9653b 13 | flags: 0 14 | RecentlyUsedSceneGuid-2: 15 | value: 0209565250545f0d5d5d5e7443275a4441164d2e2a78726878794d31b5b06160 16 | flags: 0 17 | RecentlyUsedSceneGuid-3: 18 | value: 52570756530350030e5d54241427064447161e7e787e77642b704b66b5e66639 19 | flags: 0 20 | RecentlyUsedSceneGuid-4: 21 | value: 5300030454045f5e545f5c7a47700d4442154d7d282b73337a7a446ae3e3636a 22 | flags: 0 23 | RecentlyUsedSceneGuid-5: 24 | value: 5457075657010d0d5d0a5e2341255d44104e487b7d2b7f65292a4562bbe6366f 25 | flags: 0 26 | RecentlyUsedSceneGuid-6: 27 | value: 0554040201535a595e595e7014700d441416407c787d20677b2c4c30b7b4643c 28 | flags: 0 29 | RecentlyUsedSceneGuid-7: 30 | value: 500100560657580b5a0a0a7540260c44134e412b757d24357b2b1835b6b46339 31 | flags: 0 32 | RecentlyUsedSceneGuid-8: 33 | value: 02555002550d0c590e0f54744472074414161e7f7f782462787c1962e1e56268 34 | flags: 0 35 | RecentlyUsedSceneGuid-9: 36 | value: 00505651065350025f085f761226084410151c7a747c2460292f4937b1e46368 37 | flags: 0 38 | vcSharedLogLevel: 39 | value: 0d5e400f0650 40 | flags: 0 41 | m_VCAutomaticAdd: 1 42 | m_VCDebugCom: 0 43 | m_VCDebugCmd: 0 44 | m_VCDebugOut: 0 45 | m_SemanticMergeMode: 2 46 | m_DesiredImportWorkerCount: 2 47 | m_StandbyImportWorkerCount: 2 48 | m_IdleImportWorkerShutdownDelay: 60000 49 | m_VCShowFailedCheckout: 1 50 | m_VCOverwriteFailedCheckoutAssets: 1 51 | m_VCProjectOverlayIcons: 1 52 | m_VCHierarchyOverlayIcons: 1 53 | m_VCOtherOverlayIcons: 1 54 | m_VCAllowAsyncUpdate: 0 55 | m_ArtifactGarbageCollection: 1 56 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/LeapMotionExampleSettings.lighting: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!850595691 &4890085278179872738 4 | LightingSettings: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: LeapMotionExampleSettings 10 | serializedVersion: 4 11 | m_GIWorkflowMode: 0 12 | m_EnableBakedLightmaps: 1 13 | m_EnableRealtimeLightmaps: 1 14 | m_RealtimeEnvironmentLighting: 1 15 | m_BounceScale: 1 16 | m_AlbedoBoost: 1 17 | m_IndirectOutputScale: 1 18 | m_UsingShadowmask: 1 19 | m_BakeBackend: 1 20 | m_LightmapMaxSize: 1024 21 | m_BakeResolution: 40 22 | m_Padding: 2 23 | m_LightmapCompression: 3 24 | m_AO: 0 25 | m_AOMaxDistance: 1 26 | m_CompAOExponent: 1 27 | m_CompAOExponentDirect: 0 28 | m_ExtractAO: 0 29 | m_MixedBakeMode: 2 30 | m_LightmapsBakeMode: 1 31 | m_FilterMode: 1 32 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} 33 | m_ExportTrainingData: 0 34 | m_TrainingDataDestination: TrainingData 35 | m_RealtimeResolution: 2 36 | m_ForceWhiteAlbedo: 0 37 | m_ForceUpdates: 0 38 | m_FinalGather: 0 39 | m_FinalGatherRayCount: 256 40 | m_FinalGatherFiltering: 1 41 | m_PVRCulling: 1 42 | m_PVRSampling: 1 43 | m_PVRDirectSampleCount: 32 44 | m_PVRSampleCount: 500 45 | m_PVREnvironmentSampleCount: 500 46 | m_PVREnvironmentReferencePointCount: 2048 47 | m_LightProbeSampleCountMultiplier: 4 48 | m_PVRBounces: 2 49 | m_PVRMinBounces: 2 50 | m_PVREnvironmentMIS: 0 51 | m_PVRFilteringMode: 2 52 | m_PVRDenoiserTypeDirect: 0 53 | m_PVRDenoiserTypeIndirect: 0 54 | m_PVRDenoiserTypeAO: 0 55 | m_PVRFilterTypeDirect: 0 56 | m_PVRFilterTypeIndirect: 0 57 | m_PVRFilterTypeAO: 0 58 | m_PVRFilteringGaussRadiusDirect: 1 59 | m_PVRFilteringGaussRadiusIndirect: 5 60 | m_PVRFilteringGaussRadiusAO: 2 61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 63 | m_PVRFilteringAtrousPositionSigmaAO: 1 64 | m_PVRTiledBaking: 0 65 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/VR/BodyWarpingExample_VRSettings.lighting: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!850595691 &4890085278179872738 4 | LightingSettings: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: BodyWarpingExample_VRSettings 10 | serializedVersion: 4 11 | m_GIWorkflowMode: 0 12 | m_EnableBakedLightmaps: 1 13 | m_EnableRealtimeLightmaps: 1 14 | m_RealtimeEnvironmentLighting: 1 15 | m_BounceScale: 1 16 | m_AlbedoBoost: 1 17 | m_IndirectOutputScale: 1 18 | m_UsingShadowmask: 1 19 | m_BakeBackend: 1 20 | m_LightmapMaxSize: 1024 21 | m_BakeResolution: 40 22 | m_Padding: 2 23 | m_LightmapCompression: 3 24 | m_AO: 0 25 | m_AOMaxDistance: 1 26 | m_CompAOExponent: 1 27 | m_CompAOExponentDirect: 0 28 | m_ExtractAO: 0 29 | m_MixedBakeMode: 2 30 | m_LightmapsBakeMode: 1 31 | m_FilterMode: 1 32 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} 33 | m_ExportTrainingData: 0 34 | m_TrainingDataDestination: TrainingData 35 | m_RealtimeResolution: 2 36 | m_ForceWhiteAlbedo: 0 37 | m_ForceUpdates: 0 38 | m_FinalGather: 0 39 | m_FinalGatherRayCount: 256 40 | m_FinalGatherFiltering: 1 41 | m_PVRCulling: 1 42 | m_PVRSampling: 1 43 | m_PVRDirectSampleCount: 32 44 | m_PVRSampleCount: 500 45 | m_PVREnvironmentSampleCount: 500 46 | m_PVREnvironmentReferencePointCount: 2048 47 | m_LightProbeSampleCountMultiplier: 4 48 | m_PVRBounces: 2 49 | m_PVRMinBounces: 2 50 | m_PVREnvironmentMIS: 0 51 | m_PVRFilteringMode: 2 52 | m_PVRDenoiserTypeDirect: 0 53 | m_PVRDenoiserTypeIndirect: 0 54 | m_PVRDenoiserTypeAO: 0 55 | m_PVRFilterTypeDirect: 0 56 | m_PVRFilterTypeIndirect: 0 57 | m_PVRFilterTypeAO: 0 58 | m_PVRFilteringGaussRadiusDirect: 1 59 | m_PVRFilteringGaussRadiusIndirect: 5 60 | m_PVRFilteringGaussRadiusAO: 2 61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 63 | m_PVRFilteringAtrousPositionSigmaAO: 1 64 | m_PVRTiledBaking: 0 65 | -------------------------------------------------------------------------------- /HaRT/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.collab-proxy": "1.17.1", 4 | "com.unity.ext.nunit": "1.0.6", 5 | "com.unity.ide.rider": "3.0.15", 6 | "com.unity.ide.visualstudio": "2.0.16", 7 | "com.unity.ide.vscode": "1.2.5", 8 | "com.unity.test-framework": "1.1.31", 9 | "com.unity.textmeshpro": "3.0.6", 10 | "com.unity.timeline": "1.6.4", 11 | "com.unity.ugui": "1.0.0", 12 | "com.unity.xr.management": "4.2.0", 13 | "com.valvesoftware.unity.openvr": "file:../Assets/SteamVR/OpenVRUnityXRPackage/Editor/com.valvesoftware.unity.openvr-1.1.4.tgz", 14 | "com.unity.modules.ai": "1.0.0", 15 | "com.unity.modules.androidjni": "1.0.0", 16 | "com.unity.modules.animation": "1.0.0", 17 | "com.unity.modules.assetbundle": "1.0.0", 18 | "com.unity.modules.audio": "1.0.0", 19 | "com.unity.modules.cloth": "1.0.0", 20 | "com.unity.modules.director": "1.0.0", 21 | "com.unity.modules.imageconversion": "1.0.0", 22 | "com.unity.modules.imgui": "1.0.0", 23 | "com.unity.modules.jsonserialize": "1.0.0", 24 | "com.unity.modules.particlesystem": "1.0.0", 25 | "com.unity.modules.physics": "1.0.0", 26 | "com.unity.modules.physics2d": "1.0.0", 27 | "com.unity.modules.screencapture": "1.0.0", 28 | "com.unity.modules.terrain": "1.0.0", 29 | "com.unity.modules.terrainphysics": "1.0.0", 30 | "com.unity.modules.tilemap": "1.0.0", 31 | "com.unity.modules.ui": "1.0.0", 32 | "com.unity.modules.uielements": "1.0.0", 33 | "com.unity.modules.umbra": "1.0.0", 34 | "com.unity.modules.unityanalytics": "1.0.0", 35 | "com.unity.modules.unitywebrequest": "1.0.0", 36 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 37 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 38 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 39 | "com.unity.modules.unitywebrequestwww": "1.0.0", 40 | "com.unity.modules.vehicles": "1.0.0", 41 | "com.unity.modules.video": "1.0.0", 42 | "com.unity.modules.vr": "1.0.0", 43 | "com.unity.modules.wind": "1.0.0", 44 | "com.unity.modules.xr": "1.0.0" 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /HaRT/Assets/ExampleScenes/VR/HandCalibration_BodyWarpingExample_VRSettings.lighting: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!850595691 &4890085278179872738 4 | LightingSettings: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: HandCalibration_BodyWarpingExample_VRSettings 10 | serializedVersion: 4 11 | m_GIWorkflowMode: 0 12 | m_EnableBakedLightmaps: 1 13 | m_EnableRealtimeLightmaps: 1 14 | m_RealtimeEnvironmentLighting: 1 15 | m_BounceScale: 1 16 | m_AlbedoBoost: 1 17 | m_IndirectOutputScale: 1 18 | m_UsingShadowmask: 1 19 | m_BakeBackend: 1 20 | m_LightmapMaxSize: 1024 21 | m_BakeResolution: 40 22 | m_Padding: 2 23 | m_LightmapCompression: 3 24 | m_AO: 0 25 | m_AOMaxDistance: 1 26 | m_CompAOExponent: 1 27 | m_CompAOExponentDirect: 0 28 | m_ExtractAO: 0 29 | m_MixedBakeMode: 2 30 | m_LightmapsBakeMode: 1 31 | m_FilterMode: 1 32 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} 33 | m_ExportTrainingData: 0 34 | m_TrainingDataDestination: TrainingData 35 | m_RealtimeResolution: 2 36 | m_ForceWhiteAlbedo: 0 37 | m_ForceUpdates: 0 38 | m_FinalGather: 0 39 | m_FinalGatherRayCount: 256 40 | m_FinalGatherFiltering: 1 41 | m_PVRCulling: 1 42 | m_PVRSampling: 1 43 | m_PVRDirectSampleCount: 32 44 | m_PVRSampleCount: 500 45 | m_PVREnvironmentSampleCount: 500 46 | m_PVREnvironmentReferencePointCount: 2048 47 | m_LightProbeSampleCountMultiplier: 4 48 | m_PVRBounces: 2 49 | m_PVRMinBounces: 2 50 | m_PVREnvironmentMIS: 0 51 | m_PVRFilteringMode: 2 52 | m_PVRDenoiserTypeDirect: 0 53 | m_PVRDenoiserTypeIndirect: 0 54 | m_PVRDenoiserTypeAO: 0 55 | m_PVRFilterTypeDirect: 0 56 | m_PVRFilterTypeIndirect: 0 57 | m_PVRFilterTypeAO: 0 58 | m_PVRFilteringGaussRadiusDirect: 1 59 | m_PVRFilteringGaussRadiusIndirect: 5 60 | m_PVRFilteringGaussRadiusAO: 2 61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 63 | m_PVRFilteringAtrousPositionSigmaAO: 1 64 | m_PVRTiledBaking: 0 65 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/WorldWarping/WorldWarping_Rotation_Translation.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using HR_Toolkit; 4 | using UnityEngine; 5 | 6 | namespace HR_Toolkit 7 | { 8 | /// 9 | /// Combination from the rotational and translational world warping approach. See more information in: 10 | /// - WorldWarping_Translation.cs 11 | /// - WorldWarping_Rotational.cs 12 | /// 13 | public class WorldWarping_Rotation_Translation : WorldWarping 14 | { 15 | private bool _initTranslationalWarping = false; 16 | 17 | private void Start () 18 | { 19 | Debug.Log("Head Rotation: Q, E"); 20 | } 21 | 22 | public override void Init(RedirectionObject redirectionObject, Transform head, Vector3 warpOrigin) 23 | { 24 | // rotational: 25 | world = RedirectionManager.instance.virtualWorld.GetComponent(); 26 | this.head = head; 27 | currentHeadRotation = head.rotation.eulerAngles.y; 28 | currentHeadTranslation = head.position; 29 | SetUpWorldWarping(redirectionObject); 30 | 31 | // translational: 32 | 33 | } 34 | 35 | public override void ApplyRedirection(Transform realHandPos, Transform virtualHandPos, Transform warpOrigin, 36 | RedirectionObject target, 37 | Transform bodyTransform) 38 | { 39 | virtualHandPos.position = realHandPos.position; 40 | if (!RotationalWorldWarping(realHandPos, virtualHandPos, warpOrigin, target, bodyTransform)) return; 41 | 42 | if (!_initTranslationalWarping) 43 | { 44 | currentHeadTranslation = head.position; 45 | _initTranslationalWarping = true; 46 | } 47 | 48 | if (!TranslationalWorldWarping(realHandPos, virtualHandPos, warpOrigin, target, bodyTransform)) return; 49 | 50 | //Debug.Log("World is aligned"); 51 | } 52 | } 53 | 54 | 55 | } 56 | -------------------------------------------------------------------------------- /HaRT/UIElementsSchema/UnityEditor.UIElements.Debugger.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 1 46 | m_AutoSyncTransforms: 0 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/Camera_RealHand.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &8603299012480298794 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 8603299012480298797} 12 | - component: {fileID: 8603299012480298799} 13 | m_Layer: 8 14 | m_Name: Camera_RealHand 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &8603299012480298797 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 8603299012480298794} 27 | m_LocalRotation: {x: 0.1987733, y: 0.059948225, z: -0.011267887, w: 0.9781454} 28 | m_LocalPosition: {x: -0.004, y: 0.68799996, z: -0.359} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 22.968, y: 7.037, z: 0.11100001} 34 | --- !u!20 &8603299012480298799 35 | Camera: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 8603299012480298794} 41 | m_Enabled: 1 42 | serializedVersion: 2 43 | m_ClearFlags: 1 44 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 45 | m_projectionMatrixMode: 1 46 | m_GateFitMode: 2 47 | m_FOVAxisMode: 0 48 | m_SensorSize: {x: 36, y: 24} 49 | m_LensShift: {x: 0, y: 0} 50 | m_FocalLength: 50 51 | m_NormalizedViewPortRect: 52 | serializedVersion: 2 53 | x: 0 54 | y: 0 55 | width: 0.5 56 | height: 0.5 57 | near clip plane: 0.3 58 | far clip plane: 1000 59 | field of view: 29 60 | orthographic: 0 61 | orthographic size: 5 62 | m_Depth: 0 63 | m_CullingMask: 64 | serializedVersion: 2 65 | m_Bits: 823 66 | m_RenderingPath: -1 67 | m_TargetTexture: {fileID: 0} 68 | m_TargetDisplay: 1 69 | m_TargetEye: 0 70 | m_HDR: 1 71 | m_AllowMSAA: 1 72 | m_AllowDynamicResolution: 0 73 | m_ForceIntoRT: 0 74 | m_OcclusionCulling: 1 75 | m_StereoConvergence: 10 76 | m_StereoSeparation: 0.022 77 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/Camera_VirtualHand.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &7432923243119988382 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 7432923243119988377} 12 | - component: {fileID: 7432923243119988379} 13 | m_Layer: 10 14 | m_Name: Camera_VirtualHand 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &7432923243119988377 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 7432923243119988382} 27 | m_LocalRotation: {x: 0.1987733, y: 0.059948225, z: -0.011267887, w: 0.9781454} 28 | m_LocalPosition: {x: -0.17099999, y: 0.68799996, z: -0.359} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 22.968, y: 7.037, z: 0.11100001} 34 | --- !u!20 &7432923243119988379 35 | Camera: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 7432923243119988382} 41 | m_Enabled: 1 42 | serializedVersion: 2 43 | m_ClearFlags: 1 44 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 45 | m_projectionMatrixMode: 1 46 | m_GateFitMode: 2 47 | m_FOVAxisMode: 0 48 | m_SensorSize: {x: 36, y: 24} 49 | m_LensShift: {x: 0, y: 0} 50 | m_FocalLength: 50 51 | m_NormalizedViewPortRect: 52 | serializedVersion: 2 53 | x: 0.5 54 | y: 0 55 | width: 0.5 56 | height: 0.5 57 | near clip plane: 0.3 58 | far clip plane: 1000 59 | field of view: 29 60 | orthographic: 0 61 | orthographic size: 5 62 | m_Depth: 0 63 | m_CullingMask: 64 | serializedVersion: 2 65 | m_Bits: 3127 66 | m_RenderingPath: -1 67 | m_TargetTexture: {fileID: 0} 68 | m_TargetDisplay: 1 69 | m_TargetEye: 0 70 | m_HDR: 1 71 | m_AllowMSAA: 1 72 | m_AllowDynamicResolution: 0 73 | m_ForceIntoRT: 0 74 | m_OcclusionCulling: 1 75 | m_StereoConvergence: 10 76 | m_StereoSeparation: 0.022 77 | -------------------------------------------------------------------------------- /HaRT/Assets/Materials/New Material.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: New Material 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0.5 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 1, g: 1, b: 1, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /HaRT/Assets/Materials/Room_Floor.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Room_Floor 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0.5 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 0.33962262, g: 0.33962262, b: 0.33962262, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /HaRT/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | m_PreloadedShaders: [] 39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 40 | type: 0} 41 | m_CustomRenderPipeline: {fileID: 0} 42 | m_TransparencySortMode: 0 43 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 44 | m_DefaultRenderingPath: 1 45 | m_DefaultMobileRenderingPath: 1 46 | m_TierSettings: [] 47 | m_LightmapStripping: 0 48 | m_FogStripping: 0 49 | m_InstancingStripping: 0 50 | m_LightmapKeepPlain: 1 51 | m_LightmapKeepDirCombined: 1 52 | m_LightmapKeepDynamicPlain: 1 53 | m_LightmapKeepDynamicDirCombined: 1 54 | m_LightmapKeepShadowMask: 1 55 | m_LightmapKeepSubtractive: 1 56 | m_FogKeepLinear: 1 57 | m_FogKeepExp: 1 58 | m_FogKeepExp2: 1 59 | m_AlbedoSwatchInfos: [] 60 | m_LightsUseLinearIntensity: 0 61 | m_LightsUseColorTemperature: 0 62 | -------------------------------------------------------------------------------- /HaRT/Assets/Materials/HighlightedConnectionMaterial.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: HighlightedConnectionMaterial 11 | m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0.5 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 1, g: 0.93979645, b: 0, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /HaRT/Assets/Materials/DefaultConnectionMaterial.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: DefaultConnectionMaterial 11 | m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0.5 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 0.7169812, g: 0.7169812, b: 0.7169812, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /HaRT/Assets/Materials/SimulatedHand.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: SimulatedHand 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0.5 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 0.34082413, g: 0.6509434, b: 0.56105375, a: 1} 77 | - _EmissionColor: {r: 0.039546248, g: 0.039546248, b: 0.039546248, a: 1} 78 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Materials/start-red.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: start-red 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: _ALPHAPREMULTIPLY_ON 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: 3000 17 | stringTagMap: 18 | RenderType: Transparent 19 | disabledShaderPasses: [] 20 | m_SavedProperties: 21 | serializedVersion: 3 22 | m_TexEnvs: 23 | - _BumpMap: 24 | m_Texture: {fileID: 0} 25 | m_Scale: {x: 1, y: 1} 26 | m_Offset: {x: 0, y: 0} 27 | - _DetailAlbedoMap: 28 | m_Texture: {fileID: 0} 29 | m_Scale: {x: 1, y: 1} 30 | m_Offset: {x: 0, y: 0} 31 | - _DetailMask: 32 | m_Texture: {fileID: 0} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | - _DetailNormalMap: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _EmissionMap: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | - _MainTex: 44 | m_Texture: {fileID: 0} 45 | m_Scale: {x: 1, y: 1} 46 | m_Offset: {x: 0, y: 0} 47 | - _MetallicGlossMap: 48 | m_Texture: {fileID: 0} 49 | m_Scale: {x: 1, y: 1} 50 | m_Offset: {x: 0, y: 0} 51 | - _OcclusionMap: 52 | m_Texture: {fileID: 0} 53 | m_Scale: {x: 1, y: 1} 54 | m_Offset: {x: 0, y: 0} 55 | - _ParallaxMap: 56 | m_Texture: {fileID: 0} 57 | m_Scale: {x: 1, y: 1} 58 | m_Offset: {x: 0, y: 0} 59 | m_Ints: [] 60 | m_Floats: 61 | - _BumpScale: 1 62 | - _Cutoff: 0.5 63 | - _DetailNormalMapScale: 1 64 | - _DstBlend: 10 65 | - _GlossMapScale: 0 66 | - _Glossiness: 0 67 | - _GlossyReflections: 1 68 | - _Metallic: 0 69 | - _Mode: 3 70 | - _OcclusionStrength: 1 71 | - _Parallax: 0.02 72 | - _SmoothnessTextureChannel: 0 73 | - _SpecularHighlights: 1 74 | - _SrcBlend: 1 75 | - _UVSec: 0 76 | - _ZWrite: 0 77 | m_Colors: 78 | - _Color: {r: 0.8962264, g: 0.1492373, b: 0, a: 0.6509804} 79 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 80 | m_BuildTextureStacks: [] 81 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Materials/start-green.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: start-green 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: _ALPHAPREMULTIPLY_ON 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: 3000 17 | stringTagMap: 18 | RenderType: Transparent 19 | disabledShaderPasses: [] 20 | m_SavedProperties: 21 | serializedVersion: 3 22 | m_TexEnvs: 23 | - _BumpMap: 24 | m_Texture: {fileID: 0} 25 | m_Scale: {x: 1, y: 1} 26 | m_Offset: {x: 0, y: 0} 27 | - _DetailAlbedoMap: 28 | m_Texture: {fileID: 0} 29 | m_Scale: {x: 1, y: 1} 30 | m_Offset: {x: 0, y: 0} 31 | - _DetailMask: 32 | m_Texture: {fileID: 0} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | - _DetailNormalMap: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _EmissionMap: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | - _MainTex: 44 | m_Texture: {fileID: 0} 45 | m_Scale: {x: 1, y: 1} 46 | m_Offset: {x: 0, y: 0} 47 | - _MetallicGlossMap: 48 | m_Texture: {fileID: 0} 49 | m_Scale: {x: 1, y: 1} 50 | m_Offset: {x: 0, y: 0} 51 | - _OcclusionMap: 52 | m_Texture: {fileID: 0} 53 | m_Scale: {x: 1, y: 1} 54 | m_Offset: {x: 0, y: 0} 55 | - _ParallaxMap: 56 | m_Texture: {fileID: 0} 57 | m_Scale: {x: 1, y: 1} 58 | m_Offset: {x: 0, y: 0} 59 | m_Ints: [] 60 | m_Floats: 61 | - _BumpScale: 1 62 | - _Cutoff: 0.5 63 | - _DetailNormalMapScale: 1 64 | - _DstBlend: 10 65 | - _GlossMapScale: 1 66 | - _Glossiness: 0.5 67 | - _GlossyReflections: 1 68 | - _Metallic: 0 69 | - _Mode: 3 70 | - _OcclusionStrength: 1 71 | - _Parallax: 0.02 72 | - _SmoothnessTextureChannel: 0 73 | - _SpecularHighlights: 1 74 | - _SrcBlend: 1 75 | - _UVSec: 0 76 | - _ZWrite: 0 77 | m_Colors: 78 | - _Color: {r: 0.12548947, g: 0.5660378, b: 0.14113504, a: 0.6862745} 79 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 80 | m_BuildTextureStacks: [] 81 | -------------------------------------------------------------------------------- /HaRT/Assets/SHR/Materials/transparent.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: transparent 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: _ALPHAPREMULTIPLY_ON 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: 3000 17 | stringTagMap: 18 | RenderType: Transparent 19 | disabledShaderPasses: [] 20 | m_SavedProperties: 21 | serializedVersion: 3 22 | m_TexEnvs: 23 | - _BumpMap: 24 | m_Texture: {fileID: 0} 25 | m_Scale: {x: 1, y: 1} 26 | m_Offset: {x: 0, y: 0} 27 | - _DetailAlbedoMap: 28 | m_Texture: {fileID: 0} 29 | m_Scale: {x: 1, y: 1} 30 | m_Offset: {x: 0, y: 0} 31 | - _DetailMask: 32 | m_Texture: {fileID: 0} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | - _DetailNormalMap: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _EmissionMap: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | - _MainTex: 44 | m_Texture: {fileID: 0} 45 | m_Scale: {x: 1, y: 1} 46 | m_Offset: {x: 0, y: 0} 47 | - _MetallicGlossMap: 48 | m_Texture: {fileID: 0} 49 | m_Scale: {x: 1, y: 1} 50 | m_Offset: {x: 0, y: 0} 51 | - _OcclusionMap: 52 | m_Texture: {fileID: 0} 53 | m_Scale: {x: 1, y: 1} 54 | m_Offset: {x: 0, y: 0} 55 | - _ParallaxMap: 56 | m_Texture: {fileID: 0} 57 | m_Scale: {x: 1, y: 1} 58 | m_Offset: {x: 0, y: 0} 59 | m_Ints: [] 60 | m_Floats: 61 | - _BumpScale: 1 62 | - _Cutoff: 0.5 63 | - _DetailNormalMapScale: 1 64 | - _DstBlend: 10 65 | - _GlossMapScale: 1 66 | - _Glossiness: 0.5 67 | - _GlossyReflections: 1 68 | - _Metallic: 0 69 | - _Mode: 3 70 | - _OcclusionStrength: 1 71 | - _Parallax: 0.02 72 | - _SmoothnessTextureChannel: 0 73 | - _SpecularHighlights: 1 74 | - _SrcBlend: 1 75 | - _UVSec: 0 76 | - _ZWrite: 0 77 | m_Colors: 78 | - _Color: {r: 0.7264151, g: 0.42831066, b: 0.5344541, a: 0.5058824} 79 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 80 | m_BuildTextureStacks: [] 81 | -------------------------------------------------------------------------------- /HaRT/Assets/Materials/BodyWarpingAngleMaterial.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: BodyWarpingAngleMaterial 11 | m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | - _SpecGlossMap: 59 | m_Texture: {fileID: 0} 60 | m_Scale: {x: 1, y: 1} 61 | m_Offset: {x: 0, y: 0} 62 | m_Floats: 63 | - _BumpScale: 1 64 | - _Cutoff: 0.5 65 | - _DetailNormalMapScale: 1 66 | - _DstBlend: 0 67 | - _GlossMapScale: 1 68 | - _Glossiness: 0.5 69 | - _GlossyReflections: 1 70 | - _Metallic: 0 71 | - _Mode: 0 72 | - _OcclusionStrength: 1 73 | - _Parallax: 0.02 74 | - _SmoothnessTextureChannel: 0 75 | - _SpecularHighlights: 1 76 | - _SrcBlend: 1 77 | - _UVSec: 0 78 | - _ZWrite: 1 79 | m_Colors: 80 | - _Color: {r: 1, g: 1, b: 1, a: 1} 81 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 82 | -------------------------------------------------------------------------------- /HaRT/.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | [Aa]ssets/AssetStoreTools* 6 | [Ll]ibrary/ 7 | [Ll]ocal[Cc]ache/ 8 | [Tt]emp/ 9 | [Oo]bj/ 10 | [Bb]uild/ 11 | [Bb]uilds/ 12 | [Ll]ogs/ 13 | [Mm]emoryCaptures/ 14 | 15 | # Asset meta data should only be ignored when the corresponding asset is also ignored 16 | !/[Aa]ssets/**/*.meta 17 | 18 | # Uncomment this line if you wish to ignore the asset store tools plugin 19 | # /[Aa]ssets/AssetStoreTools* 20 | 21 | # LogFile 22 | [Aa]ssets/log.csv 23 | [Aa]ssets/log.csv.meta 24 | 25 | # Autogenerated Jetbrains Rider plugin 26 | [Aa]ssets/Plugins/Editor/JetBrains* 27 | 28 | # Old Unity Scenes 29 | [Aa]ssets/Scenes/** 30 | [Aa]ssets/ExampleScenes/Videos/** 31 | 32 | # Plugins 33 | [Aa]ssets/Plugins/** 34 | [Aa]ssets/Plugins.meta 35 | 36 | # Vive SR Anipal 37 | [Aa]ssets/ViveSR/** 38 | [Aa]ssets/ViveSR.meta 39 | 40 | # Leap 41 | [Aa]ssets/ThirdParty/* 42 | 43 | # Steam VR 44 | [Aa]ssets/SteamVR/** 45 | [Aa]ssets/SteamVR_Input/** 46 | [Aa]ssets/SteamVR_Resources/** 47 | [Aa]ssets/SteamVR.meta 48 | [Aa]ssets/SteamVR_Input.meta 49 | [Aa]ssets/SteamVR_Resources.meta 50 | [Aa]ssets/StreamingAssets/SteamVR.meta 51 | 52 | # Vive Input Utility 53 | [Aa]ssets/HTC.UnityPlugin/** 54 | [Aa]ssets/HTC.UnityPlugin.meta 55 | 56 | # XR Plugin Management 57 | [Aa]ssets/XR/** 58 | [Aa]ssets/XR.meta 59 | 60 | 61 | # Straming assets form Steam VR 62 | [Aa]ssets/StreamingAssets/SteamVR/** 63 | [Aa]ssets/StreamingAssets.meta 64 | 65 | # VR Manifest file from SteamVR 66 | unityProject.vrmanifest 67 | 68 | # Visual Studio cache directory 69 | .vs/ 70 | 71 | # Gradle cache directory 72 | .gradle/ 73 | 74 | # Autogenerated VS/MD/Consulo solution and project files 75 | ExportedObj/ 76 | .consulo/ 77 | *.csproj 78 | *.unityproj 79 | *.sln 80 | *.suo 81 | *.tmp 82 | *.user 83 | *.userprefs 84 | *.pidb 85 | *.booproj 86 | *.svd 87 | *.pdb 88 | *.mdb 89 | *.opendb 90 | *.VC.db 91 | *.vsconfig 92 | 93 | 94 | # Unity3D generated meta files 95 | *.pidb.meta 96 | *.pdb.meta 97 | *.mdb.meta 98 | 99 | # Unity3D generated file on crash reports 100 | sysinfo.txt 101 | 102 | # Builds 103 | *.apk 104 | *.unitypackage 105 | 106 | # Crashlytics generated file 107 | crashlytics-build.properties 108 | 109 | # Jetbrain Rider Cache 110 | .idea/ 111 | [Pp]lugins/Editor/JetBrains* 112 | 113 | # Visual Studio Code 114 | .vscode/ 115 | 116 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis/SerializableQuaternion.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Collections; 4 | 5 | namespace HR_Toolkit 6 | { 7 | /// 8 | /// Since unity doesn't flag the Quaternion as serializable, we 9 | /// need to create our own version. This one will automatically convert 10 | /// between Quaternion and SerializableQuaternion 11 | /// 12 | [System.Serializable] 13 | public struct SerializableQuaternion 14 | { 15 | /// 16 | /// x component 17 | /// 18 | public float x; 19 | 20 | /// 21 | /// y component 22 | /// 23 | public float y; 24 | 25 | /// 26 | /// z component 27 | /// 28 | public float z; 29 | 30 | /// 31 | /// w component 32 | /// 33 | public float w; 34 | 35 | /// 36 | /// Constructor 37 | /// 38 | /// 39 | /// 40 | /// 41 | /// 42 | public SerializableQuaternion(float rX, float rY, float rZ, float rW) 43 | { 44 | x = rX; 45 | y = rY; 46 | z = rZ; 47 | w = rW; 48 | } 49 | 50 | /// 51 | /// Returns a string representation of the object 52 | /// 53 | /// 54 | public override string ToString() 55 | { 56 | return String.Format("[{0}, {1}, {2}, {3}]", x, y, z, w); 57 | } 58 | 59 | /// 60 | /// Automatic conversion from SerializableQuaternion to Quaternion 61 | /// 62 | /// 63 | /// 64 | public static implicit operator Quaternion(SerializableQuaternion rValue) 65 | { 66 | return new Quaternion(rValue.x, rValue.y, rValue.z, rValue.w); 67 | } 68 | 69 | /// 70 | /// Automatic conversion from Quaternion to SerializableQuaternion 71 | /// 72 | /// 73 | /// 74 | public static implicit operator SerializableQuaternion(Quaternion rValue) 75 | { 76 | return new SerializableQuaternion(rValue.x, rValue.y, rValue.z, rValue.w); 77 | } 78 | } 79 | } -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/BodyWarping/Zenner_BodyWarping_Extended.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using HR_Toolkit; 4 | using UnityEngine; 5 | /// 6 | /// Redirection to a specific target by using Zenner & Krüger's hand redirection approach. 7 | /// See more information in Zenner_BodyWarping.cs 8 | /// 9 | /// 1. Creating a plane from warping origin, real target and virtual target 10 | /// 2. Calculate redirection angle (angle between real and virtual target) 11 | /// 3. Calculate gain factor (relation between origin - real target and origin- virtual target) 12 | /// 13 | /// And apply those warps. 14 | /// 15 | /// 16 | public class Zenner_BodyWarping_Extended : BodyWarping 17 | { 18 | /// 19 | /// The warp angle α that is used in the Warping Mode 20 | /// 21 | public float redirectionAngleAlpha; 22 | /// 23 | /// The gain factor 24 | /// 25 | public float gainFactor; 26 | /// 27 | /// The unit forward vector f that defines the custom redirection plane 28 | /// 29 | private Vector3 forward; 30 | /// 31 | /// The unit forward vector r that defines the custom redirection plane 32 | /// 33 | private Vector3 redirection; 34 | /// 35 | /// Custom redirection plane, gets defined by warping origin, real target and virtual target 36 | /// 37 | private Plane _plane; 38 | 39 | public override void Init(RedirectionObject redirectionObject, Transform head, Vector3 warpOrigin) 40 | { 41 | var targetRealPos = redirectionObject.GetRealTargetPos(); 42 | var targetVirtualPos = redirectionObject.GetVirtualTargetPos(); 43 | var warpingOrigin = RedirectionManager.instance.warpOrigin.transform.position; 44 | 45 | var originToRealTarget = targetRealPos - warpingOrigin; 46 | var originToVirtualTarget = targetVirtualPos - warpingOrigin; 47 | 48 | // create custom plane 49 | _plane.Set3Points(warpingOrigin, targetRealPos, targetVirtualPos); 50 | // set forward vector 51 | forward = (originToVirtualTarget).normalized; 52 | redirection = Vector3.Cross(forward, -_plane.normal).normalized; 53 | // compute redirection angle alpha 54 | redirectionAngleAlpha = Vector3.Angle(originToRealTarget, originToVirtualTarget); 55 | // compute gain factor 56 | gainFactor = (originToVirtualTarget.magnitude / originToRealTarget.magnitude); 57 | } 58 | 59 | public override void ApplyRedirection(Transform realHandPos, Transform virtualHandPos, Transform warpOrigin, RedirectionObject target, 60 | Transform bodyTransform) 61 | { 62 | // compute rotational warp 63 | var warp = Zenner_BodyWarping.RotationalWarp(realHandPos.position, warpOrigin.position,forward, redirection, redirectionAngleAlpha); 64 | // compute gain factor 65 | var gain = Zenner_BodyWarping.GainWarp(warp, warpOrigin.position, this.gainFactor); 66 | // apply it to virtual hand 67 | virtualHandPos.position = gain; 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/WorldWarping/WorldWarping_AzmandianScenario.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using HR_Toolkit; 4 | using UnityEngine; 5 | 6 | namespace HR_Toolkit 7 | { 8 | /// 9 | /// A representation of Azmandian et al.'s ring of cubes illusion. 10 | /// 11 | /// In Azmandian et al.’s hand redirection scenario they concentrated on the head rotation only, because they used it 12 | /// in a seated environment where head rotations are much more common as in a standing environment. For this they 13 | /// calculated the user’s current change in the rotation and scaled the desired rotation proportionally. To ensure 14 | /// alignment, they developed a mechanism to calculate the required scale factor for alignment. This approach was 15 | /// demonstrated and tested afterwards in the ring of cubes illusion. 16 | /// 17 | /// The Ring of Cubes Illusion: 18 | /// A single physical cube is mapped with world warping to different virtual cubes that are arranged around the 19 | /// physical one on a circle. 20 | /// 21 | /// This approach works only with the setup of the ring of cubes illusion -> Assets/Scenes/RingOfIllusion 22 | /// 23 | /// More information: 24 | /// Mahdi Azmandian et al., Haptic Retargeting: Dynamic Repurposing of Passive Hap-tics for Enhanced Virtual Reality Experiences. 25 | /// InProceedings of the 2016CHI Conference on Human Factors in Computing Systems (CHI ’16). ACM,New York, NY, USA, 1968–1979. 26 | /// DOI: https://dl.acm.org/doi/10.1145/2858036.2858226 27 | /// 28 | public class WorldWarping_AzmandianScenario : WorldWarping 29 | { 30 | /// 31 | /// The deviation when two objects are on the same position. 32 | /// 33 | public float deviation; 34 | 35 | public override void ApplyRedirection(Transform realHandPos, Transform virtualHandPos, Transform warpOrigin, 36 | RedirectionObject target, Transform bodyTransform) 37 | { 38 | // calculate the vector between the player and the virtual target 39 | var vecPlayerVrtTarget = target.positions[0].virtualPosition.transform.position - bodyTransform.position; 40 | // calculate the vector between the player and the real target 41 | var vecPlayerRealTarget = target.positions[0].realPosition.transform.position - bodyTransform.position; 42 | 43 | // TODO y must be zero 44 | 45 | Debug.DrawLine(target.positions[0].virtualPosition.transform.position,bodyTransform.position, Color.blue); 46 | Debug.DrawLine(target.positions[0].realPosition.transform.position,bodyTransform.position, Color.green); 47 | 48 | var angle = Vector3.SignedAngle(vecPlayerRealTarget, vecPlayerVrtTarget, Vector3.up); 49 | if (Mathf.Abs(angle) < deviation) 50 | { 51 | Debug.Log("world is aligned"); 52 | return; 53 | } 54 | 55 | // TODO use world warping rotation here! 56 | world.transform.Rotate(0, -angle * Time.deltaTime, 0); 57 | 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/VirtualToRealConnection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace HR_Toolkit.Redirection 5 | { 6 | [ExecuteAlways] 7 | public class VirtualToRealConnection : MonoBehaviour 8 | { 9 | public Transform realPosition; 10 | public Transform virtualPosition; 11 | 12 | public Material defaultConnectionMaterial; 13 | public Material highlightedConnectionMaterial; 14 | 15 | private LineRenderer _lineRenderer; 16 | 17 | private void Start() 18 | { 19 | if (GetComponent() == null) 20 | { 21 | _lineRenderer = gameObject.AddComponent(); 22 | } 23 | 24 | if (_lineRenderer == null) 25 | { 26 | _lineRenderer = GetComponent(); 27 | } 28 | 29 | _lineRenderer.startWidth = 0.005f; 30 | _lineRenderer.endWidth = 0.005f; 31 | 32 | _lineRenderer.startColor = Color.green; 33 | _lineRenderer.endColor = Color.green; 34 | _lineRenderer.material = defaultConnectionMaterial; 35 | 36 | gameObject.layer = LayerMask.NameToLayer("Visualization"); 37 | 38 | ChangeMaterialToDefault(); 39 | } 40 | 41 | private void Update() 42 | { 43 | _lineRenderer.SetPosition(0, realPosition.position); 44 | _lineRenderer.SetPosition(1, virtualPosition.position); 45 | } 46 | 47 | public void ChangeMaterialToDefault() 48 | { 49 | _lineRenderer.material = defaultConnectionMaterial; 50 | } 51 | 52 | public void ChangeMaterialToHighlighted() 53 | { 54 | try 55 | { 56 | _lineRenderer.material = highlightedConnectionMaterial; 57 | 58 | } 59 | catch (Exception e) 60 | { 61 | Console.WriteLine(e); 62 | throw; 63 | } 64 | } 65 | 66 | public Vector3 GetRealPosition() 67 | { 68 | return realPosition.position; 69 | } 70 | 71 | public Vector3 GetVirtualPosition() 72 | { 73 | return virtualPosition.position; 74 | } 75 | 76 | void OnDrawGizmos() 77 | { 78 | if (realPosition == null) return; 79 | 80 | if (GetRealPosition() == GetVirtualPosition()) 81 | { 82 | Gizmos.color = Color.cyan; 83 | Gizmos.DrawSphere(GetRealPosition(), .007f); 84 | } 85 | else 86 | { 87 | // real positions 88 | Gizmos.color = Color.yellow; 89 | Gizmos.DrawSphere(GetRealPosition(), .007f); 90 | 91 | // virtual positions 92 | Gizmos.color = Color.blue; 93 | Gizmos.DrawSphere(GetVirtualPosition(), .007f); 94 | 95 | Gizmos.color = Color.red; 96 | Gizmos.DrawLine(GetRealPosition(), GetVirtualPosition()); 97 | } 98 | } 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /HaRT/UIElementsSchema/UnityEditor.Rendering.LookDev.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /HaRT/Assets/Models/LeftHand.fbx.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39aa9a614d55cbb448a2220d1f0526ca 3 | ModelImporter: 4 | serializedVersion: 26 5 | internalIDToNameTable: 6 | - first: 7 | 74: 1827226128182048838 8 | second: Take 001 9 | externalObjects: {} 10 | materials: 11 | importMaterials: 1 12 | materialName: 0 13 | materialSearch: 1 14 | materialLocation: 1 15 | animations: 16 | legacyGenerateAnimations: 4 17 | bakeSimulation: 0 18 | resampleCurves: 1 19 | optimizeGameObjects: 0 20 | motionNodeName: 21 | rigImportErrors: 22 | rigImportWarnings: 23 | animationImportErrors: 24 | animationImportWarnings: 25 | animationRetargetingWarnings: 26 | animationDoRetargetingWarnings: 0 27 | importAnimatedCustomProperties: 0 28 | importConstraints: 0 29 | animationCompression: 1 30 | animationRotationError: 0.5 31 | animationPositionError: 0.5 32 | animationScaleError: 0.5 33 | animationWrapMode: 0 34 | extraExposedTransformPaths: [] 35 | extraUserProperties: [] 36 | clipAnimations: 37 | - serializedVersion: 16 38 | name: Take 001 39 | takeName: Take 001 40 | internalID: 1827226128182048838 41 | firstFrame: 0.8000001 42 | lastFrame: 24 43 | wrapMode: 0 44 | orientationOffsetY: 0 45 | level: 0 46 | cycleOffset: 0 47 | loop: 0 48 | hasAdditiveReferencePose: 0 49 | loopTime: 0 50 | loopBlend: 0 51 | loopBlendOrientation: 0 52 | loopBlendPositionY: 0 53 | loopBlendPositionXZ: 0 54 | keepOriginalOrientation: 0 55 | keepOriginalPositionY: 1 56 | keepOriginalPositionXZ: 0 57 | heightFromFeet: 0 58 | mirror: 0 59 | bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 60 | curves: [] 61 | events: [] 62 | transformMask: [] 63 | maskType: 3 64 | maskSource: {instanceID: 0} 65 | additiveReferencePoseFrame: 0 66 | isReadable: 0 67 | meshes: 68 | lODScreenPercentages: [] 69 | globalScale: 1 70 | meshCompression: 0 71 | addColliders: 0 72 | useSRGBMaterialColor: 1 73 | sortHierarchyByName: 1 74 | importVisibility: 1 75 | importBlendShapes: 1 76 | importCameras: 1 77 | importLights: 1 78 | swapUVChannels: 0 79 | generateSecondaryUV: 0 80 | useFileUnits: 1 81 | keepQuads: 0 82 | weldVertices: 1 83 | preserveHierarchy: 0 84 | skinWeightsMode: 0 85 | maxBonesPerVertex: 4 86 | minBoneWeight: 0.001 87 | meshOptimizationFlags: -1 88 | indexFormat: 0 89 | secondaryUVAngleDistortion: 8 90 | secondaryUVAreaDistortion: 15.000001 91 | secondaryUVHardAngle: 88 92 | secondaryUVPackMargin: 4 93 | useFileScale: 1 94 | tangentSpace: 95 | normalSmoothAngle: 60 96 | normalImportMode: 0 97 | tangentImportMode: 3 98 | normalCalculationMode: 4 99 | legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 100 | blendShapeNormalImportMode: 1 101 | normalSmoothingSource: 0 102 | referencedClips: [] 103 | importAnimation: 1 104 | copyAvatar: 0 105 | humanDescription: 106 | serializedVersion: 3 107 | human: [] 108 | skeleton: [] 109 | armTwist: 0.5 110 | foreArmTwist: 0.5 111 | upperLegTwist: 0.5 112 | legTwist: 0.5 113 | armStretch: 0.05 114 | legStretch: 0.05 115 | feetSpacing: 0 116 | globalScale: 1 117 | rootMotionBoneName: 118 | hasTranslationDoF: 0 119 | hasExtraRoot: 0 120 | skeletonHasParents: 1 121 | lastHumanDescriptionAvatarSource: {instanceID: 0} 122 | animationType: 2 123 | humanoidOversampling: 1 124 | additionalBone: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /HaRT/Assets/Models/RightHand.fbx.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 533f4e73bd8f3b5468894d15b68717ff 3 | ModelImporter: 4 | serializedVersion: 26 5 | internalIDToNameTable: 6 | - first: 7 | 74: 1827226128182048838 8 | second: Take 001 9 | externalObjects: {} 10 | materials: 11 | importMaterials: 1 12 | materialName: 0 13 | materialSearch: 1 14 | materialLocation: 1 15 | animations: 16 | legacyGenerateAnimations: 4 17 | bakeSimulation: 0 18 | resampleCurves: 1 19 | optimizeGameObjects: 0 20 | motionNodeName: 21 | rigImportErrors: 22 | rigImportWarnings: 23 | animationImportErrors: 24 | animationImportWarnings: 25 | animationRetargetingWarnings: 26 | animationDoRetargetingWarnings: 0 27 | importAnimatedCustomProperties: 0 28 | importConstraints: 0 29 | animationCompression: 1 30 | animationRotationError: 0.5 31 | animationPositionError: 0.5 32 | animationScaleError: 0.5 33 | animationWrapMode: 0 34 | extraExposedTransformPaths: [] 35 | extraUserProperties: [] 36 | clipAnimations: 37 | - serializedVersion: 16 38 | name: Take 001 39 | takeName: Take 001 40 | internalID: 1827226128182048838 41 | firstFrame: 0.8000001 42 | lastFrame: 24 43 | wrapMode: 0 44 | orientationOffsetY: 0 45 | level: 0 46 | cycleOffset: 0 47 | loop: 0 48 | hasAdditiveReferencePose: 0 49 | loopTime: 0 50 | loopBlend: 0 51 | loopBlendOrientation: 0 52 | loopBlendPositionY: 0 53 | loopBlendPositionXZ: 0 54 | keepOriginalOrientation: 0 55 | keepOriginalPositionY: 1 56 | keepOriginalPositionXZ: 0 57 | heightFromFeet: 0 58 | mirror: 0 59 | bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 60 | curves: [] 61 | events: [] 62 | transformMask: [] 63 | maskType: 3 64 | maskSource: {instanceID: 0} 65 | additiveReferencePoseFrame: 0 66 | isReadable: 0 67 | meshes: 68 | lODScreenPercentages: [] 69 | globalScale: 1 70 | meshCompression: 0 71 | addColliders: 0 72 | useSRGBMaterialColor: 1 73 | sortHierarchyByName: 1 74 | importVisibility: 1 75 | importBlendShapes: 1 76 | importCameras: 1 77 | importLights: 1 78 | swapUVChannels: 0 79 | generateSecondaryUV: 0 80 | useFileUnits: 1 81 | keepQuads: 0 82 | weldVertices: 1 83 | preserveHierarchy: 0 84 | skinWeightsMode: 0 85 | maxBonesPerVertex: 4 86 | minBoneWeight: 0.001 87 | meshOptimizationFlags: -1 88 | indexFormat: 0 89 | secondaryUVAngleDistortion: 8 90 | secondaryUVAreaDistortion: 15.000001 91 | secondaryUVHardAngle: 88 92 | secondaryUVPackMargin: 4 93 | useFileScale: 1 94 | tangentSpace: 95 | normalSmoothAngle: 60 96 | normalImportMode: 0 97 | tangentImportMode: 3 98 | normalCalculationMode: 4 99 | legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 100 | blendShapeNormalImportMode: 1 101 | normalSmoothingSource: 0 102 | referencedClips: [] 103 | importAnimation: 1 104 | copyAvatar: 0 105 | humanDescription: 106 | serializedVersion: 3 107 | human: [] 108 | skeleton: [] 109 | armTwist: 0.5 110 | foreArmTwist: 0.5 111 | upperLegTwist: 0.5 112 | legTwist: 0.5 113 | armStretch: 0.05 114 | legStretch: 0.05 115 | feetSpacing: 0 116 | globalScale: 1 117 | rootMotionBoneName: 118 | hasTranslationDoF: 0 119 | hasExtraRoot: 0 120 | skeletonHasParents: 1 121 | lastHumanDescriptionAvatarSource: {instanceID: 0} 122 | animationType: 2 123 | humanoidOversampling: 1 124 | additionalBone: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/SampleRoom/PhysicalCube.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &426207720854277165 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: -2943519306581846597} 12 | - component: {fileID: 7789054593120291549} 13 | - component: {fileID: 7173737029791384209} 14 | - component: {fileID: 4037855861472416025} 15 | - component: {fileID: 1439709662211718455} 16 | m_Layer: 9 17 | m_Name: PhysicalCube 18 | m_TagString: physicalTarget 19 | m_Icon: {fileID: 0} 20 | m_NavMeshLayer: 0 21 | m_StaticEditorFlags: 0 22 | m_IsActive: 1 23 | --- !u!4 &-2943519306581846597 24 | Transform: 25 | m_ObjectHideFlags: 0 26 | m_CorrespondingSourceObject: {fileID: 0} 27 | m_PrefabInstance: {fileID: 0} 28 | m_PrefabAsset: {fileID: 0} 29 | m_GameObject: {fileID: 426207720854277165} 30 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 31 | m_LocalPosition: {x: 0, y: 0, z: 0} 32 | m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} 33 | m_ConstrainProportionsScale: 0 34 | m_Children: [] 35 | m_Father: {fileID: 0} 36 | m_RootOrder: 0 37 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 38 | --- !u!23 &7789054593120291549 39 | MeshRenderer: 40 | m_ObjectHideFlags: 0 41 | m_CorrespondingSourceObject: {fileID: 0} 42 | m_PrefabInstance: {fileID: 0} 43 | m_PrefabAsset: {fileID: 0} 44 | m_GameObject: {fileID: 426207720854277165} 45 | m_Enabled: 1 46 | m_CastShadows: 1 47 | m_ReceiveShadows: 1 48 | m_DynamicOccludee: 1 49 | m_StaticShadowCaster: 0 50 | m_MotionVectors: 1 51 | m_LightProbeUsage: 1 52 | m_ReflectionProbeUsage: 1 53 | m_RayTracingMode: 2 54 | m_RayTraceProcedural: 0 55 | m_RenderingLayerMask: 1 56 | m_RendererPriority: 0 57 | m_Materials: 58 | - {fileID: 1186047753615563431, guid: 533f4e73bd8f3b5468894d15b68717ff, type: 3} 59 | m_StaticBatchInfo: 60 | firstSubMesh: 0 61 | subMeshCount: 0 62 | m_StaticBatchRoot: {fileID: 0} 63 | m_ProbeAnchor: {fileID: 0} 64 | m_LightProbeVolumeOverride: {fileID: 0} 65 | m_ScaleInLightmap: 1 66 | m_ReceiveGI: 1 67 | m_PreserveUVs: 0 68 | m_IgnoreNormalsForChartDetection: 0 69 | m_ImportantGI: 0 70 | m_StitchLightmapSeams: 1 71 | m_SelectedEditorRenderState: 3 72 | m_MinimumChartSize: 4 73 | m_AutoUVMaxDistance: 0.5 74 | m_AutoUVMaxAngle: 89 75 | m_LightmapParameters: {fileID: 0} 76 | m_SortingLayerID: 0 77 | m_SortingLayer: 0 78 | m_SortingOrder: 0 79 | m_AdditionalVertexStreams: {fileID: 0} 80 | --- !u!33 &7173737029791384209 81 | MeshFilter: 82 | m_ObjectHideFlags: 0 83 | m_CorrespondingSourceObject: {fileID: 0} 84 | m_PrefabInstance: {fileID: 0} 85 | m_PrefabAsset: {fileID: 0} 86 | m_GameObject: {fileID: 426207720854277165} 87 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 88 | --- !u!65 &4037855861472416025 89 | BoxCollider: 90 | m_ObjectHideFlags: 0 91 | m_CorrespondingSourceObject: {fileID: 0} 92 | m_PrefabInstance: {fileID: 0} 93 | m_PrefabAsset: {fileID: 0} 94 | m_GameObject: {fileID: 426207720854277165} 95 | m_Material: {fileID: 0} 96 | m_IsTrigger: 1 97 | m_Enabled: 1 98 | serializedVersion: 2 99 | m_Size: {x: 1, y: 1, z: 1} 100 | m_Center: {x: 0, y: 0, z: 0} 101 | --- !u!54 &1439709662211718455 102 | Rigidbody: 103 | m_ObjectHideFlags: 0 104 | m_CorrespondingSourceObject: {fileID: 0} 105 | m_PrefabInstance: {fileID: 0} 106 | m_PrefabAsset: {fileID: 0} 107 | m_GameObject: {fileID: 426207720854277165} 108 | serializedVersion: 2 109 | m_Mass: 1 110 | m_Drag: 0 111 | m_AngularDrag: 0.05 112 | m_UseGravity: 0 113 | m_IsKinematic: 1 114 | m_Interpolate: 0 115 | m_Constraints: 0 116 | m_CollisionDetection: 0 117 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/RedirectionTechniques/BodyWarping/Han_BodyWarping.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using HR_Toolkit; 5 | using UnityEngine; 6 | 7 | namespace HR_Toolkit 8 | { 9 | /// 10 | /// Han et al. created two remapping techniques for reaching in Virtual Reality: 11 | /// - Translational Shift, which introduces a static offset between the virtual and physical hand before a hand reach 12 | /// - Interpolated Reach, which dynamically interpolates the position of the virtual hand during a reaching motion 13 | /// 14 | /// Translational Shift: 15 | /// Translational shift is a remapping technique that involves relocating the virtual hand based on the positional 16 | /// offset between the real world object and the virtual object. 17 | /// The calculation for the virtual hand position, Pvh, using translation offset is given by: 18 | /// Pvh=Pph+(Ppo−Pvo) 19 | /// Here,Pph is the physical hand’s current world position and Ppo and Pvo are the world positions of the physical 20 | /// object and virtual object respectively. 21 | /// 22 | /// Interpolated Reach: 23 | /// 24 | /// More information: 25 | /// 26 | /// 27 | public class Han_BodyWarping : HandRedirector 28 | { 29 | public enum Han_Technique 30 | { 31 | TranslationalShift, 32 | InterpolatedReach 33 | } 34 | 35 | public Han_Technique han_RedirectionTechnique; 36 | /// 37 | /// Boundary offset that is used in the interpolation reach method 38 | /// 39 | public float c; 40 | 41 | public float b; 42 | 43 | public override void ApplyRedirection(Transform realHandPos, Transform virtualHandPos, Transform warpOrigin, 44 | RedirectionObject target, 45 | Transform bodyTransform) 46 | { 47 | // set pPH to users physical hand position 48 | var pPH = realHandPos.position; 49 | // set pPO to physical (object) target position 50 | var pPO = target.GetRealTargetPos(); 51 | // set pVO to virtual (object) target position 52 | var pVO = target.GetVirtualTargetPos(); 53 | 54 | var warp = Vector3.zero; 55 | // apply the warp depending on the chosen technique 56 | switch (han_RedirectionTechnique) 57 | { 58 | case Han_Technique.TranslationalShift: 59 | warp = (pVO - pPO); 60 | // apply warp to virtual hand 61 | virtualHandPos.position = pPH + warp; 62 | return; 63 | 64 | case Han_Technique.InterpolatedReach: 65 | // distance between the physical obj and physical hand 66 | var d = Vector3.Distance(pPO, pPH); 67 | if (d >= b) 68 | { 69 | warp = Vector3.zero; 70 | } 71 | else 72 | { 73 | warp = (pVO - pPO) * (1 - (d / b)); 74 | } 75 | // apply warp to virtual hand 76 | virtualHandPos.position = pPH + warp; 77 | break; 78 | 79 | default: 80 | throw new Exception("No Han_Redirection Technique Set"); 81 | } 82 | 83 | } 84 | 85 | public override void Init(RedirectionObject redirectionObject, Transform head, Vector3 warpOrigin) 86 | { 87 | var pPH = RedirectionManager.instance.realHand.transform.position; 88 | var pPO = redirectionObject.GetRealTargetPos(); 89 | 90 | // interpolation boundary 91 | b = Vector3.Distance(pPO, pPH) + c; 92 | } 93 | } 94 | } -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Analysis/MovementLogger.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using HR_Toolkit; 5 | using UnityEngine; 6 | 7 | namespace HR 8 | { 9 | [Serializable] 10 | public class MovementLogger : MonoBehaviour 11 | { 12 | //private List _handPos = new List(); 13 | //private List _handRot = new List(); 14 | [HideInInspector] 15 | public Log logLastSession = new Log {handPos = new List(), handRot = new List()}; 16 | Log logThisSession = new Log {handPos = new List(), handRot = new List()}; 17 | [HideInInspector] 18 | public GameObject _hand; 19 | 20 | private void Start() 21 | { 22 | //StartCoroutine(LoggerIO.LoadFile(logLastSession)); 23 | } 24 | 25 | public void StartToLog(GameObject hand) 26 | { 27 | _hand = hand; 28 | InvokeRepeating(nameof(LogPosition), 1f, 0.2f); // TODO call every frame instead 29 | } 30 | 31 | public void LoadPath() 32 | { 33 | Debug.Log("Try to load"); 34 | StartCoroutine(LoggerIO.LoadFile(logLastSession)); 35 | 36 | } 37 | 38 | void LogPosition() 39 | { 40 | logThisSession.handPos.Add(_hand.transform.position); 41 | logThisSession.handRot.Add(_hand.transform.rotation); 42 | } 43 | 44 | public void DrawPath(Color color) 45 | { 46 | Debug.Log("Draw Line from " + logLastSession.handPos.Count + " positions"); 47 | LineRenderer lineRenderer = gameObject.AddComponent(); 48 | lineRenderer.material = new Material(Shader.Find("Sprites/Default")); 49 | lineRenderer.startColor = color; 50 | lineRenderer.endColor = color; 51 | lineRenderer.startWidth = 0.01f; 52 | lineRenderer.endWidth = 0.01f; 53 | 54 | lineRenderer.positionCount = logLastSession.handPos.Count; 55 | 56 | for (int i = 0; i < logLastSession.handPos.Count; i++) 57 | { 58 | lineRenderer.SetPosition(i, logLastSession.handPos[i]); 59 | } 60 | } 61 | 62 | public void DrawPath(Color color, int start, int end) 63 | { 64 | Debug.Log("Draw Line from " + (end-start) + " positions"); 65 | LineRenderer lineRenderer = gameObject.GetComponent(); 66 | if (lineRenderer == null) 67 | { 68 | lineRenderer = gameObject.AddComponent(); 69 | lineRenderer.material = new Material(Shader.Find("Sprites/Default")); 70 | lineRenderer.startColor = color; 71 | lineRenderer.endColor = color; 72 | lineRenderer.startWidth = 0.01f; 73 | lineRenderer.endWidth = 0.01f; 74 | } 75 | else 76 | { 77 | lineRenderer = gameObject.GetComponent(); 78 | lineRenderer.startColor = color; 79 | lineRenderer.endColor = color; 80 | lineRenderer.positionCount = 0; 81 | } 82 | 83 | lineRenderer.positionCount = logLastSession.handPos.Count; 84 | 85 | // compute start & end; need to multiplay with sampling rate // TODO introduce variable sampling rate 86 | var _start = start * 5; 87 | var _end = end * 5; 88 | for (int i = _start; i < _end; i++) 89 | { 90 | lineRenderer.SetPosition(i, logLastSession.handPos[i]); 91 | } 92 | } 93 | 94 | private void OnApplicationQuit() 95 | { 96 | CancelInvoke(); 97 | LoggerIO.SaveMovement(logThisSession.handPos, logThisSession.handRot, _hand.name); 98 | } 99 | 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /HaRT/Assets/Prefabs/PrefabComponents/SampleRoom/VirtualCube.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &2327217040215040685 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 2327217040215040686} 12 | - component: {fileID: 2327217040215040593} 13 | - component: {fileID: 2327217040215040592} 14 | - component: {fileID: 2327217040215040687} 15 | - component: {fileID: 2327217040215040594} 16 | m_Layer: 11 17 | m_Name: VirtualCube 18 | m_TagString: virtualTarget 19 | m_Icon: {fileID: 0} 20 | m_NavMeshLayer: 0 21 | m_StaticEditorFlags: 0 22 | m_IsActive: 1 23 | --- !u!4 &2327217040215040686 24 | Transform: 25 | m_ObjectHideFlags: 0 26 | m_CorrespondingSourceObject: {fileID: 0} 27 | m_PrefabInstance: {fileID: 0} 28 | m_PrefabAsset: {fileID: 0} 29 | m_GameObject: {fileID: 2327217040215040685} 30 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 31 | m_LocalPosition: {x: 0, y: 0.349, z: 0} 32 | m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} 33 | m_Children: [] 34 | m_Father: {fileID: 0} 35 | m_RootOrder: 0 36 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 37 | --- !u!33 &2327217040215040593 38 | MeshFilter: 39 | m_ObjectHideFlags: 0 40 | m_CorrespondingSourceObject: {fileID: 0} 41 | m_PrefabInstance: {fileID: 0} 42 | m_PrefabAsset: {fileID: 0} 43 | m_GameObject: {fileID: 2327217040215040685} 44 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 45 | --- !u!23 &2327217040215040592 46 | MeshRenderer: 47 | m_ObjectHideFlags: 0 48 | m_CorrespondingSourceObject: {fileID: 0} 49 | m_PrefabInstance: {fileID: 0} 50 | m_PrefabAsset: {fileID: 0} 51 | m_GameObject: {fileID: 2327217040215040685} 52 | m_Enabled: 1 53 | m_CastShadows: 1 54 | m_ReceiveShadows: 1 55 | m_DynamicOccludee: 1 56 | m_MotionVectors: 1 57 | m_LightProbeUsage: 1 58 | m_ReflectionProbeUsage: 1 59 | m_RayTracingMode: 2 60 | m_RenderingLayerMask: 1 61 | m_RendererPriority: 0 62 | m_Materials: 63 | - {fileID: 2100000, guid: 54c4ff129386ac449b516d873f7ff335, type: 2} 64 | m_StaticBatchInfo: 65 | firstSubMesh: 0 66 | subMeshCount: 0 67 | m_StaticBatchRoot: {fileID: 0} 68 | m_ProbeAnchor: {fileID: 0} 69 | m_LightProbeVolumeOverride: {fileID: 0} 70 | m_ScaleInLightmap: 1 71 | m_ReceiveGI: 1 72 | m_PreserveUVs: 0 73 | m_IgnoreNormalsForChartDetection: 0 74 | m_ImportantGI: 0 75 | m_StitchLightmapSeams: 1 76 | m_SelectedEditorRenderState: 3 77 | m_MinimumChartSize: 4 78 | m_AutoUVMaxDistance: 0.5 79 | m_AutoUVMaxAngle: 89 80 | m_LightmapParameters: {fileID: 0} 81 | m_SortingLayerID: 0 82 | m_SortingLayer: 0 83 | m_SortingOrder: 0 84 | --- !u!65 &2327217040215040687 85 | BoxCollider: 86 | m_ObjectHideFlags: 0 87 | m_CorrespondingSourceObject: {fileID: 0} 88 | m_PrefabInstance: {fileID: 0} 89 | m_PrefabAsset: {fileID: 0} 90 | m_GameObject: {fileID: 2327217040215040685} 91 | m_Material: {fileID: 0} 92 | m_IsTrigger: 0 93 | m_Enabled: 1 94 | serializedVersion: 2 95 | m_Size: {x: 1, y: 1, z: 1} 96 | m_Center: {x: 0, y: 0, z: 0} 97 | --- !u!114 &2327217040215040594 98 | MonoBehaviour: 99 | m_ObjectHideFlags: 0 100 | m_CorrespondingSourceObject: {fileID: 0} 101 | m_PrefabInstance: {fileID: 0} 102 | m_PrefabAsset: {fileID: 0} 103 | m_GameObject: {fileID: 2327217040215040685} 104 | m_Enabled: 1 105 | m_EditorHideFlags: 0 106 | m_Script: {fileID: 11500000, guid: 662e8b957c087474898ba6e40ff0456f, type: 3} 107 | m_Name: 108 | m_EditorClassIdentifier: 109 | positions: 110 | - {fileID: 0} 111 | redirectionTechnique: {fileID: 0} 112 | warpOrigin: {fileID: 0} 113 | resetPosition: {fileID: 0} 114 | useResetPosition: 0 115 | thisIsAResetPosition: 0 116 | onRedirectionActivated: 117 | m_PersistentCalls: 118 | m_Calls: [] 119 | onRedirectionDeactivated: 120 | m_PersistentCalls: 121 | m_Calls: [] 122 | -------------------------------------------------------------------------------- /HaRT/Assets/_Scripts/Redirection/HandRedirector.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace HR_Toolkit 5 | { 6 | /// 7 | /// Hand Redirection aims to minimize the passive haptic feedback problems. InHand Redirection exists no one-to-one 8 | /// mapping between virtual and physical objects, instead we want to warp the virtual space and fool the human 9 | /// hand-eye-coordination. 10 | /// 11 | /// There are three main conceptual approaches: 12 | /// 1. Body Warping- Manipulating the virtual hand movement by creating an offset between the virtual and the 13 | /// physical hand, such that both hands touch an object in their corresponding environments - @class BodyWarping 14 | /// 15 | /// 2. World Warping- Remapping a virtual object by rotating the virtual world around the user’s head - @class WorldWarping 16 | /// 17 | /// 3. Distortions of the complete virtual space or parts of it- A discrepancy between the real and virtual 18 | /// hand movement - @class 19 | /// 20 | /// To implement a new Redirection Technique, Inherit either from this class or if you use one of the conceptual approches 21 | /// from above, inherit from them. 22 | /// 23 | /// 24 | public abstract class HandRedirector: MonoBehaviour 25 | { 26 | 27 | /// 28 | /// The ResetPosition is used between two redirections. Instead of redirecting from one target to another target, 29 | /// the user will be redirected to the reset position first. This prevents to huge redirections. 30 | /// 31 | // public RedirectionObject resetPosition; // TODO 32 | /// 33 | /// The Init() method is neccessary for all Redirection Techniques. Init() gets called everytime a Redirected 34 | /// Prefab is set to next target. 35 | /// This method is used to set up the redirection technique. To trigger specif Unity Events use OnRedirectionStart() 36 | /// on each Redirected Prefab 37 | /// 38 | /// The redirected Prefab that is set to Target in the RedirectionManager 39 | /// Transform of the tracked head 40 | public virtual void Init(RedirectionObject redirectionObject, Transform head, Vector3 warpOrigin) 41 | { 42 | 43 | } 44 | 45 | /// 46 | /// ApplyRedirection() gets called every frame in RedirectionManager's Update. Each Redirection Technique computes 47 | /// the new offset/warp of the user's virtual hand and applies it 48 | /// 49 | /// Tracked real hand position 50 | /// Transform of the virtual hand 51 | /// Warp origin that is set in the Redirection Manager on the redirection start 52 | /// The next target, it contains the virtual and real target position 53 | /// Transform of the tracked head 54 | /// Throws Exception, if there is not Redirection applied 55 | public virtual void ApplyRedirection(Transform realHandPos, Transform virtualHandPos, 56 | Transform warpOrigin, RedirectionObject target, Transform bodyTransform) 57 | { 58 | 59 | } 60 | 61 | public virtual void EndRedirection() 62 | { 63 | 64 | } 65 | 66 | public virtual bool HasThresholds() 67 | { 68 | return false; 69 | } 70 | 71 | public virtual bool IsInThreshold(RedirectionManager redirectionManager, RedirectionObject redirectionObject) 72 | { 73 | throw new NotImplementedException("There are no thresholds for this technique!"); 74 | } 75 | 76 | public virtual RedirectionObject GetResetPosition() 77 | { 78 | return null; 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /HaRT/Assets/Models/SimulatedHand.fbx.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e103331c766d7a44bb051f1709a84b19 3 | ModelImporter: 4 | serializedVersion: 26 5 | internalIDToNameTable: 6 | - first: 7 | 74: 1827226128182048838 8 | second: Take 001 9 | externalObjects: 10 | - first: 11 | type: UnityEngine:Material 12 | assembly: UnityEngine.CoreModule 13 | name: default1 14 | second: {fileID: 2100000, guid: 54c4ff129386ac449b516d873f7ff335, type: 2} 15 | materials: 16 | importMaterials: 1 17 | materialName: 0 18 | materialSearch: 1 19 | materialLocation: 1 20 | animations: 21 | legacyGenerateAnimations: 4 22 | bakeSimulation: 0 23 | resampleCurves: 1 24 | optimizeGameObjects: 0 25 | motionNodeName: 26 | rigImportErrors: 27 | rigImportWarnings: 28 | animationImportErrors: 29 | animationImportWarnings: 30 | animationRetargetingWarnings: 31 | animationDoRetargetingWarnings: 0 32 | importAnimatedCustomProperties: 0 33 | importConstraints: 0 34 | animationCompression: 1 35 | animationRotationError: 0.5 36 | animationPositionError: 0.5 37 | animationScaleError: 0.5 38 | animationWrapMode: 0 39 | extraExposedTransformPaths: [] 40 | extraUserProperties: [] 41 | clipAnimations: 42 | - serializedVersion: 16 43 | name: Take 001 44 | takeName: Take 001 45 | internalID: 1827226128182048838 46 | firstFrame: 0.8000001 47 | lastFrame: 24 48 | wrapMode: 0 49 | orientationOffsetY: 0 50 | level: 0 51 | cycleOffset: 0 52 | loop: 0 53 | hasAdditiveReferencePose: 0 54 | loopTime: 0 55 | loopBlend: 0 56 | loopBlendOrientation: 0 57 | loopBlendPositionY: 0 58 | loopBlendPositionXZ: 0 59 | keepOriginalOrientation: 0 60 | keepOriginalPositionY: 1 61 | keepOriginalPositionXZ: 0 62 | heightFromFeet: 0 63 | mirror: 0 64 | bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 65 | curves: [] 66 | events: [] 67 | transformMask: [] 68 | maskType: 3 69 | maskSource: {instanceID: 0} 70 | additiveReferencePoseFrame: 0 71 | isReadable: 0 72 | meshes: 73 | lODScreenPercentages: [] 74 | globalScale: 1 75 | meshCompression: 0 76 | addColliders: 0 77 | useSRGBMaterialColor: 1 78 | sortHierarchyByName: 1 79 | importVisibility: 1 80 | importBlendShapes: 1 81 | importCameras: 1 82 | importLights: 1 83 | swapUVChannels: 0 84 | generateSecondaryUV: 0 85 | useFileUnits: 1 86 | keepQuads: 0 87 | weldVertices: 1 88 | preserveHierarchy: 0 89 | skinWeightsMode: 0 90 | maxBonesPerVertex: 4 91 | minBoneWeight: 0.001 92 | meshOptimizationFlags: -1 93 | indexFormat: 0 94 | secondaryUVAngleDistortion: 8 95 | secondaryUVAreaDistortion: 15.000001 96 | secondaryUVHardAngle: 88 97 | secondaryUVPackMargin: 4 98 | useFileScale: 1 99 | tangentSpace: 100 | normalSmoothAngle: 60 101 | normalImportMode: 0 102 | tangentImportMode: 3 103 | normalCalculationMode: 4 104 | legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 105 | blendShapeNormalImportMode: 1 106 | normalSmoothingSource: 0 107 | referencedClips: [] 108 | importAnimation: 1 109 | copyAvatar: 0 110 | humanDescription: 111 | serializedVersion: 3 112 | human: [] 113 | skeleton: [] 114 | armTwist: 0.5 115 | foreArmTwist: 0.5 116 | upperLegTwist: 0.5 117 | legTwist: 0.5 118 | armStretch: 0.05 119 | legStretch: 0.05 120 | feetSpacing: 0 121 | globalScale: 1 122 | rootMotionBoneName: 123 | hasTranslationDoF: 0 124 | hasExtraRoot: 0 125 | skeletonHasParents: 1 126 | lastHumanDescriptionAvatarSource: {instanceID: 0} 127 | animationType: 2 128 | humanoidOversampling: 1 129 | additionalBone: 0 130 | userData: 131 | assetBundleName: 132 | assetBundleVariant: 133 | --------------------------------------------------------------------------------