Initial Commit
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "Oculus.Interaction.OVR",
|
||||
"rootNamespace": "",
|
||||
"references": [
|
||||
"GUID:2a230cb87a1d3ba4a98bdc0ddae76e6c",
|
||||
"GUID:f64c9ebcd7899c3448a08dc9f9ddbe30"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": true,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7040c93f6035f5749888e6fdf5ef28f8
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d8ce2a9d73908514686a430a77d46432
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b57edbcdae83f3d419bef65beb4b6732
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,148 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &4523567254164098559
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7170545024315309997}
|
||||
- component: {fileID: 6128863898610156501}
|
||||
- component: {fileID: 2286606030255931614}
|
||||
m_Layer: 0
|
||||
m_Name: OVRBodyDataSource
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7170545024315309997
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4523567254164098559}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1108202227409869545}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &6128863898610156501
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4523567254164098559}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b16459242825b504b8fac95d1c7a68a8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_updateMode: 0
|
||||
_updateAfter: {fileID: 0}
|
||||
_dataProvider: {fileID: 2286606030255931614}
|
||||
_cameraRigRef: {fileID: 0}
|
||||
_processLateUpdates: 0
|
||||
--- !u!114 &2286606030255931614
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4523567254164098559}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 274835e4e2feae04b87f0d000555f8a4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1001 &2447304220917781190
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 3357347988217366569, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
propertyPath: _updateAfter
|
||||
value:
|
||||
objectReference: {fileID: 6128863898610156501}
|
||||
- target: {fileID: 3357347988217366569, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
propertyPath: _iModifyDataFromSourceMono
|
||||
value:
|
||||
objectReference: {fileID: 6128863898610156501}
|
||||
- target: {fileID: 3357347988217366571, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: OVRBody
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3357347988217366575, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3357347988217366575, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3357347988217366575, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3357347988217366575, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3357347988217366575, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3357347988217366575, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3357347988217366575, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3357347988217366575, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3357347988217366575, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3357347988217366575, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3357347988217366575, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 70fbb28682c6d554a8a8e495be5a36a5, type: 3}
|
||||
--- !u!4 &1108202227409869545 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 3357347988217366575, guid: 70fbb28682c6d554a8a8e495be5a36a5,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 2447304220917781190}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0c340e632275442469d141eb75125554
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7fd423f9e6c9f934b8292615475a12f2
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 38ac6ea55f6f32f498dc7f1162a0eb27
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+198
@@ -0,0 +1,198 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &6106127509108096420
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6106127509108096421}
|
||||
- component: {fileID: 4688657108495839394}
|
||||
- component: {fileID: 6106127509108096422}
|
||||
m_Layer: 0
|
||||
m_Name: OVRLeftHandReticle
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6106127509108096421
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6106127509108096420}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 4385930786612650108}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &4688657108495839394
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6106127509108096420}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0c6aa09f2d128af4d93fb9fc29ecec33, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_visibleDuringSelect: 0
|
||||
_handGrabber: {fileID: 0}
|
||||
_syntheticHand: {fileID: 5712968463922221159}
|
||||
_handVisual: {fileID: 0}
|
||||
--- !u!114 &6106127509108096422
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6106127509108096420}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 194b7d1054b8fa64b9bdcea46d06c3a1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_activeState: {fileID: 0}
|
||||
_includeChildrenAsDependents: 0
|
||||
_gameObjects:
|
||||
- {fileID: 4385930786612650109}
|
||||
_monoBehaviours:
|
||||
- {fileID: 4688657108495839394}
|
||||
--- !u!1001 &4068730654910161111
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 6106127509108096421}
|
||||
m_Modifications:
|
||||
- target: {fileID: 336358375985414314, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: LeftHandSynthetic
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 336358375985414315, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 336358375985414315, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 336358375985414315, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 336358375985414315, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 336358375985414315, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 336358375985414315, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 336358375985414315, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 336358375985414315, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 336358375985414315, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 336358375985414315, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 336358375985414315, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2143258140177466423, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[0]
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: 697d9a99ae3c7784bbef700ed300a1ca, type: 2}
|
||||
- target: {fileID: 6781686664567148064, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[0]
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: 697d9a99ae3c7784bbef700ed300a1ca, type: 2}
|
||||
- target: {fileID: 8592730055715483824, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: _updateMode
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8592730055715483824, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: _wristPositionLockCurve._animationLength
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8592730055715483824, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: _wristRotationLockCurve._animationLength
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8592730055715483824, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: _wristPositionUnlockCurve._animationLength
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8592730055715483824, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
propertyPath: _wristRotationUnlockCurve._animationLength
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents:
|
||||
- {fileID: 5017191119551239817, guid: e7fbb376593cff24f9db4ecf8d465aaf, type: 3}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: e7fbb376593cff24f9db4ecf8d465aaf, type: 3}
|
||||
--- !u!1 &4385930786612650109 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 336358375985414314, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 4068730654910161111}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &4385930786612650108 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 336358375985414315, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 4068730654910161111}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &5712968463922221159 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 8592730055715483824, guid: e7fbb376593cff24f9db4ecf8d465aaf,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 4068730654910161111}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4385930786612650109}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5c67033f580359c4581dff1ccffcca91, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 50be278e32a579c47934a40be20880df
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+203
@@ -0,0 +1,203 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &6682429639214924998
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6682429639214924999}
|
||||
- component: {fileID: 1789683672327514967}
|
||||
- component: {fileID: 6682429639214924993}
|
||||
m_Layer: 0
|
||||
m_Name: OVRRightHandReticle
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6682429639214924999
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6682429639214924998}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1157776217227776916}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1789683672327514967
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6682429639214924998}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0c6aa09f2d128af4d93fb9fc29ecec33, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_visibleDuringSelect: 0
|
||||
_handGrabber: {fileID: 0}
|
||||
_syntheticHand: {fileID: 8352625307792070587}
|
||||
_handVisual: {fileID: 0}
|
||||
--- !u!114 &6682429639214924993
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6682429639214924998}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 194b7d1054b8fa64b9bdcea46d06c3a1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_activeState: {fileID: 0}
|
||||
_includeChildrenAsDependents: 0
|
||||
_gameObjects:
|
||||
- {fileID: 1157776217227776917}
|
||||
_monoBehaviours:
|
||||
- {fileID: 1789683672327514967}
|
||||
--- !u!1001 &8864872284322546522
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 6682429639214924999}
|
||||
m_Modifications:
|
||||
- target: {fileID: 642930805460571361, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: _updateMode
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 642930805460571361, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: _iModifyDataFromSourceMono
|
||||
value:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 642930805460571361, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: _wristPositionLockCurve._animationLength
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 642930805460571361, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: _wristRotationLockCurve._animationLength
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 642930805460571361, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: _wristPositionUnlockCurve._animationLength
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 642930805460571361, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: _wristRotationUnlockCurve._animationLength
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7716747580197146830, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7716747580197146830, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7716747580197146830, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7716747580197146830, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7716747580197146830, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7716747580197146830, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7716747580197146830, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7716747580197146830, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7716747580197146830, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7716747580197146830, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7716747580197146830, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7716747580197146831, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: RightHandSynthetic
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8662184560477892144, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[0]
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: 697d9a99ae3c7784bbef700ed300a1ca, type: 2}
|
||||
- target: {fileID: 8961047545368350123, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
propertyPath: m_Materials.Array.data[0]
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: 697d9a99ae3c7784bbef700ed300a1ca, type: 2}
|
||||
m_RemovedComponents:
|
||||
- {fileID: 4908471871966335552, guid: 94313e563929cb3499e3989be338a213, type: 3}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 94313e563929cb3499e3989be338a213, type: 3}
|
||||
--- !u!1 &1157776217227776917 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 7716747580197146831, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8864872284322546522}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &1157776217227776916 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 7716747580197146830, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8864872284322546522}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &8352625307792070587 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 642930805460571361, guid: 94313e563929cb3499e3989be338a213,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8864872284322546522}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1157776217227776917}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5c67033f580359c4581dff1ccffcca91, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9fa0825d6b962924e8124b0b7d0595f8
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7d77b113318ceb84ca829f6be01b9d9d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+2662
File diff suppressed because it is too large
Load Diff
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aca0706bac5a68a4394ac02275753161
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+2662
File diff suppressed because it is too large
Load Diff
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4170d4d20a9b6034a88d89a71c2e0828
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,18 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 84de3b22a7efbab46967c1a17f5b8cda, type: 3}
|
||||
m_Name: GhostProvider
|
||||
m_EditorClassIdentifier:
|
||||
_leftHand: {fileID: 5068477943022155891, guid: aca0706bac5a68a4394ac02275753161,
|
||||
type: 3}
|
||||
_rightHand: {fileID: 4633880424634593146, guid: 4170d4d20a9b6034a88d89a71c2e0828,
|
||||
type: 3}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ba24f6f783d84ef4f8ff075364e1283c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 637ffb889c770884fa6e86bc496d8a49
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+2698
File diff suppressed because it is too large
Load Diff
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf40bb80d130145429b3589de445204b
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+2698
File diff suppressed because it is too large
Load Diff
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f610b7d0d48fa194193a8edc8f1c4959
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+287
@@ -0,0 +1,287 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &336358375985414314
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 336358375985414315}
|
||||
- component: {fileID: 8592730055715483824}
|
||||
m_Layer: 0
|
||||
m_Name: OVRLeftHandSynthetic
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &336358375985414315
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 336358375985414314}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 2143258140644656282}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8592730055715483824
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 336358375985414314}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5c67033f580359c4581dff1ccffcca91, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_updateMode: 4
|
||||
_updateAfter: {fileID: 0}
|
||||
_iModifyDataFromSourceMono: {fileID: 0}
|
||||
_applyModifier: 1
|
||||
_wristPositionLockCurve:
|
||||
_animationCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
_animationLength: 0.1
|
||||
_wristPositionUnlockCurve:
|
||||
_animationCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
_animationLength: 0.1
|
||||
_wristRotationLockCurve:
|
||||
_animationCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
_animationLength: 0.1
|
||||
_wristRotationUnlockCurve:
|
||||
_animationCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
_animationLength: 0.1
|
||||
_jointLockCurve:
|
||||
_animationCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
_animationLength: 0.1
|
||||
_jointUnlockCurve:
|
||||
_animationCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
_animationLength: 0.1
|
||||
_spreadAllowance: 5
|
||||
--- !u!1001 &5118897133543319815
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 336358375985414315}
|
||||
m_Modifications:
|
||||
- target: {fileID: 6536860776232889746, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: OVRLeftHandVisual
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889756, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: _hand
|
||||
value:
|
||||
objectReference: {fileID: 8592730055715483824}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 70d02a90551f23042a882cdceeaf8e3a, type: 3}
|
||||
--- !u!4 &2143258140644656282 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 5118897133543319815}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e7fbb376593cff24f9db4ecf8d465aaf
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+2667
File diff suppressed because it is too large
Load Diff
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 70d02a90551f23042a882cdceeaf8e3a
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+295
@@ -0,0 +1,295 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7716747580197146831
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7716747580197146830}
|
||||
- component: {fileID: 642930805460571361}
|
||||
m_Layer: 0
|
||||
m_Name: OVRRightHandSynthetic
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7716747580197146830
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7716747580197146831}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 8662184561472330087}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &642930805460571361
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7716747580197146831}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5c67033f580359c4581dff1ccffcca91, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_updateMode: 4
|
||||
_updateAfter: {fileID: 0}
|
||||
_iModifyDataFromSourceMono: {fileID: 0}
|
||||
_applyModifier: 1
|
||||
_aspects:
|
||||
- {fileID: 8662184560477892147}
|
||||
_wristPositionLockCurve:
|
||||
_animationCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
_animationLength: 0.1
|
||||
_wristPositionUnlockCurve:
|
||||
_animationCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
_animationLength: 0.1
|
||||
_wristRotationLockCurve:
|
||||
_animationCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
_animationLength: 0.1
|
||||
_wristRotationUnlockCurve:
|
||||
_animationCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
_animationLength: 0.1
|
||||
_jointLockCurve:
|
||||
_animationCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
_animationLength: 0.1
|
||||
_jointUnlockCurve:
|
||||
_animationCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
_animationLength: 0.1
|
||||
_spreadAllowance: 5
|
||||
--- !u!1001 &8033628709413992006
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 7716747580197146830}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1678554349857304352, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: OVRRightHandVisual
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304354, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: _hand
|
||||
value:
|
||||
objectReference: {fileID: 642930805460571361}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 34a22dd67c1e5344591237fdd61e78ec, type: 3}
|
||||
--- !u!4 &8662184561472330087 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8033628709413992006}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &8662184560477892147 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 1678554350674794613, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8033628709413992006}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 94313e563929cb3499e3989be338a213
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+2667
File diff suppressed because it is too large
Load Diff
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 34a22dd67c1e5344591237fdd61e78ec
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 370153c53969e8549842a6048552e532
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+331
@@ -0,0 +1,331 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1449264190894867842
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1447245321946422404}
|
||||
- component: {fileID: 1552897395695158800}
|
||||
- component: {fileID: 1553021711649537224}
|
||||
m_Layer: 0
|
||||
m_Name: RightOVRHand
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1447245321946422404
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1449264190894867842}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6029929497368691522}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1552897395695158800
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1449264190894867842}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: cb7623a8f0b49cf4dbaa40aea4d4be64, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
HandType: 1
|
||||
_pointerPoseRoot: {fileID: 9040074458005239454}
|
||||
--- !u!114 &1553021711649537224
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1449264190894867842}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2609c54f376cffc4da1ab9401cc1a36f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_skeletonType: 1
|
||||
_updateRootPose: 0
|
||||
_updateRootScale: 1
|
||||
_enablePhysicsCapsules: 0
|
||||
_applyBoneTranslations: 1
|
||||
--- !u!1 &3343680960210145338
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3345703896006641980}
|
||||
- component: {fileID: 3456242167228502952}
|
||||
- component: {fileID: 3456098202338290032}
|
||||
m_Layer: 0
|
||||
m_Name: LeftOVRHand
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3345703896006641980
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3343680960210145338}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6029929497368704838}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &3456242167228502952
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3343680960210145338}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: cb7623a8f0b49cf4dbaa40aea4d4be64, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
HandType: 0
|
||||
_pointerPoseRoot: {fileID: 9040074458005239454}
|
||||
--- !u!114 &3456098202338290032
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3343680960210145338}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2609c54f376cffc4da1ab9401cc1a36f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_skeletonType: 0
|
||||
_updateRootPose: 0
|
||||
_updateRootScale: 1
|
||||
_enablePhysicsCapsules: 0
|
||||
_applyBoneTranslations: 1
|
||||
--- !u!1 &9040074458005239455
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9040074458005239454}
|
||||
m_Layer: 0
|
||||
m_Name: InteractionRigOVR
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &9040074458005239454
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9040074458005239455}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 6029929497368655504}
|
||||
- {fileID: 1308793406996113346}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &5337030676969433399
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 9040074458005239454}
|
||||
m_Modifications:
|
||||
- target: {fileID: 3730632290436700508, guid: 2f94427b8dd14ea498fd92aee3ec9f0f,
|
||||
type: 3}
|
||||
propertyPath: _ovrCameraRig
|
||||
value:
|
||||
objectReference: {fileID: 6029929497378496350}
|
||||
- target: {fileID: 6357171400049970933, guid: 2f94427b8dd14ea498fd92aee3ec9f0f,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6357171400049970933, guid: 2f94427b8dd14ea498fd92aee3ec9f0f,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6357171400049970933, guid: 2f94427b8dd14ea498fd92aee3ec9f0f,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6357171400049970933, guid: 2f94427b8dd14ea498fd92aee3ec9f0f,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6357171400049970933, guid: 2f94427b8dd14ea498fd92aee3ec9f0f,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6357171400049970933, guid: 2f94427b8dd14ea498fd92aee3ec9f0f,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6357171400049970933, guid: 2f94427b8dd14ea498fd92aee3ec9f0f,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6357171400049970933, guid: 2f94427b8dd14ea498fd92aee3ec9f0f,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6357171400049970933, guid: 2f94427b8dd14ea498fd92aee3ec9f0f,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6357171400049970933, guid: 2f94427b8dd14ea498fd92aee3ec9f0f,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6357171400049970933, guid: 2f94427b8dd14ea498fd92aee3ec9f0f,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6678269571562373685, guid: 2f94427b8dd14ea498fd92aee3ec9f0f,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: OVRInteraction
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 2f94427b8dd14ea498fd92aee3ec9f0f, type: 3}
|
||||
--- !u!4 &1308793406996113346 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6357171400049970933, guid: 2f94427b8dd14ea498fd92aee3ec9f0f,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 5337030676969433399}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1001 &6029929497368259604
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 9040074458005239454}
|
||||
m_Modifications:
|
||||
- target: {fileID: 100004, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: OVRCameraRig
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 11400000, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
|
||||
propertyPath: _trackingOriginType
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 126d619cf4daa52469682f85c1378b4a, type: 3}
|
||||
--- !u!4 &6029929497368655504 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 6029929497368259604}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &6029929497378496350 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 11400010, guid: 126d619cf4daa52469682f85c1378b4a,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 6029929497368259604}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: df9f338034892c44ebb62d97894772f1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!4 &6029929497368704838 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 482130, guid: 126d619cf4daa52469682f85c1378b4a,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 6029929497368259604}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &6029929497368691522 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 487254, guid: 126d619cf4daa52469682f85c1378b4a,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 6029929497368259604}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ffe3be6b11cb93446bff4c254b6d9148
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1 @@
|
||||
The contents of this folder are obsolete and will be removed in a future version of Interaction SDK.
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7d34f76b2c07b324989afdc3079b38e4
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4c0ee7a14e52ba544b89c2f777670cca
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,127 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &6432645210863653894
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1576363771377775485}
|
||||
- component: {fileID: 5827006584179910994}
|
||||
m_Layer: 0
|
||||
m_Name: OVRControllerVisual
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1576363771377775485
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6432645210863653894}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
|
||||
m_Children:
|
||||
- {fileID: 5687564809246146179}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &5827006584179910994
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6432645210863653894}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 6eb5e919275d29245bba9a1f0e849e6a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_controller: {fileID: 0}
|
||||
_ovrControllerHelper: {fileID: 5687564809252939053}
|
||||
--- !u!1001 &5687564809246575715
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 1576363771377775485}
|
||||
m_Modifications:
|
||||
- target: {fileID: 112276, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: OVRControllerPrefab
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 11479374, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 3}
|
||||
propertyPath: m_controller
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 3}
|
||||
--- !u!4 &5687564809246146179 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 5687564809246575715}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &5687564809252939053 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 11479374, guid: d9809c5e8418bb047bf2c8ba1d1a2cec,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 5687564809246575715}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,375 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3865604322950206417
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5153255695822247137}
|
||||
- component: {fileID: 905404198696409546}
|
||||
m_Layer: 0
|
||||
m_Name: OVRControllerDataSource
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5153255695822247137
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3865604322950206417}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5602775319806219822}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &905404198696409546
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3865604322950206417}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ee6b94f7bc105c24ea3746dc4141a7eb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_updateMode: 0
|
||||
_updateAfter: {fileID: 0}
|
||||
_cameraRigRef: {fileID: 0}
|
||||
_processLateUpdates: 0
|
||||
_handedness: 1
|
||||
_trackingToWorldTransformer: {fileID: 0}
|
||||
_hmdData: {fileID: 0}
|
||||
--- !u!1 &4725436206431406029
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8134629747706201569}
|
||||
- component: {fileID: 7698479342617112532}
|
||||
m_Layer: 0
|
||||
m_Name: OVRControllerDataSource
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8134629747706201569
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4725436206431406029}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2672412961944278841}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &7698479342617112532
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4725436206431406029}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ee6b94f7bc105c24ea3746dc4141a7eb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_updateMode: 0
|
||||
_updateAfter: {fileID: 0}
|
||||
_cameraRigRef: {fileID: 0}
|
||||
_processLateUpdates: 0
|
||||
_handedness: 0
|
||||
_trackingToWorldTransformer: {fileID: 0}
|
||||
_hmdData: {fileID: 0}
|
||||
--- !u!1001 &1101793486853499090
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 3043088304067438435, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: OVRControllers
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4203252876487560164, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: _updateAfter
|
||||
value:
|
||||
objectReference: {fileID: 7698479342617112532}
|
||||
- target: {fileID: 4203252876487560164, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: _iModifyDataFromSourceMono
|
||||
value:
|
||||
objectReference: {fileID: 7698479342617112532}
|
||||
- target: {fileID: 7072864542998684210, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: _updateAfter
|
||||
value:
|
||||
objectReference: {fileID: 905404198696409546}
|
||||
- target: {fileID: 7072864542998684210, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: _iModifyDataFromSourceMono
|
||||
value:
|
||||
objectReference: {fileID: 905404198696409546}
|
||||
- target: {fileID: 8133308069293065735, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8133308069293065735, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8133308069293065735, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8133308069293065735, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8133308069293065735, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8133308069293065735, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8133308069293065735, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8133308069293065735, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8133308069293065735, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8133308069293065735, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8133308069293065735, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: ad9b966cab9674348856e3325c3cb4ba, type: 3}
|
||||
--- !u!4 &2672412961944278841 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 3052325886279516139, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1101793486853499090}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &3827689620755440438 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 4203252876487560164, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1101793486853499090}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4ae60cfa43388e449a7518f36418f81c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!4 &5602775319806219822 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4795019829610151676, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1101793486853499090}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &7885107518003317472 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 7072864542998684210, guid: ad9b966cab9674348856e3325c3cb4ba,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1101793486853499090}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4ae60cfa43388e449a7518f36418f81c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1001 &2972179794009551368
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 2672412961944278841}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5827006584179910994, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: _controller
|
||||
value:
|
||||
objectReference: {fileID: 3827689620755440438}
|
||||
- target: {fileID: 6432645210863653894, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: OVRControllerVisual
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82, type: 3}
|
||||
--- !u!1001 &7493146898037667471
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 5602775319806219822}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1576363771377775485, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5827006584179910994, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: _controller
|
||||
value:
|
||||
objectReference: {fileID: 7885107518003317472}
|
||||
- target: {fileID: 6432645210863653894, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: OVRControllerVisual
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 5eac3d02a7ebc7c4b9a0289fde0e0c82, type: 3}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fbfc588a949bb1a42b20e5bddc4cf8cf
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,499 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &2482422840418843564
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9007837012002254985}
|
||||
- component: {fileID: 6339505922184086532}
|
||||
m_Layer: 0
|
||||
m_Name: OVRHandDataSource
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &9007837012002254985
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2482422840418843564}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 599975513303440536}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &6339505922184086532
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2482422840418843564}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4855895ba1c44959a306beb7ae318fc2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_updateMode: 0
|
||||
_updateAfter: {fileID: 0}
|
||||
_cameraRigRef: {fileID: 0}
|
||||
_processLateUpdates: 0
|
||||
_handedness: 0
|
||||
_trackingToWorldTransformer: {fileID: 0}
|
||||
_handSkeletonProvider: {fileID: 3152717309892369160}
|
||||
--- !u!1 &8995142676830460177
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8994457401842098609}
|
||||
- component: {fileID: 7312179887322021490}
|
||||
m_Layer: 0
|
||||
m_Name: OVRHandDataSource
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8994457401842098609
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8995142676830460177}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4211769496779847655}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &7312179887322021490
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8995142676830460177}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4855895ba1c44959a306beb7ae318fc2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_updateMode: 0
|
||||
_updateAfter: {fileID: 0}
|
||||
_cameraRigRef: {fileID: 0}
|
||||
_processLateUpdates: 0
|
||||
_handedness: 1
|
||||
_trackingToWorldTransformer: {fileID: 0}
|
||||
_handSkeletonProvider: {fileID: 3152717309892369160}
|
||||
--- !u!1001 &4625393064498610968
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 3363867107013514216}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1678554349857304352, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: OVRRightHandVisual
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304353, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1678554349857304354, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: _hand
|
||||
value:
|
||||
objectReference: {fileID: 1054376643923719174}
|
||||
- target: {fileID: 3389240346569705373, guid: 34a22dd67c1e5344591237fdd61e78ec,
|
||||
type: 3}
|
||||
propertyPath: _jointsRadiusFeature
|
||||
value:
|
||||
objectReference: {fileID: 8564264585156991082}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 34a22dd67c1e5344591237fdd61e78ec, type: 3}
|
||||
--- !u!1001 &8302191039947408224
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 372526155961356919, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: _hmd
|
||||
value:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3504779031356180855, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3504779031356180855, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3504779031356180855, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3504779031356180855, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3504779031356180855, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3504779031356180855, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3504779031356180855, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3504779031356180855, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3504779031356180855, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3504779031356180855, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3504779031356180855, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3730594486872817296, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: _updateAfter
|
||||
value:
|
||||
objectReference: {fileID: 6339505922184086532}
|
||||
- target: {fileID: 3730594486872817296, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: _iModifyDataFromSourceMono
|
||||
value:
|
||||
objectReference: {fileID: 6339505922184086532}
|
||||
- target: {fileID: 3851908348929544378, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: HandDataLeft
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4665982553927936479, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: _aspects.Array.size
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5459181645688203985, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: HandFeaturesRight
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6035585756584368012, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: _updateAfter
|
||||
value:
|
||||
objectReference: {fileID: 7312179887322021490}
|
||||
- target: {fileID: 6035585756584368012, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: _iModifyDataFromSourceMono
|
||||
value:
|
||||
objectReference: {fileID: 7312179887322021490}
|
||||
- target: {fileID: 7047524100002786308, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: HandFeaturesLeft
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7080385329852434733, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: HandDataRight
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7813735151477023899, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: _hmd
|
||||
value:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8345421407072912011, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: OVRHands
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8553923158298900550, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8553923158298900553, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 9049608772111415142, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: _aspects.Array.size
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 9146170207662793300, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 9146170207662793301, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: b57bba87873244d4f875b20cb0460ecc, type: 3}
|
||||
--- !u!1 &65207973030035947 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 8345421407072912011, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8302191039947408224}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &599975513303440536 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 8891447409546977272, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8302191039947408224}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &3744647067011934911 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 4665982553927936479, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8302191039947408224}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1a379f34d4f4f2e408d34f14bfb753ce, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &3900767347271515269 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 4977887160623480805, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8302191039947408224}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4dffc2a801520fb4cbe2c11894faf431, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!4 &15374482166302208 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 8287135416287479136, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8302191039947408224}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &4211769496779847655 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 5279477469112202375, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8302191039947408224}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &1054376643923719174 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 9049608772111415142, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8302191039947408224}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1a379f34d4f4f2e408d34f14bfb753ce, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &8564264585156991082 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 427049767978310410, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8302191039947408224}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4dffc2a801520fb4cbe2c11894faf431, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!4 &3363867107013514216 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6744586346034516104, guid: b57bba87873244d4f875b20cb0460ecc,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 8302191039947408224}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &3152717309892369160
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 65207973030035947}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 86bd0d3098d25db4c9c839739557480b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1001 &8609248718401795007
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 15374482166302208}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4686655757951481241, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: _jointsRadiusFeature
|
||||
value:
|
||||
objectReference: {fileID: 3900767347271515269}
|
||||
- target: {fileID: 6536860776232889746, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: OVRLeftHandVisual
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889756, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: _hand
|
||||
value:
|
||||
objectReference: {fileID: 3744647067011934911}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6536860776232889757, guid: 70d02a90551f23042a882cdceeaf8e3a,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 70d02a90551f23042a882cdceeaf8e3a, type: 3}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ea16c3c8c1688234fa81a4f39339bf1b
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,136 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &6500773364147742529
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8754616529588029621}
|
||||
- component: {fileID: 7429438080402074591}
|
||||
m_Layer: 0
|
||||
m_Name: OVRHmdDataSource
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8754616529588029621
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6500773364147742529}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 3302308642418619131}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &7429438080402074591
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6500773364147742529}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f273abee0604ad2409c9bbc9a60e461e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_updateMode: 0
|
||||
_updateAfter: {fileID: 0}
|
||||
_cameraRigRef: {fileID: 0}
|
||||
_processLateUpdates: 0
|
||||
_useOvrManagerEmulatedPose: 0
|
||||
_trackingToWorldTransformer: {fileID: 0}
|
||||
--- !u!1001 &4517512739943872900
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 260494349833344412, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: OVRHmd
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1397600019941919615, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1397600019941919615, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1397600019941919615, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1397600019941919615, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1397600019941919615, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1397600019941919615, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1397600019941919615, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1397600019941919615, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1397600019941919615, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1397600019941919615, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1397600019941919615, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2283902713005402673, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
propertyPath: _updateAfter
|
||||
value:
|
||||
objectReference: {fileID: 7429438080402074591}
|
||||
- target: {fileID: 2283902713005402673, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
propertyPath: _iModifyDataFromSourceMono
|
||||
value:
|
||||
objectReference: {fileID: 7429438080402074591}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 982ea7c9970bf124bb5535f9df2f9531, type: 3}
|
||||
--- !u!4 &3302308642418619131 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 1397600019941919615, guid: 982ea7c9970bf124bb5535f9df2f9531,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 4517512739943872900}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,157 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &6678269571562373685
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6357171400049970933}
|
||||
- component: {fileID: 3730632290436700508}
|
||||
- component: {fileID: 8937797799668855672}
|
||||
m_Layer: 0
|
||||
m_Name: OVRInteraction
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6357171400049970933
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6678269571562373685}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 4712682962664965729}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &3730632290436700508
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6678269571562373685}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a7b47e36715521d4e8a30d2c5b6e83e2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_ovrCameraRig: {fileID: 0}
|
||||
_requireOvrHands: 1
|
||||
--- !u!114 &8937797799668855672
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6678269571562373685}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 998a5646185efb9488265f3a2f35a99a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_cameraRigRef: {fileID: 3730632290436700508}
|
||||
--- !u!1001 &7832595489462563994
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 6357171400049970933}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1666648664483901721, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: _cameraRigRef
|
||||
value:
|
||||
objectReference: {fileID: 3730632290436700508}
|
||||
- target: {fileID: 1666648664483901721, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: _trackingToWorldTransformer
|
||||
value:
|
||||
objectReference: {fileID: 8937797799668855672}
|
||||
- target: {fileID: 3302308642418619131, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3302308642418619131, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3302308642418619131, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3302308642418619131, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3302308642418619131, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3302308642418619131, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3302308642418619131, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3302308642418619131, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3302308642418619131, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3302308642418619131, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3302308642418619131, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4407928774905555992, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: OVRHmd
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7429438080402074591, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: _cameraRigRef
|
||||
value:
|
||||
objectReference: {fileID: 3730632290436700508}
|
||||
- target: {fileID: 7429438080402074591, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
propertyPath: _trackingToWorldTransformer
|
||||
value:
|
||||
objectReference: {fileID: 8937797799668855672}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50, type: 3}
|
||||
--- !u!4 &4712682962664965729 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 3302308642418619131, guid: 46b60c6fd5ee4fb4eb2aab6fc3de5c50,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 7832595489462563994}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2f94427b8dd14ea498fd92aee3ec9f0f
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 95366a4bcd2530248bf2fe24d9fb42d7
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+5070
File diff suppressed because it is too large
Load Diff
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 47e21ad323ffa484e9de5d3013133bf6
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+283
@@ -0,0 +1,283 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &4815712198111155533
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4815712198111155534}
|
||||
- component: {fileID: 4815712198111155535}
|
||||
m_Layer: 0
|
||||
m_Name: HoverLocation
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4815712198111155534
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4815712198111155533}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4815712199228594535}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &4815712198111155535
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4815712198111155533}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: abee63302fdc2bb4f80efe129df0a723, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_hand: {fileID: 4815712199228594538}
|
||||
_handJointId: 0
|
||||
_localPositionOffset: {x: 0.1, y: -0.05, z: 0}
|
||||
_rotationOffset: {x: 0, y: 0, z: 0, w: 1}
|
||||
--- !u!1 &4815712198759090712
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4815712198759090713}
|
||||
- component: {fileID: 4815712198759090714}
|
||||
m_Layer: 0
|
||||
m_Name: Wrist
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4815712198759090713
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4815712198759090712}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.05, y: 0.05, z: 0.05}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4815712199228594535}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &4815712198759090714
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4815712198759090712}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: abee63302fdc2bb4f80efe129df0a723, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_hand: {fileID: 4815712199228594538}
|
||||
_handJointId: 0
|
||||
_localPositionOffset: {x: 0, y: 0, z: 0}
|
||||
_rotationOffset: {x: 0, y: 0, z: 0, w: 1}
|
||||
--- !u!1 &4815712199228594534
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4815712199228594535}
|
||||
- component: {fileID: 4815712199228594538}
|
||||
- component: {fileID: 4815712199228594536}
|
||||
- component: {fileID: 4815712199228594537}
|
||||
m_Layer: 0
|
||||
m_Name: OVRTouchHandGrabInteractor
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4815712199228594535
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4815712199228594534}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1289327820083540307}
|
||||
- {fileID: 4815712198111155534}
|
||||
- {fileID: 4815712198759090713}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &4815712199228594538
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4815712199228594534}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b14164f8f23faae4293baeb84485b3d6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_hand: {fileID: 0}
|
||||
--- !u!114 &4815712199228594536
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4815712199228594534}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 6bcb907778a00234ea4e7aa9cf238631, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_activeState: {fileID: 0}
|
||||
_interactableFilters: []
|
||||
_maxIterationsPerFrame: 3
|
||||
_data: {fileID: 0}
|
||||
_hand: {fileID: 4815712199228594538}
|
||||
_openHand: {fileID: 7026185951933532668}
|
||||
_handSphereMap: {fileID: 983719076086685089}
|
||||
_hoverLocation: {fileID: 4815712198111155534}
|
||||
_grabLocation: {fileID: 4815712198759090713}
|
||||
_minHoverDistance: 0.05
|
||||
_curlDeltaThreshold: 3
|
||||
_curlTimeThreshold: 0.05
|
||||
_iterations: 10
|
||||
--- !u!114 &4815712199228594537
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4815712199228594534}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 838bf82eef6d73d42b59f428c4e33417, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_interactor: {fileID: 4815712199228594536}
|
||||
_syntheticHand: {fileID: 0}
|
||||
--- !u!1001 &1237029013936745151
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 4815712199228594535}
|
||||
m_Modifications:
|
||||
- target: {fileID: 58075687501077484, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 58075687501077484, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 58075687501077484, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 58075687501077484, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 58075687501077484, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 58075687501077484, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 58075687501077484, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 58075687501077484, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 58075687501077484, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 58075687501077484, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 58075687501077484, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 58075687501077485, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: HandSphereMap
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 47e21ad323ffa484e9de5d3013133bf6, type: 3}
|
||||
--- !u!4 &1289327820083540307 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 58075687501077484, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1237029013936745151}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &983719076086685089 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 2057036842789844766, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1237029013936745151}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8b2fc1498442023409ccd04c3abff60e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &7026185951933532668 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 8117960086461850435, guid: 47e21ad323ffa484e9de5d3013133bf6,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1237029013936745151}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1a379f34d4f4f2e408d34f14bfb753ce, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eacb945ff4b1f71479625dd1c973b0f2
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 821da5c1dd060684a896723bf9d0eed7
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 44ec7e03ff6a3544e8e8e8367057bd37
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f2a5702f81abeab4d8948f0f06424efc
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+130
@@ -0,0 +1,130 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
using Oculus.Interaction.Input;
|
||||
|
||||
namespace Oculus.Interaction.Body.Input
|
||||
{
|
||||
using IOVRSkeletonDataProvider = OVRSkeleton.IOVRSkeletonDataProvider;
|
||||
|
||||
public class FromOVRBodyDataSource : DataSource<BodyDataAsset>
|
||||
{
|
||||
[Header("OVR Data Source")]
|
||||
[SerializeField, Interface(typeof(IOVRSkeletonDataProvider))]
|
||||
private UnityEngine.Object _dataProvider;
|
||||
private IOVRSkeletonDataProvider DataProvider;
|
||||
|
||||
[SerializeField, Interface(typeof(IOVRCameraRigRef))]
|
||||
private UnityEngine.Object _cameraRigRef;
|
||||
private IOVRCameraRigRef CameraRigRef;
|
||||
|
||||
[SerializeField]
|
||||
private bool _processLateUpdates = false;
|
||||
|
||||
protected override BodyDataAsset DataAsset => _bodyDataAsset;
|
||||
|
||||
private readonly BodyDataAsset _bodyDataAsset = new BodyDataAsset();
|
||||
|
||||
private readonly OVRSkeletonMapping _mapping = new OVRSkeletonMapping();
|
||||
|
||||
protected void Awake()
|
||||
{
|
||||
CameraRigRef = _cameraRigRef as IOVRCameraRigRef;
|
||||
DataProvider = _dataProvider as IOVRSkeletonDataProvider;
|
||||
}
|
||||
|
||||
protected override void Start()
|
||||
{
|
||||
base.Start();
|
||||
this.AssertField(DataProvider, nameof(DataProvider));
|
||||
this.AssertField(CameraRigRef, nameof(CameraRigRef));
|
||||
|
||||
_bodyDataAsset.SkeletonMapping = _mapping;
|
||||
}
|
||||
|
||||
protected override void OnEnable()
|
||||
{
|
||||
base.OnEnable();
|
||||
if (_started)
|
||||
{
|
||||
CameraRigRef.WhenInputDataDirtied += HandleInputDataDirtied;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnDisable()
|
||||
{
|
||||
if (_started)
|
||||
{
|
||||
CameraRigRef.WhenInputDataDirtied -= HandleInputDataDirtied;
|
||||
}
|
||||
|
||||
base.OnDisable();
|
||||
}
|
||||
|
||||
private void HandleInputDataDirtied(bool isLateUpdate)
|
||||
{
|
||||
if (isLateUpdate && !_processLateUpdates)
|
||||
{
|
||||
return;
|
||||
}
|
||||
MarkInputDataRequiresUpdate();
|
||||
}
|
||||
|
||||
protected override void UpdateData()
|
||||
{
|
||||
var data = DataProvider.GetSkeletonPoseData();
|
||||
if (!data.IsDataValid)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_bodyDataAsset.SkeletonMapping = _mapping;
|
||||
_bodyDataAsset.IsDataHighConfidence = data.IsDataHighConfidence;
|
||||
_bodyDataAsset.IsDataValid = data.IsDataValid;
|
||||
_bodyDataAsset.SkeletonChangedCount = data.SkeletonChangedCount;
|
||||
_bodyDataAsset.RootScale = data.RootScale;
|
||||
|
||||
_bodyDataAsset.Root = new Pose()
|
||||
{
|
||||
position = data.RootPose.Position.FromFlippedZVector3f(),
|
||||
rotation = data.RootPose.Orientation.FromFlippedZQuatf()
|
||||
};
|
||||
|
||||
foreach (var jointId in _mapping.Joints)
|
||||
{
|
||||
Pose pose = default(Pose);
|
||||
if (_mapping.TryGetSourceJointId(jointId, out OVRPlugin.BoneId boneId))
|
||||
{
|
||||
int index = (int)boneId;
|
||||
pose = new Pose()
|
||||
{
|
||||
rotation = float.IsNaN(data.BoneRotations[index].w)
|
||||
? default(Quaternion)
|
||||
: data.BoneRotations[index].FromFlippedZQuatf(),
|
||||
position = data.BoneTranslations[index].FromFlippedZVector3f()
|
||||
};
|
||||
|
||||
}
|
||||
_bodyDataAsset.JointPoses[(int)jointId] = pose;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b16459242825b504b8fac95d1c7a68a8
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+103
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
using Oculus.Interaction.Body.Input;
|
||||
|
||||
using IOVRSkeletonDataProvider = OVRSkeleton.IOVRSkeletonDataProvider;
|
||||
using OVRBoneId = OVRPlugin.BoneId;
|
||||
|
||||
namespace Oculus.Interaction.Body.PoseDetection
|
||||
{
|
||||
public class OVRBodyPoseSkeletonProvider : MonoBehaviour, IOVRSkeletonDataProvider
|
||||
{
|
||||
private const int OVR_NUM_JOINTS =
|
||||
OVRBoneId.Body_End - OVRBoneId.Body_Start;
|
||||
|
||||
[SerializeField, Interface(typeof(IBodyPose))]
|
||||
private UnityEngine.Object _bodyPose;
|
||||
private IBodyPose BodyPose;
|
||||
|
||||
private OVRPlugin.Quatf[] _boneRotations = new OVRPlugin.Quatf[OVR_NUM_JOINTS];
|
||||
private OVRPlugin.Vector3f[] _boneTranslations = new OVRPlugin.Vector3f[OVR_NUM_JOINTS];
|
||||
|
||||
private readonly OVRSkeletonMapping _mapping = new OVRSkeletonMapping();
|
||||
|
||||
protected virtual void Awake()
|
||||
{
|
||||
BodyPose = _bodyPose as IBodyPose;
|
||||
}
|
||||
|
||||
protected virtual void Start()
|
||||
{
|
||||
this.AssertField(BodyPose, nameof(BodyPose));
|
||||
}
|
||||
|
||||
OVRSkeleton.SkeletonPoseData OVRSkeleton.IOVRSkeletonDataProvider.GetSkeletonPoseData()
|
||||
{
|
||||
T[] EnsureLength<T>(T[] array, int length) => array?.Length == length ? array : new T[length];
|
||||
|
||||
// Make sure arrays have been allocated
|
||||
_boneRotations = EnsureLength(_boneRotations, OVR_NUM_JOINTS);
|
||||
_boneTranslations = EnsureLength(_boneTranslations, OVR_NUM_JOINTS);
|
||||
|
||||
// Copy joint poses into bone arrays
|
||||
for (int i = 0; i < OVR_NUM_JOINTS; ++i)
|
||||
{
|
||||
OVRBoneId boneId = (OVRBoneId)i;
|
||||
if (_mapping.TryGetBodyJointId(boneId, out BodyJointId jointId) &&
|
||||
BodyPose.GetJointPoseFromRoot(jointId, out Pose pose))
|
||||
{
|
||||
_boneRotations[i] = pose.rotation.ToFlippedZQuatf();
|
||||
_boneTranslations[i] = pose.position.ToFlippedZVector3f();
|
||||
}
|
||||
}
|
||||
|
||||
OVRPlugin.Posef rootPose;
|
||||
if (BodyPose.GetJointPoseFromRoot(BodyJointId.Body_Root, out Pose root))
|
||||
{
|
||||
rootPose = new OVRPlugin.Posef()
|
||||
{
|
||||
Orientation = root.rotation.ToFlippedXQuatf(),
|
||||
Position = root.position.ToFlippedZVector3f()
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
rootPose = default;
|
||||
}
|
||||
|
||||
return new OVRSkeleton.SkeletonPoseData
|
||||
{
|
||||
IsDataValid = true,
|
||||
IsDataHighConfidence = true,
|
||||
RootPose = rootPose,
|
||||
RootScale = 1.0f,
|
||||
BoneRotations = _boneRotations,
|
||||
BoneTranslations = _boneTranslations,
|
||||
};
|
||||
}
|
||||
|
||||
public OVRSkeleton.SkeletonType GetSkeletonType()
|
||||
{
|
||||
return OVRSkeleton.SkeletonType.Body;
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a2e52bbde0381514a9b68ecb0eff863a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+128
@@ -0,0 +1,128 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using System.Collections.Generic;
|
||||
|
||||
/// <summary>
|
||||
/// Primitive type serialization
|
||||
/// </summary>
|
||||
namespace Oculus.Interaction.Body.Input
|
||||
{
|
||||
using OVRBoneId = OVRPlugin.BoneId;
|
||||
|
||||
public class OVRSkeletonMapping : BodySkeletonMapping<OVRBoneId>, ISkeletonMapping
|
||||
{
|
||||
protected override IReadOnlyDictionary<BodyJointId, JointInfo> GetJointMapping()
|
||||
{
|
||||
return _jointMapping;
|
||||
}
|
||||
|
||||
protected override OVRBoneId GetRoot()
|
||||
{
|
||||
return OVRBoneId.Body_Root;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Mapping of <see cref="BodyJointId"/> to <see cref="OVRBoneId"/> and parent joint
|
||||
/// </summary>
|
||||
private readonly Dictionary<BodyJointId, JointInfo> _jointMapping =
|
||||
new Dictionary<BodyJointId, JointInfo>
|
||||
{
|
||||
[BodyJointId.Body_Root] = new JointInfo(OVRBoneId.Body_Root, OVRBoneId.Body_Root),
|
||||
[BodyJointId.Body_Hips] = new JointInfo(OVRBoneId.Body_Hips, OVRBoneId.Body_Root),
|
||||
[BodyJointId.Body_SpineLower] = new JointInfo(OVRBoneId.Body_SpineLower, OVRBoneId.Body_Hips),
|
||||
[BodyJointId.Body_SpineMiddle] = new JointInfo(OVRBoneId.Body_SpineMiddle, OVRBoneId.Body_SpineLower),
|
||||
[BodyJointId.Body_SpineUpper] = new JointInfo(OVRBoneId.Body_SpineUpper, OVRBoneId.Body_SpineMiddle),
|
||||
[BodyJointId.Body_Chest] = new JointInfo(OVRBoneId.Body_Chest, OVRBoneId.Body_SpineUpper),
|
||||
[BodyJointId.Body_Neck] = new JointInfo(OVRBoneId.Body_Neck, OVRBoneId.Body_Chest),
|
||||
[BodyJointId.Body_Head] = new JointInfo(OVRBoneId.Body_Head, OVRBoneId.Body_Neck),
|
||||
|
||||
// Left Arm
|
||||
[BodyJointId.Body_LeftShoulder] = new JointInfo(OVRBoneId.Body_LeftShoulder, OVRBoneId.Body_Chest),
|
||||
[BodyJointId.Body_LeftScapula] = new JointInfo(OVRBoneId.Body_LeftScapula, OVRBoneId.Body_LeftShoulder),
|
||||
[BodyJointId.Body_LeftArmUpper] = new JointInfo(OVRBoneId.Body_LeftArmUpper, OVRBoneId.Body_LeftScapula),
|
||||
[BodyJointId.Body_LeftArmLower] = new JointInfo(OVRBoneId.Body_LeftArmLower, OVRBoneId.Body_LeftArmUpper),
|
||||
[BodyJointId.Body_LeftHandWristTwist] = new JointInfo(OVRBoneId.Body_LeftHandWristTwist, OVRBoneId.Body_LeftArmLower),
|
||||
|
||||
// Right Arm
|
||||
[BodyJointId.Body_RightShoulder] = new JointInfo(OVRBoneId.Body_RightShoulder, OVRBoneId.Body_Chest),
|
||||
[BodyJointId.Body_RightScapula] = new JointInfo(OVRBoneId.Body_RightScapula, OVRBoneId.Body_RightShoulder),
|
||||
[BodyJointId.Body_RightArmUpper] = new JointInfo(OVRBoneId.Body_RightArmUpper, OVRBoneId.Body_RightScapula),
|
||||
[BodyJointId.Body_RightArmLower] = new JointInfo(OVRBoneId.Body_RightArmLower, OVRBoneId.Body_RightArmUpper),
|
||||
[BodyJointId.Body_RightHandWristTwist] = new JointInfo(OVRBoneId.Body_RightHandWristTwist, OVRBoneId.Body_RightArmLower),
|
||||
|
||||
// Left Hand
|
||||
[BodyJointId.Body_LeftHandWrist] = new JointInfo(OVRBoneId.Body_LeftHandWrist, OVRBoneId.Body_LeftArmLower),
|
||||
[BodyJointId.Body_LeftHandPalm] = new JointInfo(OVRBoneId.Body_LeftHandPalm, OVRBoneId.Body_LeftHandWrist),
|
||||
[BodyJointId.Body_LeftHandThumbMetacarpal] = new JointInfo(OVRBoneId.Body_LeftHandThumbMetacarpal, OVRBoneId.Body_LeftHandWrist),
|
||||
[BodyJointId.Body_LeftHandThumbProximal] = new JointInfo(OVRBoneId.Body_LeftHandThumbProximal, OVRBoneId.Body_LeftHandThumbMetacarpal),
|
||||
[BodyJointId.Body_LeftHandThumbDistal] = new JointInfo(OVRBoneId.Body_LeftHandThumbDistal, OVRBoneId.Body_LeftHandThumbProximal),
|
||||
[BodyJointId.Body_LeftHandThumbTip] = new JointInfo(OVRBoneId.Body_LeftHandThumbTip, OVRBoneId.Body_LeftHandThumbDistal),
|
||||
[BodyJointId.Body_LeftHandIndexMetacarpal] = new JointInfo(OVRBoneId.Body_LeftHandIndexMetacarpal, OVRBoneId.Body_LeftHandWrist),
|
||||
[BodyJointId.Body_LeftHandIndexProximal] = new JointInfo(OVRBoneId.Body_LeftHandIndexProximal, OVRBoneId.Body_LeftHandIndexMetacarpal),
|
||||
[BodyJointId.Body_LeftHandIndexIntermediate] = new JointInfo(OVRBoneId.Body_LeftHandIndexIntermediate, OVRBoneId.Body_LeftHandIndexProximal),
|
||||
[BodyJointId.Body_LeftHandIndexDistal] = new JointInfo(OVRBoneId.Body_LeftHandIndexDistal, OVRBoneId.Body_LeftHandIndexIntermediate),
|
||||
[BodyJointId.Body_LeftHandIndexTip] = new JointInfo(OVRBoneId.Body_LeftHandIndexTip, OVRBoneId.Body_LeftHandIndexDistal),
|
||||
[BodyJointId.Body_LeftHandMiddleMetacarpal] = new JointInfo(OVRBoneId.Body_LeftHandMiddleMetacarpal, OVRBoneId.Body_LeftHandWrist),
|
||||
[BodyJointId.Body_LeftHandMiddleProximal] = new JointInfo(OVRBoneId.Body_LeftHandMiddleProximal, OVRBoneId.Body_LeftHandMiddleMetacarpal),
|
||||
[BodyJointId.Body_LeftHandMiddleIntermediate] = new JointInfo(OVRBoneId.Body_LeftHandMiddleIntermediate, OVRBoneId.Body_LeftHandMiddleProximal),
|
||||
[BodyJointId.Body_LeftHandMiddleDistal] = new JointInfo(OVRBoneId.Body_LeftHandMiddleDistal, OVRBoneId.Body_LeftHandMiddleIntermediate),
|
||||
[BodyJointId.Body_LeftHandMiddleTip] = new JointInfo(OVRBoneId.Body_LeftHandMiddleTip, OVRBoneId.Body_LeftHandMiddleDistal),
|
||||
[BodyJointId.Body_LeftHandRingMetacarpal] = new JointInfo(OVRBoneId.Body_LeftHandRingMetacarpal, OVRBoneId.Body_LeftHandWrist),
|
||||
[BodyJointId.Body_LeftHandRingProximal] = new JointInfo(OVRBoneId.Body_LeftHandRingProximal, OVRBoneId.Body_LeftHandRingMetacarpal),
|
||||
[BodyJointId.Body_LeftHandRingIntermediate] = new JointInfo(OVRBoneId.Body_LeftHandRingIntermediate, OVRBoneId.Body_LeftHandRingProximal),
|
||||
[BodyJointId.Body_LeftHandRingDistal] = new JointInfo(OVRBoneId.Body_LeftHandRingDistal, OVRBoneId.Body_LeftHandRingIntermediate),
|
||||
[BodyJointId.Body_LeftHandRingTip] = new JointInfo(OVRBoneId.Body_LeftHandRingTip, OVRBoneId.Body_LeftHandRingDistal),
|
||||
[BodyJointId.Body_LeftHandLittleMetacarpal] = new JointInfo(OVRBoneId.Body_LeftHandLittleMetacarpal, OVRBoneId.Body_LeftHandWrist),
|
||||
[BodyJointId.Body_LeftHandLittleProximal] = new JointInfo(OVRBoneId.Body_LeftHandLittleProximal, OVRBoneId.Body_LeftHandLittleMetacarpal),
|
||||
[BodyJointId.Body_LeftHandLittleIntermediate] = new JointInfo(OVRBoneId.Body_LeftHandLittleIntermediate, OVRBoneId.Body_LeftHandLittleProximal),
|
||||
[BodyJointId.Body_LeftHandLittleDistal] = new JointInfo(OVRBoneId.Body_LeftHandLittleDistal, OVRBoneId.Body_LeftHandLittleIntermediate),
|
||||
[BodyJointId.Body_LeftHandLittleTip] = new JointInfo(OVRBoneId.Body_LeftHandLittleTip, OVRBoneId.Body_LeftHandLittleDistal),
|
||||
|
||||
// Right Hand
|
||||
[BodyJointId.Body_RightHandWrist] = new JointInfo(OVRBoneId.Body_RightHandWrist, OVRBoneId.Body_RightArmLower),
|
||||
[BodyJointId.Body_RightHandPalm] = new JointInfo(OVRBoneId.Body_RightHandPalm, OVRBoneId.Body_RightHandWrist),
|
||||
[BodyJointId.Body_RightHandThumbMetacarpal] = new JointInfo(OVRBoneId.Body_RightHandThumbMetacarpal, OVRBoneId.Body_RightHandWrist),
|
||||
[BodyJointId.Body_RightHandThumbProximal] = new JointInfo(OVRBoneId.Body_RightHandThumbProximal, OVRBoneId.Body_RightHandThumbMetacarpal),
|
||||
[BodyJointId.Body_RightHandThumbDistal] = new JointInfo(OVRBoneId.Body_RightHandThumbDistal, OVRBoneId.Body_RightHandThumbProximal),
|
||||
[BodyJointId.Body_RightHandThumbTip] = new JointInfo(OVRBoneId.Body_RightHandThumbTip, OVRBoneId.Body_RightHandThumbDistal),
|
||||
[BodyJointId.Body_RightHandIndexMetacarpal] = new JointInfo(OVRBoneId.Body_RightHandIndexMetacarpal, OVRBoneId.Body_RightHandWrist),
|
||||
[BodyJointId.Body_RightHandIndexProximal] = new JointInfo(OVRBoneId.Body_RightHandIndexProximal, OVRBoneId.Body_RightHandIndexMetacarpal),
|
||||
[BodyJointId.Body_RightHandIndexIntermediate] = new JointInfo(OVRBoneId.Body_RightHandIndexIntermediate, OVRBoneId.Body_RightHandIndexProximal),
|
||||
[BodyJointId.Body_RightHandIndexDistal] = new JointInfo(OVRBoneId.Body_RightHandIndexDistal, OVRBoneId.Body_RightHandIndexIntermediate),
|
||||
[BodyJointId.Body_RightHandIndexTip] = new JointInfo(OVRBoneId.Body_RightHandIndexTip, OVRBoneId.Body_RightHandIndexDistal),
|
||||
[BodyJointId.Body_RightHandMiddleMetacarpal] = new JointInfo(OVRBoneId.Body_RightHandMiddleMetacarpal, OVRBoneId.Body_RightHandWrist),
|
||||
[BodyJointId.Body_RightHandMiddleProximal] = new JointInfo(OVRBoneId.Body_RightHandMiddleProximal, OVRBoneId.Body_RightHandMiddleMetacarpal),
|
||||
[BodyJointId.Body_RightHandMiddleIntermediate] = new JointInfo(OVRBoneId.Body_RightHandMiddleIntermediate, OVRBoneId.Body_RightHandMiddleProximal),
|
||||
[BodyJointId.Body_RightHandMiddleDistal] = new JointInfo(OVRBoneId.Body_RightHandMiddleDistal, OVRBoneId.Body_RightHandMiddleIntermediate),
|
||||
[BodyJointId.Body_RightHandMiddleTip] = new JointInfo(OVRBoneId.Body_RightHandMiddleTip, OVRBoneId.Body_RightHandMiddleDistal),
|
||||
[BodyJointId.Body_RightHandRingMetacarpal] = new JointInfo(OVRBoneId.Body_RightHandRingMetacarpal, OVRBoneId.Body_RightHandWrist),
|
||||
[BodyJointId.Body_RightHandRingProximal] = new JointInfo(OVRBoneId.Body_RightHandRingProximal, OVRBoneId.Body_RightHandRingMetacarpal),
|
||||
[BodyJointId.Body_RightHandRingIntermediate] = new JointInfo(OVRBoneId.Body_RightHandRingIntermediate, OVRBoneId.Body_RightHandRingProximal),
|
||||
[BodyJointId.Body_RightHandRingDistal] = new JointInfo(OVRBoneId.Body_RightHandRingDistal, OVRBoneId.Body_RightHandRingIntermediate),
|
||||
[BodyJointId.Body_RightHandRingTip] = new JointInfo(OVRBoneId.Body_RightHandRingTip, OVRBoneId.Body_RightHandRingDistal),
|
||||
[BodyJointId.Body_RightHandLittleMetacarpal] = new JointInfo(OVRBoneId.Body_RightHandLittleMetacarpal, OVRBoneId.Body_RightHandWrist),
|
||||
[BodyJointId.Body_RightHandLittleProximal] = new JointInfo(OVRBoneId.Body_RightHandLittleProximal, OVRBoneId.Body_RightHandLittleMetacarpal),
|
||||
[BodyJointId.Body_RightHandLittleIntermediate] = new JointInfo(OVRBoneId.Body_RightHandLittleIntermediate, OVRBoneId.Body_RightHandLittleProximal),
|
||||
[BodyJointId.Body_RightHandLittleDistal] = new JointInfo(OVRBoneId.Body_RightHandLittleDistal, OVRBoneId.Body_RightHandLittleIntermediate),
|
||||
[BodyJointId.Body_RightHandLittleTip] = new JointInfo(OVRBoneId.Body_RightHandLittleTip, OVRBoneId.Body_RightHandLittleDistal),
|
||||
};
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7c2a4397c1b770040841c4385e95fdcd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e76d151a8c71e4d44a1072f66e27b038
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,156 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
namespace Oculus.Interaction.Input
|
||||
{
|
||||
public class AnimatedHandOVR : MonoBehaviour
|
||||
{
|
||||
public enum AllowThumbUp
|
||||
{
|
||||
Always,
|
||||
GripRequired,
|
||||
TriggerAndGripRequired,
|
||||
}
|
||||
public const string ANIM_LAYER_NAME_POINT = "Point Layer";
|
||||
public const string ANIM_LAYER_NAME_THUMB = "Thumb Layer";
|
||||
public const string ANIM_PARAM_NAME_FLEX = "Flex";
|
||||
public const string ANIM_PARAM_NAME_PINCH = "Pinch";
|
||||
public const string ANIM_PARAM_NAME_INDEX_SLIDE = "IndexSlide";
|
||||
|
||||
[SerializeField]
|
||||
private OVRInput.Controller _controller = OVRInput.Controller.None;
|
||||
[SerializeField]
|
||||
private Animator _animator = null;
|
||||
[SerializeField]
|
||||
private AllowThumbUp _allowThumbUp = AllowThumbUp.TriggerAndGripRequired;
|
||||
|
||||
[Header("Animation Speed")]
|
||||
[SerializeField]
|
||||
private float _animFlexhGain = 35;
|
||||
[SerializeField]
|
||||
private float _animPinchGain = 35;
|
||||
[SerializeField]
|
||||
private float _animPointAndThumbsUpGain = 20;
|
||||
|
||||
private int _animLayerIndexThumb = -1;
|
||||
private int _animLayerIndexPoint = -1;
|
||||
private int _animParamIndexFlex = Animator.StringToHash(ANIM_PARAM_NAME_FLEX);
|
||||
private int _animParamPinch = Animator.StringToHash(ANIM_PARAM_NAME_PINCH);
|
||||
private int _animParamIndexSlide = Animator.StringToHash(ANIM_PARAM_NAME_INDEX_SLIDE);
|
||||
|
||||
private bool _isGivingThumbsUp = false;
|
||||
private float _pointBlend = 0.0f;
|
||||
private float _slideBlend = 0.0f;
|
||||
|
||||
private float _thumbsUpBlend = 0.0f;
|
||||
private float _pointTarget = 0.0f;
|
||||
private float _slideTarget = 0.0f;
|
||||
|
||||
private float _animFlex = 0;
|
||||
private float _animPinch = 0;
|
||||
|
||||
private const float TRIGGER_MAX = 0.95f;
|
||||
|
||||
protected virtual void Start()
|
||||
{
|
||||
_animLayerIndexPoint = _animator.GetLayerIndex(ANIM_LAYER_NAME_POINT);
|
||||
_animLayerIndexThumb = _animator.GetLayerIndex(ANIM_LAYER_NAME_THUMB);
|
||||
}
|
||||
|
||||
protected virtual void Update()
|
||||
{
|
||||
UpdateCapTouchStates();
|
||||
|
||||
_pointBlend = Mathf.Lerp(_pointBlend, _pointTarget, _animPointAndThumbsUpGain * Time.deltaTime);
|
||||
_slideBlend = Mathf.Lerp(_slideBlend, _slideTarget, _animPointAndThumbsUpGain * Time.deltaTime);
|
||||
_thumbsUpBlend = Mathf.Lerp(_thumbsUpBlend, _isGivingThumbsUp ? 1 : 0, _animPointAndThumbsUpGain * Time.deltaTime);
|
||||
|
||||
UpdateAnimStates();
|
||||
}
|
||||
|
||||
private void UpdateCapTouchStates()
|
||||
{
|
||||
float indexCurl = OVRControllerUtility.GetIndexCurl(_controller);
|
||||
float indexSlide = OVRControllerUtility.GetIndexSlide(_controller);
|
||||
_pointTarget = 1 - indexCurl;
|
||||
_slideTarget = indexSlide;
|
||||
|
||||
bool triggerThumbsUp = _allowThumbUp == AllowThumbUp.Always ||
|
||||
(_allowThumbUp == AllowThumbUp.GripRequired
|
||||
&& OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger, _controller) >= TRIGGER_MAX) ||
|
||||
(_allowThumbUp == AllowThumbUp.TriggerAndGripRequired
|
||||
&& OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger, _controller) >= TRIGGER_MAX
|
||||
&& OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTrigger, _controller) >= TRIGGER_MAX);
|
||||
|
||||
_isGivingThumbsUp = !OVRInput.Get(OVRInput.NearTouch.PrimaryThumbButtons, _controller)
|
||||
&& !OVRInput.Get(OVRInput.Button.One, _controller)
|
||||
&& !OVRInput.Get(OVRInput.Button.Two, _controller)
|
||||
&& !OVRInput.Get(OVRInput.Button.Three, _controller)
|
||||
&& !OVRInput.Get(OVRInput.Button.Four, _controller)
|
||||
&& !OVRInput.Get(OVRInput.Button.PrimaryThumbstick, _controller)
|
||||
&& OVRInput.Get(OVRInput.Axis2D.PrimaryThumbstick, _controller).magnitude == 0
|
||||
&& triggerThumbsUp;
|
||||
}
|
||||
|
||||
private void UpdateAnimStates()
|
||||
{
|
||||
// Flex
|
||||
// blend between open hand and fully closed fist
|
||||
float flex = OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger, _controller);
|
||||
_animFlex = Mathf.Lerp(_animFlex, flex, _animFlexhGain * Time.deltaTime);
|
||||
_animator.SetFloat(_animParamIndexFlex, _animFlex);
|
||||
|
||||
// Pinch
|
||||
float pinchAmount = OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTrigger, _controller);
|
||||
_animPinch = Mathf.Lerp(_animPinch, pinchAmount, _animPinchGain * Time.deltaTime);
|
||||
_animator.SetFloat(_animParamPinch, _animPinch);
|
||||
|
||||
// Point
|
||||
_animator.SetLayerWeight(_animLayerIndexPoint, _pointBlend);
|
||||
_animator.SetFloat(_animParamIndexSlide, _slideBlend);
|
||||
|
||||
// Thumbs up
|
||||
_animator.SetLayerWeight(_animLayerIndexThumb, _thumbsUpBlend);
|
||||
}
|
||||
|
||||
|
||||
#region Inject
|
||||
|
||||
public void InjectAllAnimatedHandOVR(OVRInput.Controller controller, Animator animator)
|
||||
{
|
||||
InjectController(controller);
|
||||
InjectAnimator(animator);
|
||||
}
|
||||
|
||||
public void InjectController(OVRInput.Controller controller)
|
||||
{
|
||||
_controller = controller;
|
||||
}
|
||||
|
||||
public void InjectAnimator(Animator animator)
|
||||
{
|
||||
_animator = animator;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2864da2f393a3e948bb12ec4ac9b1782
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+321
@@ -0,0 +1,321 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.Assertions;
|
||||
|
||||
namespace Oculus.Interaction.Input
|
||||
{
|
||||
struct UsageMapping
|
||||
{
|
||||
public UsageMapping(ControllerButtonUsage usage, OVRInput.Touch touch)
|
||||
{
|
||||
Usage = usage;
|
||||
Touch = touch;
|
||||
Button = OVRInput.Button.None;
|
||||
}
|
||||
|
||||
public UsageMapping(ControllerButtonUsage usage, OVRInput.Button button)
|
||||
{
|
||||
Usage = usage;
|
||||
Touch = OVRInput.Touch.None;
|
||||
Button = button;
|
||||
}
|
||||
|
||||
public bool IsTouch => Touch != OVRInput.Touch.None;
|
||||
public bool IsButton => Button != OVRInput.Button.None;
|
||||
public ControllerButtonUsage Usage { get; }
|
||||
public OVRInput.Touch Touch { get; }
|
||||
public OVRInput.Button Button { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the Pointer Pose for the active controller model
|
||||
/// as found in the official prefabs.
|
||||
/// This point is usually located at the front tip of the controller.
|
||||
/// </summary>
|
||||
struct OVRPointerPoseSelector
|
||||
{
|
||||
private static readonly Pose[] QUEST1_POINTERS = new Pose[2]
|
||||
{
|
||||
new Pose(new Vector3(-0.00779999979f,-0.00410000002f,0.0375000015f),
|
||||
Quaternion.Euler(359.209534f, 6.45196056f, 6.95544577f)),
|
||||
new Pose(new Vector3(0.00779999979f,-0.00410000002f,0.0375000015f),
|
||||
Quaternion.Euler(359.209534f, 353.548035f, 353.044556f))
|
||||
};
|
||||
|
||||
private static readonly Pose[] QUEST2_POINTERS = new Pose[2]
|
||||
{
|
||||
new Pose(new Vector3(0.00899999961f, -0.00321028521f, 0.030869998f),
|
||||
Quaternion.Euler(359.209534f, 6.45196056f, 6.95544577f)),
|
||||
new Pose(new Vector3(-0.00899999961f, -0.00321028521f, 0.030869998f),
|
||||
Quaternion.Euler(359.209534f, 353.548035f, 353.044556f))
|
||||
};
|
||||
|
||||
public Pose LocalPointerPose { get; private set; }
|
||||
|
||||
public OVRPointerPoseSelector(Handedness handedness)
|
||||
{
|
||||
OVRPlugin.SystemHeadset headset = OVRPlugin.GetSystemHeadsetType();
|
||||
switch (headset)
|
||||
{
|
||||
case OVRPlugin.SystemHeadset.Oculus_Quest_2:
|
||||
case OVRPlugin.SystemHeadset.Oculus_Link_Quest_2:
|
||||
LocalPointerPose = QUEST2_POINTERS[(int)handedness];
|
||||
break;
|
||||
default:
|
||||
LocalPointerPose = QUEST1_POINTERS[(int)handedness];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class FromOVRControllerDataSource : DataSource<ControllerDataAsset>
|
||||
{
|
||||
[Header("OVR Data Source")]
|
||||
[SerializeField, Interface(typeof(IOVRCameraRigRef))]
|
||||
private UnityEngine.Object _cameraRigRef;
|
||||
public IOVRCameraRigRef CameraRigRef { get; private set; }
|
||||
|
||||
[SerializeField]
|
||||
private bool _processLateUpdates = false;
|
||||
|
||||
[Header("Shared Configuration")]
|
||||
[SerializeField]
|
||||
private Handedness _handedness;
|
||||
|
||||
[SerializeField, Interface(typeof(ITrackingToWorldTransformer))]
|
||||
private UnityEngine.Object _trackingToWorldTransformer;
|
||||
private ITrackingToWorldTransformer TrackingToWorldTransformer;
|
||||
|
||||
public bool ProcessLateUpdates
|
||||
{
|
||||
get
|
||||
{
|
||||
return _processLateUpdates;
|
||||
}
|
||||
set
|
||||
{
|
||||
_processLateUpdates = value;
|
||||
}
|
||||
}
|
||||
|
||||
private readonly ControllerDataAsset _controllerDataAsset = new ControllerDataAsset();
|
||||
private OVRInput.Controller _ovrController;
|
||||
private Transform _ovrControllerAnchor;
|
||||
private ControllerDataSourceConfig _config;
|
||||
|
||||
private OVRPointerPoseSelector _pointerPoseSelector;
|
||||
|
||||
#region OVR Controller Mappings
|
||||
|
||||
// Mappings from Unity XR CommonUsage to Oculus Button/Touch.
|
||||
private static readonly UsageMapping[] ControllerUsageMappings =
|
||||
{
|
||||
new UsageMapping(ControllerButtonUsage.PrimaryButton, OVRInput.Button.One),
|
||||
new UsageMapping(ControllerButtonUsage.PrimaryTouch, OVRInput.Touch.One),
|
||||
new UsageMapping(ControllerButtonUsage.SecondaryButton, OVRInput.Button.Two),
|
||||
new UsageMapping(ControllerButtonUsage.SecondaryTouch, OVRInput.Touch.Two),
|
||||
new UsageMapping(ControllerButtonUsage.GripButton,
|
||||
OVRInput.Button.PrimaryHandTrigger),
|
||||
new UsageMapping(ControllerButtonUsage.TriggerButton,
|
||||
OVRInput.Button.PrimaryIndexTrigger),
|
||||
new UsageMapping(ControllerButtonUsage.MenuButton, OVRInput.Button.Start),
|
||||
new UsageMapping(ControllerButtonUsage.Primary2DAxisClick,
|
||||
OVRInput.Button.PrimaryThumbstick),
|
||||
new UsageMapping(ControllerButtonUsage.Primary2DAxisTouch,
|
||||
OVRInput.Touch.PrimaryThumbstick),
|
||||
new UsageMapping(ControllerButtonUsage.Thumbrest, OVRInput.Touch.PrimaryThumbRest)
|
||||
};
|
||||
|
||||
#endregion
|
||||
|
||||
protected void Awake()
|
||||
{
|
||||
TrackingToWorldTransformer = _trackingToWorldTransformer as ITrackingToWorldTransformer;
|
||||
CameraRigRef = _cameraRigRef as IOVRCameraRigRef;
|
||||
|
||||
UpdateConfig();
|
||||
}
|
||||
|
||||
protected override void Start()
|
||||
{
|
||||
this.BeginStart(ref _started, () => base.Start());
|
||||
this.AssertField(CameraRigRef, nameof(CameraRigRef));
|
||||
this.AssertField(TrackingToWorldTransformer, nameof(TrackingToWorldTransformer));
|
||||
if (_handedness == Handedness.Left)
|
||||
{
|
||||
this.AssertField(CameraRigRef.LeftController, nameof(CameraRigRef.LeftController));
|
||||
_ovrControllerAnchor = CameraRigRef.LeftController;
|
||||
_ovrController = OVRInput.Controller.LTouch;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.AssertField(CameraRigRef.RightController, nameof(CameraRigRef.RightController));
|
||||
_ovrControllerAnchor = CameraRigRef.RightController;
|
||||
_ovrController = OVRInput.Controller.RTouch;
|
||||
}
|
||||
_pointerPoseSelector = new OVRPointerPoseSelector(_handedness);
|
||||
|
||||
UpdateConfig();
|
||||
this.EndStart(ref _started);
|
||||
}
|
||||
|
||||
protected override void OnEnable()
|
||||
{
|
||||
base.OnEnable();
|
||||
if (_started)
|
||||
{
|
||||
CameraRigRef.WhenInputDataDirtied += HandleInputDataDirtied;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnDisable()
|
||||
{
|
||||
if (_started)
|
||||
{
|
||||
CameraRigRef.WhenInputDataDirtied -= HandleInputDataDirtied;
|
||||
}
|
||||
|
||||
base.OnDisable();
|
||||
}
|
||||
|
||||
private void HandleInputDataDirtied(bool isLateUpdate)
|
||||
{
|
||||
if (isLateUpdate && !_processLateUpdates)
|
||||
{
|
||||
return;
|
||||
}
|
||||
MarkInputDataRequiresUpdate();
|
||||
}
|
||||
|
||||
private ControllerDataSourceConfig Config
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_config != null)
|
||||
{
|
||||
return _config;
|
||||
}
|
||||
|
||||
_config = new ControllerDataSourceConfig()
|
||||
{
|
||||
Handedness = _handedness
|
||||
};
|
||||
|
||||
return _config;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateConfig()
|
||||
{
|
||||
Config.Handedness = _handedness;
|
||||
Config.TrackingToWorldTransformer = TrackingToWorldTransformer;
|
||||
}
|
||||
|
||||
protected override void UpdateData()
|
||||
{
|
||||
_controllerDataAsset.Config = Config;
|
||||
var worldToTrackingSpace = TrackingToWorldTransformer.Transform.worldToLocalMatrix;
|
||||
Transform ovrController = _ovrControllerAnchor;
|
||||
|
||||
_controllerDataAsset.IsDataValid = true;
|
||||
_controllerDataAsset.IsConnected =
|
||||
(OVRInput.GetConnectedControllers() & _ovrController) > 0;
|
||||
if (!_controllerDataAsset.IsConnected)
|
||||
{
|
||||
// revert state fields to their defaults
|
||||
_controllerDataAsset.IsTracked = default;
|
||||
_controllerDataAsset.ButtonUsageMask = default;
|
||||
_controllerDataAsset.RootPoseOrigin = default;
|
||||
return;
|
||||
}
|
||||
|
||||
_controllerDataAsset.IsTracked = true;
|
||||
|
||||
// Update button usages
|
||||
_controllerDataAsset.ButtonUsageMask = ControllerButtonUsage.None;
|
||||
OVRInput.Controller controllerMask = _ovrController;
|
||||
foreach (UsageMapping mapping in ControllerUsageMappings)
|
||||
{
|
||||
bool usageActive;
|
||||
if (mapping.IsTouch)
|
||||
{
|
||||
usageActive = OVRInput.Get(mapping.Touch, controllerMask);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.AssertIsTrue(mapping.IsButton,
|
||||
$"Element in {AssertUtils.Nicify(nameof(ControllerUsageMappings))} has {AssertUtils.Nicify(nameof(mapping.IsButton))} set to false.");
|
||||
|
||||
usageActive = OVRInput.Get(mapping.Button, controllerMask);
|
||||
}
|
||||
|
||||
if (usageActive)
|
||||
{
|
||||
_controllerDataAsset.ButtonUsageMask |= mapping.Usage;
|
||||
}
|
||||
}
|
||||
|
||||
// Update poses
|
||||
|
||||
// Root pose, in tracking space.
|
||||
_controllerDataAsset.RootPose = new Pose(
|
||||
OVRInput.GetLocalControllerPosition(_ovrController),
|
||||
OVRInput.GetLocalControllerRotation(_ovrController));
|
||||
_controllerDataAsset.RootPoseOrigin = PoseOrigin.RawTrackedPose;
|
||||
|
||||
// Convert controller pointer pose from local to tracking space.
|
||||
Matrix4x4 controllerModelToTracking = Matrix4x4.TRS(
|
||||
_controllerDataAsset.RootPose.position, _controllerDataAsset.RootPose.rotation,
|
||||
Vector3.one);
|
||||
_controllerDataAsset.PointerPose =
|
||||
new Pose(controllerModelToTracking.MultiplyPoint3x4(_pointerPoseSelector.LocalPointerPose.position),
|
||||
_controllerDataAsset.RootPose.rotation * _pointerPoseSelector.LocalPointerPose.rotation);
|
||||
|
||||
_controllerDataAsset.PointerPoseOrigin = PoseOrigin.RawTrackedPose;
|
||||
}
|
||||
|
||||
protected override ControllerDataAsset DataAsset => _controllerDataAsset;
|
||||
|
||||
#region Inject
|
||||
|
||||
public void InjectAllFromOVRControllerDataSource(UpdateModeFlags updateMode, IDataSource updateAfter,
|
||||
Handedness handedness, ITrackingToWorldTransformer trackingToWorldTransformer)
|
||||
{
|
||||
base.InjectAllDataSource(updateMode, updateAfter);
|
||||
InjectHandedness(handedness);
|
||||
InjectTrackingToWorldTransformer(trackingToWorldTransformer);
|
||||
}
|
||||
|
||||
public void InjectHandedness(Handedness handedness)
|
||||
{
|
||||
_handedness = handedness;
|
||||
}
|
||||
|
||||
public void InjectTrackingToWorldTransformer(ITrackingToWorldTransformer trackingToWorldTransformer)
|
||||
{
|
||||
_trackingToWorldTransformer = trackingToWorldTransformer as UnityEngine.Object;
|
||||
TrackingToWorldTransformer = trackingToWorldTransformer;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ee6b94f7bc105c24ea3746dc4141a7eb
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+311
@@ -0,0 +1,311 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.Assertions;
|
||||
|
||||
namespace Oculus.Interaction.Input
|
||||
{
|
||||
public class FromOVRControllerHandDataSource : DataSource<HandDataAsset>
|
||||
{
|
||||
[SerializeField]
|
||||
private Transform[] _bones;
|
||||
|
||||
[SerializeField]
|
||||
private AnimationCurve _pinchCurve = AnimationCurve.EaseInOut(0.1f, 0f, 0.9f, 1f);
|
||||
|
||||
[SerializeField]
|
||||
private Vector3 _rootOffset;
|
||||
[SerializeField]
|
||||
private Vector3 _rootAngleOffset;
|
||||
|
||||
|
||||
[Header("OVR Data Source")]
|
||||
[SerializeField, Interface(typeof(IOVRCameraRigRef))]
|
||||
private UnityEngine.Object _cameraRigRef;
|
||||
private IOVRCameraRigRef CameraRigRef;
|
||||
|
||||
[SerializeField]
|
||||
private bool _processLateUpdates = false;
|
||||
|
||||
[Header("Shared Configuration")]
|
||||
[SerializeField]
|
||||
private Handedness _handedness;
|
||||
|
||||
[SerializeField, Interface(typeof(ITrackingToWorldTransformer))]
|
||||
private UnityEngine.Object _trackingToWorldTransformer;
|
||||
private ITrackingToWorldTransformer TrackingToWorldTransformer;
|
||||
|
||||
public bool ProcessLateUpdates
|
||||
{
|
||||
get
|
||||
{
|
||||
return _processLateUpdates;
|
||||
}
|
||||
set
|
||||
{
|
||||
_processLateUpdates = value;
|
||||
}
|
||||
}
|
||||
|
||||
private readonly HandDataAsset _handDataAsset = new HandDataAsset();
|
||||
private OVRInput.Controller _ovrController;
|
||||
private Transform _ovrControllerAnchor;
|
||||
private HandDataSourceConfig _config;
|
||||
private Pose _poseOffset;
|
||||
|
||||
public static Quaternion WristFixupRotation { get; } =
|
||||
new Quaternion(0.0f, 1.0f, 0.0f, 0.0f);
|
||||
|
||||
protected override HandDataAsset DataAsset => _handDataAsset;
|
||||
|
||||
private HandSkeleton _skeleton;
|
||||
|
||||
protected void Awake()
|
||||
{
|
||||
_skeleton = HandSkeletonOVR.CreateSkeletonData(_handedness);
|
||||
TrackingToWorldTransformer = _trackingToWorldTransformer as ITrackingToWorldTransformer;
|
||||
CameraRigRef = _cameraRigRef as IOVRCameraRigRef;
|
||||
|
||||
UpdateConfig();
|
||||
}
|
||||
|
||||
protected override void Start()
|
||||
{
|
||||
this.BeginStart(ref _started, () => base.Start());
|
||||
this.AssertField(CameraRigRef, nameof(CameraRigRef));
|
||||
this.AssertField(TrackingToWorldTransformer, nameof(TrackingToWorldTransformer));
|
||||
if (_handedness == Handedness.Left)
|
||||
{
|
||||
this.AssertField(CameraRigRef.LeftHand, nameof(CameraRigRef.LeftHand));
|
||||
_ovrControllerAnchor = CameraRigRef.LeftController;
|
||||
_ovrController = OVRInput.Controller.LTouch;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.AssertField(CameraRigRef.RightHand, nameof(CameraRigRef.RightHand));
|
||||
_ovrControllerAnchor = CameraRigRef.RightController;
|
||||
_ovrController = OVRInput.Controller.RTouch;
|
||||
}
|
||||
|
||||
Pose offset = new Pose(_rootOffset, Quaternion.Euler(_rootAngleOffset));
|
||||
if (_handedness == Handedness.Left)
|
||||
{
|
||||
offset.position.x = -offset.position.x;
|
||||
offset.rotation = Quaternion.Euler(180f, 0f, 0f) * offset.rotation;
|
||||
}
|
||||
_poseOffset = offset;
|
||||
|
||||
UpdateSkeleton();
|
||||
UpdateConfig();
|
||||
this.EndStart(ref _started);
|
||||
}
|
||||
|
||||
protected override void OnEnable()
|
||||
{
|
||||
base.OnEnable();
|
||||
if (_started)
|
||||
{
|
||||
CameraRigRef.WhenInputDataDirtied += HandleInputDataDirtied;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnDisable()
|
||||
{
|
||||
if (_started)
|
||||
{
|
||||
CameraRigRef.WhenInputDataDirtied -= HandleInputDataDirtied;
|
||||
}
|
||||
|
||||
base.OnDisable();
|
||||
}
|
||||
|
||||
private void HandleInputDataDirtied(bool isLateUpdate)
|
||||
{
|
||||
if (isLateUpdate && !_processLateUpdates)
|
||||
{
|
||||
return;
|
||||
}
|
||||
MarkInputDataRequiresUpdate();
|
||||
}
|
||||
|
||||
private void UpdateSkeleton()
|
||||
{
|
||||
if (_started)
|
||||
{
|
||||
for (int i = 0; i < _skeleton.joints.Length; i++)
|
||||
{
|
||||
_skeleton.joints[i].pose.position = _bones[i].localPosition;
|
||||
_skeleton.joints[i].pose.rotation = _bones[i].localRotation;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private HandDataSourceConfig Config
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_config != null)
|
||||
{
|
||||
return _config;
|
||||
}
|
||||
|
||||
_config = new HandDataSourceConfig()
|
||||
{
|
||||
Handedness = _handedness
|
||||
};
|
||||
|
||||
return _config;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateConfig()
|
||||
{
|
||||
Config.Handedness = _handedness;
|
||||
Config.TrackingToWorldTransformer = TrackingToWorldTransformer;
|
||||
Config.HandSkeleton = _skeleton;
|
||||
}
|
||||
|
||||
protected override void UpdateData()
|
||||
{
|
||||
_handDataAsset.Config = Config;
|
||||
_handDataAsset.IsDataValid = true;
|
||||
_handDataAsset.IsConnected = (OVRInput.GetConnectedControllers() & _ovrController) > 0;
|
||||
if (!_handDataAsset.IsConnected)
|
||||
{
|
||||
// revert state fields to their defaults
|
||||
_handDataAsset.IsTracked = default;
|
||||
_handDataAsset.RootPoseOrigin = default;
|
||||
_handDataAsset.PointerPoseOrigin = default;
|
||||
_handDataAsset.IsHighConfidence = default;
|
||||
for (var fingerIdx = 0; fingerIdx < Constants.NUM_FINGERS; fingerIdx++)
|
||||
{
|
||||
_handDataAsset.IsFingerPinching[fingerIdx] = default;
|
||||
_handDataAsset.IsFingerHighConfidence[fingerIdx] = default;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
_handDataAsset.IsTracked = true;
|
||||
_handDataAsset.IsHighConfidence = true;
|
||||
_handDataAsset.HandScale = 1f;
|
||||
|
||||
_handDataAsset.IsDominantHand =
|
||||
OVRInput.GetDominantHand() == OVRInput.Handedness.LeftHanded
|
||||
&& _handedness == Handedness.Left
|
||||
|| (OVRInput.GetDominantHand() == OVRInput.Handedness.RightHanded
|
||||
&& _handedness == Handedness.Right);
|
||||
|
||||
float pinchStrength = _pinchCurve.Evaluate(OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTrigger, _ovrController));
|
||||
float gripStrength = _pinchCurve.Evaluate(OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger, _ovrController));
|
||||
|
||||
_handDataAsset.IsFingerHighConfidence[(int)HandFinger.Thumb] = true;
|
||||
_handDataAsset.IsFingerPinching[(int)HandFinger.Thumb] = pinchStrength >= 1f || gripStrength >= 1f;
|
||||
_handDataAsset.FingerPinchStrength[(int)HandFinger.Thumb] = Mathf.Max(pinchStrength, gripStrength);
|
||||
|
||||
_handDataAsset.IsFingerHighConfidence[(int)HandFinger.Index] = true;
|
||||
_handDataAsset.IsFingerPinching[(int)HandFinger.Index] = pinchStrength >= 1f;
|
||||
_handDataAsset.FingerPinchStrength[(int)HandFinger.Index] = pinchStrength;
|
||||
|
||||
_handDataAsset.IsFingerHighConfidence[(int)HandFinger.Middle] = true;
|
||||
_handDataAsset.IsFingerPinching[(int)HandFinger.Middle] = gripStrength >= 1f;
|
||||
_handDataAsset.FingerPinchStrength[(int)HandFinger.Middle] = gripStrength;
|
||||
|
||||
_handDataAsset.IsFingerHighConfidence[(int)HandFinger.Ring] = true;
|
||||
_handDataAsset.IsFingerPinching[(int)HandFinger.Ring] = gripStrength >= 1f;
|
||||
_handDataAsset.FingerPinchStrength[(int)HandFinger.Ring] = gripStrength;
|
||||
|
||||
_handDataAsset.IsFingerHighConfidence[(int)HandFinger.Pinky] = true;
|
||||
_handDataAsset.IsFingerPinching[(int)HandFinger.Pinky] = gripStrength >= 1f;
|
||||
_handDataAsset.FingerPinchStrength[(int)HandFinger.Pinky] = gripStrength;
|
||||
|
||||
_handDataAsset.PointerPoseOrigin = PoseOrigin.RawTrackedPose;
|
||||
_handDataAsset.PointerPose = new Pose(
|
||||
OVRInput.GetLocalControllerPosition(_ovrController),
|
||||
OVRInput.GetLocalControllerRotation(_ovrController));
|
||||
|
||||
for (int i = 0; i < _bones.Length; i++)
|
||||
{
|
||||
_handDataAsset.Joints[i] = _bones[i].localRotation;
|
||||
}
|
||||
|
||||
_handDataAsset.Joints[0] = WristFixupRotation;
|
||||
|
||||
// Convert controller pose from world to tracking space.
|
||||
Pose pose = new Pose(_ovrControllerAnchor.position, _ovrControllerAnchor.rotation);
|
||||
if (Config.TrackingToWorldTransformer != null)
|
||||
{
|
||||
pose = Config.TrackingToWorldTransformer.ToTrackingPose(pose);
|
||||
}
|
||||
|
||||
PoseUtils.Multiply(pose, _poseOffset, ref _handDataAsset.Root);
|
||||
_handDataAsset.RootPoseOrigin = PoseOrigin.RawTrackedPose;
|
||||
}
|
||||
|
||||
#region Inject
|
||||
|
||||
public void InjectAllFromOVRControllerHandDataSource(UpdateModeFlags updateMode, IDataSource updateAfter,
|
||||
Handedness handedness, ITrackingToWorldTransformer trackingToWorldTransformer,
|
||||
Transform[] bones, AnimationCurve pinchCurve,
|
||||
Vector3 rootOffset, Vector3 rootAngleOffset)
|
||||
{
|
||||
base.InjectAllDataSource(updateMode, updateAfter);
|
||||
InjectHandedness(handedness);
|
||||
InjectTrackingToWorldTransformer(trackingToWorldTransformer);
|
||||
InjectBones(bones);
|
||||
InjectPinchCurve(pinchCurve);
|
||||
InjectRootOffset(rootOffset);
|
||||
InjectRootAngleOffset(rootAngleOffset);
|
||||
}
|
||||
|
||||
public void InjectHandedness(Handedness handedness)
|
||||
{
|
||||
_handedness = handedness;
|
||||
}
|
||||
|
||||
public void InjectTrackingToWorldTransformer(ITrackingToWorldTransformer trackingToWorldTransformer)
|
||||
{
|
||||
_trackingToWorldTransformer = trackingToWorldTransformer as UnityEngine.Object;
|
||||
TrackingToWorldTransformer = trackingToWorldTransformer;
|
||||
}
|
||||
|
||||
public void InjectBones(Transform[] bones)
|
||||
{
|
||||
_bones = bones;
|
||||
}
|
||||
|
||||
public void InjectPinchCurve(AnimationCurve pinchCurve)
|
||||
{
|
||||
_pinchCurve = pinchCurve;
|
||||
}
|
||||
|
||||
public void InjectRootOffset(Vector3 rootOffset)
|
||||
{
|
||||
_rootOffset = rootOffset;
|
||||
}
|
||||
|
||||
public void InjectRootAngleOffset(Vector3 rootAngleOffset)
|
||||
{
|
||||
_rootAngleOffset = rootAngleOffset;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eb7d6cff5f17513488d465cdc4efd298
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+294
@@ -0,0 +1,294 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.Assertions;
|
||||
using static OVRSkeleton;
|
||||
|
||||
namespace Oculus.Interaction.Input
|
||||
{
|
||||
public class FromOVRHandDataSource : DataSource<HandDataAsset>
|
||||
{
|
||||
[Header("OVR Data Source")]
|
||||
[SerializeField, Interface(typeof(IOVRCameraRigRef))]
|
||||
private UnityEngine.Object _cameraRigRef;
|
||||
|
||||
[SerializeField]
|
||||
private bool _processLateUpdates = false;
|
||||
|
||||
[Header("Shared Configuration")]
|
||||
[SerializeField]
|
||||
private Handedness _handedness;
|
||||
|
||||
[SerializeField, Interface(typeof(ITrackingToWorldTransformer))]
|
||||
private UnityEngine.Object _trackingToWorldTransformer;
|
||||
private ITrackingToWorldTransformer TrackingToWorldTransformer;
|
||||
|
||||
[SerializeField, Interface(typeof(IHandSkeletonProvider))]
|
||||
private UnityEngine.Object _handSkeletonProvider;
|
||||
private IHandSkeletonProvider HandSkeletonProvider;
|
||||
|
||||
public bool ProcessLateUpdates
|
||||
{
|
||||
get
|
||||
{
|
||||
return _processLateUpdates;
|
||||
}
|
||||
set
|
||||
{
|
||||
_processLateUpdates = value;
|
||||
}
|
||||
}
|
||||
|
||||
private readonly HandDataAsset _handDataAsset = new HandDataAsset();
|
||||
private OVRHand _ovrHand;
|
||||
private OVRInput.Controller _ovrController;
|
||||
private float _lastHandScale;
|
||||
private HandDataSourceConfig _config;
|
||||
|
||||
private IOVRCameraRigRef CameraRigRef;
|
||||
|
||||
protected override HandDataAsset DataAsset => _handDataAsset;
|
||||
|
||||
// Wrist rotations that come from OVR need correcting.
|
||||
public static Quaternion WristFixupRotation { get; } =
|
||||
new Quaternion(0.0f, 1.0f, 0.0f, 0.0f);
|
||||
|
||||
protected virtual void Awake()
|
||||
{
|
||||
TrackingToWorldTransformer = _trackingToWorldTransformer as ITrackingToWorldTransformer;
|
||||
CameraRigRef = _cameraRigRef as IOVRCameraRigRef;
|
||||
HandSkeletonProvider = _handSkeletonProvider as IHandSkeletonProvider;
|
||||
|
||||
UpdateConfig();
|
||||
}
|
||||
|
||||
protected override void Start()
|
||||
{
|
||||
this.BeginStart(ref _started, () => base.Start());
|
||||
this.AssertField(CameraRigRef, nameof(CameraRigRef));
|
||||
this.AssertField(TrackingToWorldTransformer, nameof(TrackingToWorldTransformer));
|
||||
this.AssertField(HandSkeletonProvider, nameof(HandSkeletonProvider));
|
||||
if (_handedness == Handedness.Left)
|
||||
{
|
||||
_ovrHand = CameraRigRef.LeftHand;
|
||||
_ovrController = OVRInput.Controller.LHand;
|
||||
}
|
||||
else
|
||||
{
|
||||
_ovrHand = CameraRigRef.RightHand;
|
||||
_ovrController = OVRInput.Controller.RHand;
|
||||
}
|
||||
|
||||
UpdateConfig();
|
||||
|
||||
this.EndStart(ref _started);
|
||||
}
|
||||
|
||||
protected override void OnEnable()
|
||||
{
|
||||
base.OnEnable();
|
||||
if (_started)
|
||||
{
|
||||
CameraRigRef.WhenInputDataDirtied += HandleInputDataDirtied;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnDisable()
|
||||
{
|
||||
if (_started)
|
||||
{
|
||||
CameraRigRef.WhenInputDataDirtied -= HandleInputDataDirtied;
|
||||
}
|
||||
|
||||
base.OnDisable();
|
||||
}
|
||||
|
||||
private void HandleInputDataDirtied(bool isLateUpdate)
|
||||
{
|
||||
if (isLateUpdate && !_processLateUpdates)
|
||||
{
|
||||
return;
|
||||
}
|
||||
MarkInputDataRequiresUpdate();
|
||||
}
|
||||
|
||||
|
||||
private HandDataSourceConfig Config
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_config != null)
|
||||
{
|
||||
return _config;
|
||||
}
|
||||
|
||||
_config = new HandDataSourceConfig()
|
||||
{
|
||||
Handedness = _handedness
|
||||
};
|
||||
|
||||
return _config;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateConfig()
|
||||
{
|
||||
Config.Handedness = _handedness;
|
||||
Config.TrackingToWorldTransformer = TrackingToWorldTransformer;
|
||||
Config.HandSkeleton = HandSkeletonProvider[_handedness];
|
||||
}
|
||||
|
||||
protected override void UpdateData()
|
||||
{
|
||||
_handDataAsset.Config = Config;
|
||||
_handDataAsset.IsDataValid = true;
|
||||
_handDataAsset.IsConnected =
|
||||
(OVRInput.GetConnectedControllers() & _ovrController) > 0;
|
||||
|
||||
if (_ovrHand != null)
|
||||
{
|
||||
IOVRSkeletonDataProvider skeletonProvider = _ovrHand;
|
||||
SkeletonPoseData poseData = skeletonProvider.GetSkeletonPoseData();
|
||||
if (poseData.IsDataValid && poseData.RootScale <= 0.0f)
|
||||
{
|
||||
if (_lastHandScale <= 0.0f)
|
||||
{
|
||||
poseData.IsDataValid = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
poseData.RootScale = _lastHandScale;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_lastHandScale = poseData.RootScale;
|
||||
}
|
||||
|
||||
if (poseData.IsDataValid && _handDataAsset.IsConnected)
|
||||
{
|
||||
UpdateDataPoses(poseData);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// revert state fields to their defaults
|
||||
_handDataAsset.IsConnected = default;
|
||||
_handDataAsset.IsTracked = default;
|
||||
_handDataAsset.RootPoseOrigin = default;
|
||||
_handDataAsset.PointerPoseOrigin = default;
|
||||
_handDataAsset.IsHighConfidence = default;
|
||||
for (var fingerIdx = 0; fingerIdx < Constants.NUM_FINGERS; fingerIdx++)
|
||||
{
|
||||
_handDataAsset.IsFingerPinching[fingerIdx] = default;
|
||||
_handDataAsset.IsFingerHighConfidence[fingerIdx] = default;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateDataPoses(SkeletonPoseData poseData)
|
||||
{
|
||||
_handDataAsset.HandScale = poseData.RootScale;
|
||||
_handDataAsset.IsTracked = _ovrHand.IsTracked;
|
||||
_handDataAsset.IsHighConfidence = poseData.IsDataHighConfidence;
|
||||
_handDataAsset.IsDominantHand = _ovrHand.IsDominantHand;
|
||||
_handDataAsset.RootPoseOrigin = _handDataAsset.IsTracked
|
||||
? PoseOrigin.RawTrackedPose
|
||||
: PoseOrigin.None;
|
||||
|
||||
for (var fingerIdx = 0; fingerIdx < Constants.NUM_FINGERS; fingerIdx++)
|
||||
{
|
||||
var ovrFingerIdx = (OVRHand.HandFinger)fingerIdx;
|
||||
bool isPinching = _ovrHand.GetFingerIsPinching(ovrFingerIdx);
|
||||
_handDataAsset.IsFingerPinching[fingerIdx] = isPinching;
|
||||
|
||||
bool isHighConfidence =
|
||||
_ovrHand.GetFingerConfidence(ovrFingerIdx) == OVRHand.TrackingConfidence.High;
|
||||
_handDataAsset.IsFingerHighConfidence[fingerIdx] = isHighConfidence;
|
||||
|
||||
float fingerPinchStrength = _ovrHand.GetFingerPinchStrength(ovrFingerIdx);
|
||||
_handDataAsset.FingerPinchStrength[fingerIdx] = fingerPinchStrength;
|
||||
}
|
||||
|
||||
// Read the poses directly from the poseData, so it isn't in conflict with
|
||||
// any modifications that the application makes to OVRSkeleton
|
||||
_handDataAsset.Root = new Pose()
|
||||
{
|
||||
position = poseData.RootPose.Position.FromFlippedZVector3f(),
|
||||
rotation = poseData.RootPose.Orientation.FromFlippedZQuatf()
|
||||
};
|
||||
|
||||
if (_ovrHand.IsPointerPoseValid)
|
||||
{
|
||||
_handDataAsset.PointerPoseOrigin = PoseOrigin.RawTrackedPose;
|
||||
_handDataAsset.PointerPose = new Pose(_ovrHand.PointerPose.localPosition,
|
||||
_ovrHand.PointerPose.localRotation);
|
||||
}
|
||||
else
|
||||
{
|
||||
_handDataAsset.PointerPoseOrigin = PoseOrigin.None;
|
||||
}
|
||||
|
||||
// Hand joint rotations X axis needs flipping to get to Unity's coordinate system.
|
||||
var bones = poseData.BoneRotations;
|
||||
for (int i = 0; i < bones.Length; i++)
|
||||
{
|
||||
// When using Link in the Unity Editor, the first frame of hand data
|
||||
// sometimes contains bad joint data.
|
||||
_handDataAsset.Joints[i] = float.IsNaN(bones[i].w)
|
||||
? Config.HandSkeleton.joints[i].pose.rotation
|
||||
: bones[i].FromFlippedXQuatf();
|
||||
}
|
||||
|
||||
_handDataAsset.Joints[0] = WristFixupRotation;
|
||||
}
|
||||
|
||||
#region Inject
|
||||
|
||||
public void InjectAllFromOVRHandDataSource(UpdateModeFlags updateMode, IDataSource updateAfter,
|
||||
Handedness handedness, ITrackingToWorldTransformer trackingToWorldTransformer,
|
||||
IHandSkeletonProvider handSkeletonProvider)
|
||||
{
|
||||
base.InjectAllDataSource(updateMode, updateAfter);
|
||||
InjectHandedness(handedness);
|
||||
InjectTrackingToWorldTransformer(trackingToWorldTransformer);
|
||||
InjectHandSkeletonProvider(handSkeletonProvider);
|
||||
}
|
||||
|
||||
public void InjectHandedness(Handedness handedness)
|
||||
{
|
||||
_handedness = handedness;
|
||||
}
|
||||
|
||||
public void InjectTrackingToWorldTransformer(ITrackingToWorldTransformer trackingToWorldTransformer)
|
||||
{
|
||||
_trackingToWorldTransformer = trackingToWorldTransformer as UnityEngine.Object;
|
||||
TrackingToWorldTransformer = trackingToWorldTransformer;
|
||||
}
|
||||
|
||||
public void InjectHandSkeletonProvider(IHandSkeletonProvider handSkeletonProvider)
|
||||
{
|
||||
_handSkeletonProvider = handSkeletonProvider as UnityEngine.Object;
|
||||
HandSkeletonProvider = handSkeletonProvider;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4855895ba1c44959a306beb7ae318fc2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Assertions;
|
||||
using UnityEngine.Serialization;
|
||||
using UnityEngine.XR;
|
||||
|
||||
namespace Oculus.Interaction.Input
|
||||
{
|
||||
public class FromOVRHmdDataSource : DataSource<HmdDataAsset>
|
||||
{
|
||||
[Header("OVR Data Source")]
|
||||
[SerializeField, Interface(typeof(IOVRCameraRigRef))]
|
||||
private UnityEngine.Object _cameraRigRef;
|
||||
|
||||
public IOVRCameraRigRef CameraRigRef { get; private set; }
|
||||
|
||||
[SerializeField]
|
||||
private bool _processLateUpdates = false;
|
||||
|
||||
[SerializeField]
|
||||
[Tooltip("If true, uses OVRManager.headPoseRelativeOffset rather than sensor data for " +
|
||||
"HMD pose.")]
|
||||
private bool _useOvrManagerEmulatedPose = false;
|
||||
|
||||
[Header("Shared Configuration")]
|
||||
[SerializeField, Interface(typeof(ITrackingToWorldTransformer))]
|
||||
private UnityEngine.Object _trackingToWorldTransformer;
|
||||
private ITrackingToWorldTransformer TrackingToWorldTransformer;
|
||||
|
||||
public bool ProcessLateUpdates
|
||||
{
|
||||
get
|
||||
{
|
||||
return _processLateUpdates;
|
||||
}
|
||||
set
|
||||
{
|
||||
_processLateUpdates = value;
|
||||
}
|
||||
}
|
||||
|
||||
private HmdDataAsset _hmdDataAsset = new HmdDataAsset();
|
||||
private HmdDataSourceConfig _config;
|
||||
|
||||
protected void Awake()
|
||||
{
|
||||
CameraRigRef = _cameraRigRef as IOVRCameraRigRef;
|
||||
TrackingToWorldTransformer = _trackingToWorldTransformer as ITrackingToWorldTransformer;
|
||||
}
|
||||
|
||||
protected override void Start()
|
||||
{
|
||||
this.BeginStart(ref _started, () => base.Start());
|
||||
this.AssertField(CameraRigRef, nameof(CameraRigRef));
|
||||
this.AssertField(TrackingToWorldTransformer, nameof(TrackingToWorldTransformer));
|
||||
this.EndStart(ref _started);
|
||||
}
|
||||
|
||||
protected override void OnEnable()
|
||||
{
|
||||
base.OnEnable();
|
||||
if (_started)
|
||||
{
|
||||
CameraRigRef.WhenInputDataDirtied += HandleInputDataDirtied;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnDisable()
|
||||
{
|
||||
if (_started)
|
||||
{
|
||||
CameraRigRef.WhenInputDataDirtied -= HandleInputDataDirtied;
|
||||
}
|
||||
|
||||
base.OnDisable();
|
||||
}
|
||||
|
||||
private void HandleInputDataDirtied(bool isLateUpdate)
|
||||
{
|
||||
if (isLateUpdate && !_processLateUpdates)
|
||||
{
|
||||
return;
|
||||
}
|
||||
MarkInputDataRequiresUpdate();
|
||||
}
|
||||
|
||||
private HmdDataSourceConfig Config
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_config != null)
|
||||
{
|
||||
return _config;
|
||||
}
|
||||
|
||||
_config = new HmdDataSourceConfig()
|
||||
{
|
||||
TrackingToWorldTransformer = TrackingToWorldTransformer
|
||||
};
|
||||
|
||||
return _config;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void UpdateData()
|
||||
{
|
||||
_hmdDataAsset.Config = Config;
|
||||
bool hmdPresent = OVRNodeStateProperties.IsHmdPresent();
|
||||
ref var centerEyePose = ref _hmdDataAsset.Root;
|
||||
if (_useOvrManagerEmulatedPose)
|
||||
{
|
||||
Quaternion emulatedRotation = Quaternion.Euler(
|
||||
-OVRManager.instance.headPoseRelativeOffsetRotation.x,
|
||||
-OVRManager.instance.headPoseRelativeOffsetRotation.y,
|
||||
OVRManager.instance.headPoseRelativeOffsetRotation.z);
|
||||
centerEyePose.rotation = emulatedRotation;
|
||||
centerEyePose.position = OVRManager.instance.headPoseRelativeOffsetTranslation;
|
||||
hmdPresent = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
var previousEyePose = Pose.identity;
|
||||
|
||||
if (_hmdDataAsset.IsTracked)
|
||||
{
|
||||
previousEyePose = _hmdDataAsset.Root;
|
||||
}
|
||||
|
||||
if (hmdPresent)
|
||||
{
|
||||
// These are already in Unity's coordinate system (LHS)
|
||||
if (!OVRNodeStateProperties.GetNodeStatePropertyVector3(XRNode.CenterEye,
|
||||
NodeStatePropertyType.Position, OVRPlugin.Node.EyeCenter,
|
||||
OVRPlugin.Step.Render, out centerEyePose.position))
|
||||
{
|
||||
centerEyePose.position = previousEyePose.position;
|
||||
}
|
||||
|
||||
if (!OVRNodeStateProperties.GetNodeStatePropertyQuaternion(XRNode.CenterEye,
|
||||
NodeStatePropertyType.Orientation, OVRPlugin.Node.EyeCenter,
|
||||
OVRPlugin.Step.Render, out centerEyePose.rotation))
|
||||
{
|
||||
centerEyePose.rotation = previousEyePose.rotation;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
centerEyePose = previousEyePose;
|
||||
}
|
||||
}
|
||||
|
||||
_hmdDataAsset.IsTracked = hmdPresent;
|
||||
_hmdDataAsset.FrameId = Time.frameCount;
|
||||
}
|
||||
|
||||
protected override HmdDataAsset DataAsset => _hmdDataAsset;
|
||||
|
||||
#region Inject
|
||||
|
||||
public void InjectAllFromOVRHmdDataSource(UpdateModeFlags updateMode, IDataSource updateAfter,
|
||||
bool useOvrManagerEmulatedPose, ITrackingToWorldTransformer trackingToWorldTransformer)
|
||||
{
|
||||
base.InjectAllDataSource(updateMode, updateAfter);
|
||||
InjectUseOvrManagerEmulatedPose(useOvrManagerEmulatedPose);
|
||||
InjectTrackingToWorldTransformer(trackingToWorldTransformer);
|
||||
}
|
||||
|
||||
public void InjectUseOvrManagerEmulatedPose(bool useOvrManagerEmulatedPose)
|
||||
{
|
||||
_useOvrManagerEmulatedPose = useOvrManagerEmulatedPose;
|
||||
}
|
||||
|
||||
public void InjectTrackingToWorldTransformer(ITrackingToWorldTransformer trackingToWorldTransformer)
|
||||
{
|
||||
_trackingToWorldTransformer = trackingToWorldTransformer as UnityEngine.Object;
|
||||
TrackingToWorldTransformer = trackingToWorldTransformer;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f273abee0604ad2409c9bbc9a60e461e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.Assertions;
|
||||
|
||||
namespace Oculus.Interaction.Input
|
||||
{
|
||||
public class HandSkeletonOVR : MonoBehaviour, IHandSkeletonProvider
|
||||
{
|
||||
private readonly HandSkeleton[] _skeletons = { new HandSkeleton(), new HandSkeleton() };
|
||||
|
||||
public HandSkeleton this[Handedness handedness] => _skeletons[(int)handedness];
|
||||
|
||||
protected void Awake()
|
||||
{
|
||||
ApplyToSkeleton(OVRSkeletonData.LeftSkeleton, _skeletons[0]);
|
||||
ApplyToSkeleton(OVRSkeletonData.RightSkeleton, _skeletons[1]);
|
||||
}
|
||||
|
||||
public static HandSkeleton CreateSkeletonData(Handedness handedness)
|
||||
{
|
||||
HandSkeleton handSkeleton = new HandSkeleton();
|
||||
|
||||
// When running in the editor, the call to load the skeleton from OVRPlugin may fail. Use baked skeleton
|
||||
// data.
|
||||
if (handedness == Handedness.Left)
|
||||
{
|
||||
ApplyToSkeleton(OVRSkeletonData.LeftSkeleton, handSkeleton);
|
||||
}
|
||||
else
|
||||
{
|
||||
ApplyToSkeleton(OVRSkeletonData.RightSkeleton, handSkeleton);
|
||||
}
|
||||
|
||||
return handSkeleton;
|
||||
}
|
||||
|
||||
private static void ApplyToSkeleton(in OVRPlugin.Skeleton2 ovrSkeleton, HandSkeleton handSkeleton)
|
||||
{
|
||||
int numJoints = handSkeleton.joints.Length;
|
||||
Assert.AreEqual(ovrSkeleton.NumBones, numJoints);
|
||||
|
||||
for (int i = 0; i < numJoints; ++i)
|
||||
{
|
||||
ref var srcPose = ref ovrSkeleton.Bones[i].Pose;
|
||||
int boneIndex = i;
|
||||
if (i == (int)HandJointId.HandThumb0)
|
||||
{
|
||||
boneIndex = (int)HandJointId.HandThumb1;
|
||||
}
|
||||
else if (i == (int)HandJointId.HandPinky0)
|
||||
{
|
||||
boneIndex = (int)HandJointId.HandPinky1;
|
||||
}
|
||||
|
||||
int capsuleIndex = System.Array.FindIndex(ovrSkeleton.BoneCapsules, c => c.BoneIndex == boneIndex);
|
||||
float radius = capsuleIndex < 0 ? 0f : ovrSkeleton.BoneCapsules[capsuleIndex].Radius;
|
||||
|
||||
handSkeleton.joints[i] = new HandSkeletonJoint()
|
||||
{
|
||||
pose = new Pose()
|
||||
{
|
||||
position = srcPose.Position.FromFlippedXVector3f(),
|
||||
rotation = srcPose.Orientation.FromFlippedXQuatf()
|
||||
},
|
||||
parent = ovrSkeleton.Bones[i].ParentBoneIndex,
|
||||
radius = radius
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 86bd0d3098d25db4c9c839739557480b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using Oculus.Interaction.Input;
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Oculus.Interaction.OVR.Input
|
||||
{
|
||||
public class OVRAxis1D : MonoBehaviour, IAxis1D
|
||||
{
|
||||
[SerializeField]
|
||||
private OVRInput.Controller _controller;
|
||||
|
||||
[SerializeField]
|
||||
private OVRInput.Axis1D _axis1D;
|
||||
|
||||
[SerializeField]
|
||||
private RemapConfig _remapConfig = new RemapConfig()
|
||||
{
|
||||
Enabled = false,
|
||||
Curve = AnimationCurve.Linear(0,0,1,1)
|
||||
};
|
||||
|
||||
[Serializable]
|
||||
public class RemapConfig
|
||||
{
|
||||
public bool Enabled;
|
||||
public AnimationCurve Curve;
|
||||
}
|
||||
|
||||
public float Value()
|
||||
{
|
||||
float value = OVRInput.Get(_axis1D, _controller);
|
||||
if (_remapConfig.Enabled)
|
||||
{
|
||||
value = _remapConfig.Curve.Evaluate(value);
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 52d4f654ebaa90541be33e23cded46f1
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using Oculus.Interaction.Input;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Oculus.Interaction.OVR.Input
|
||||
{
|
||||
public class OVRAxis2D : MonoBehaviour, IAxis2D
|
||||
{
|
||||
[SerializeField]
|
||||
private OVRInput.Controller _controller;
|
||||
|
||||
[SerializeField]
|
||||
private OVRInput.Axis2D _axis2D;
|
||||
|
||||
public Vector2 Value()
|
||||
{
|
||||
return OVRInput.Get(_axis2D, _controller);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2412d6d784007cf409d79410b6fd915f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using Oculus.Interaction.Input;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Oculus.Interaction.OVR.Input
|
||||
{
|
||||
public class OVRButton : MonoBehaviour, IButton
|
||||
{
|
||||
[SerializeField]
|
||||
private OVRInput.Controller _controller;
|
||||
|
||||
[SerializeField]
|
||||
private OVRInput.Button _button;
|
||||
|
||||
public bool Value()
|
||||
{
|
||||
return OVRInput.Get(_button, _controller);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8272568ab0dd2dc46aa1797ba58b40ed
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
namespace Oculus.Interaction.OVR.Input
|
||||
{
|
||||
public class OVRButtonActiveState : MonoBehaviour, IActiveState
|
||||
{
|
||||
[SerializeField]
|
||||
private OVRInput.Button _button;
|
||||
|
||||
public bool Active => OVRInput.Get(_button);
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4a8b912df038412428ce84448044e01e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,160 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using Oculus.Interaction.Input;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Oculus.Interaction
|
||||
{
|
||||
/// <summary>
|
||||
/// Takes a set of OVR Near, Touch and Button bools and remaps them to an Axis1D float.
|
||||
/// </summary>
|
||||
public class OVRButtonAxis1D : MonoBehaviour, IAxis1D
|
||||
{
|
||||
[SerializeField]
|
||||
private OVRInput.Controller _controller;
|
||||
|
||||
[SerializeField]
|
||||
private OVRInput.Button _near;
|
||||
|
||||
[SerializeField]
|
||||
private OVRInput.Button _touch;
|
||||
|
||||
[SerializeField]
|
||||
private OVRInput.Button _button;
|
||||
|
||||
[SerializeField]
|
||||
private float _nearValue = 0.1f;
|
||||
|
||||
[SerializeField]
|
||||
private float _touchValue = 0.5f;
|
||||
|
||||
[SerializeField]
|
||||
private float _buttonValue = 1.0f;
|
||||
|
||||
[SerializeField]
|
||||
private ProgressCurve _curve = new ProgressCurve(
|
||||
AnimationCurve.EaseInOut(0, 0, 1, 1),
|
||||
0.1f
|
||||
);
|
||||
|
||||
#region Properties
|
||||
|
||||
public float NearValue
|
||||
{
|
||||
get
|
||||
{
|
||||
return _nearValue;
|
||||
}
|
||||
set
|
||||
{
|
||||
_nearValue = value;
|
||||
}
|
||||
}
|
||||
|
||||
public float TouchValue
|
||||
{
|
||||
get
|
||||
{
|
||||
return _touchValue;
|
||||
}
|
||||
set
|
||||
{
|
||||
_touchValue = value;
|
||||
}
|
||||
}
|
||||
|
||||
public float ButtonValue
|
||||
{
|
||||
get
|
||||
{
|
||||
return _buttonValue;
|
||||
}
|
||||
set
|
||||
{
|
||||
_buttonValue = value;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private float _baseValue = 0;
|
||||
private float _value = 0;
|
||||
private float _currentTarget = 0;
|
||||
|
||||
public float Value()
|
||||
{
|
||||
return _value;
|
||||
}
|
||||
|
||||
private float Target {
|
||||
get
|
||||
{
|
||||
if (OVRInput.Get(_button, _controller))
|
||||
{
|
||||
return _buttonValue;
|
||||
}
|
||||
|
||||
if (OVRInput.Get(_touch, _controller))
|
||||
{
|
||||
return _touchValue;
|
||||
}
|
||||
|
||||
if (OVRInput.Get(_near, _controller))
|
||||
{
|
||||
return _nearValue;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void Update()
|
||||
{
|
||||
float newTarget = Target;
|
||||
if (_currentTarget != newTarget)
|
||||
{
|
||||
_baseValue = _value;
|
||||
_currentTarget = newTarget;
|
||||
_curve.Start();
|
||||
}
|
||||
|
||||
_value = _curve.Progress() * (_currentTarget - _baseValue);
|
||||
}
|
||||
|
||||
#region Inject
|
||||
|
||||
public void InjectAllOVRButtonAxis1D(OVRInput.Controller controller,
|
||||
OVRInput.Button near, OVRInput.Button touch, OVRInput.Button button)
|
||||
{
|
||||
_controller = controller;
|
||||
_near = near;
|
||||
_touch = touch;
|
||||
_button = button;
|
||||
}
|
||||
|
||||
public void InjectOptionalCurve(ProgressCurve progressCurve)
|
||||
{
|
||||
_curve = progressCurve;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f9a24919fd626214ca2abf1f8882a549
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,158 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Assertions;
|
||||
|
||||
namespace Oculus.Interaction.Input
|
||||
{
|
||||
public interface IOVRCameraRigRef
|
||||
{
|
||||
OVRCameraRig CameraRig { get; }
|
||||
/// <summary>
|
||||
/// Returns a valid OVRHand object representing the left hand, if one exists on the
|
||||
/// OVRCameraRig. If none is available, returns null.
|
||||
/// </summary>
|
||||
OVRHand LeftHand { get; }
|
||||
/// <summary>
|
||||
/// Returns a valid OVRHand object representing the right hand, if one exists on the
|
||||
/// OVRCameraRig. If none is available, returns null.
|
||||
/// </summary>
|
||||
OVRHand RightHand { get; }
|
||||
Transform LeftController { get; }
|
||||
Transform RightController { get; }
|
||||
|
||||
event Action<bool> WhenInputDataDirtied;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Points to an OVRCameraRig instance. This level of indirection provides a single
|
||||
/// configuration point on the root of a prefab.
|
||||
/// Must execute before all other OVR related classes so that the fields are
|
||||
/// initialized correctly and ready to use.
|
||||
/// </summary>
|
||||
[DefaultExecutionOrder(-90)]
|
||||
public class OVRCameraRigRef : MonoBehaviour, IOVRCameraRigRef
|
||||
{
|
||||
[Header("Configuration")]
|
||||
[SerializeField]
|
||||
private OVRCameraRig _ovrCameraRig;
|
||||
|
||||
[SerializeField]
|
||||
private bool _requireOvrHands = true;
|
||||
|
||||
public OVRCameraRig CameraRig => _ovrCameraRig;
|
||||
|
||||
private OVRHand _leftHand;
|
||||
private OVRHand _rightHand;
|
||||
public OVRHand LeftHand => GetHandCached(ref _leftHand, _ovrCameraRig.leftHandAnchor);
|
||||
public OVRHand RightHand => GetHandCached(ref _rightHand, _ovrCameraRig.rightHandAnchor);
|
||||
|
||||
public Transform LeftController => _ovrCameraRig.leftControllerAnchor;
|
||||
public Transform RightController => _ovrCameraRig.rightControllerAnchor;
|
||||
|
||||
public event Action<bool> WhenInputDataDirtied = delegate { };
|
||||
|
||||
protected bool _started = false;
|
||||
|
||||
private bool _isLateUpdate;
|
||||
|
||||
protected virtual void Start()
|
||||
{
|
||||
this.BeginStart(ref _started);
|
||||
this.AssertField(_ovrCameraRig, nameof(_ovrCameraRig));
|
||||
this.EndStart(ref _started);
|
||||
}
|
||||
|
||||
protected virtual void FixedUpdate()
|
||||
{
|
||||
_isLateUpdate = false;
|
||||
}
|
||||
|
||||
protected virtual void Update()
|
||||
{
|
||||
_isLateUpdate = false;
|
||||
}
|
||||
|
||||
protected virtual void LateUpdate()
|
||||
{
|
||||
_isLateUpdate = true;
|
||||
}
|
||||
|
||||
protected virtual void OnEnable()
|
||||
{
|
||||
if (_started)
|
||||
{
|
||||
CameraRig.UpdatedAnchors += HandleInputDataDirtied;
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void OnDisable()
|
||||
{
|
||||
if (_started)
|
||||
{
|
||||
CameraRig.UpdatedAnchors -= HandleInputDataDirtied;
|
||||
}
|
||||
}
|
||||
|
||||
private OVRHand GetHandCached(ref OVRHand cachedValue, Transform handAnchor)
|
||||
{
|
||||
if (cachedValue != null)
|
||||
{
|
||||
return cachedValue;
|
||||
}
|
||||
|
||||
cachedValue = handAnchor.GetComponentInChildren<OVRHand>(true);
|
||||
if (_requireOvrHands)
|
||||
{
|
||||
Assert.IsNotNull(cachedValue);
|
||||
}
|
||||
|
||||
return cachedValue;
|
||||
}
|
||||
|
||||
private void HandleInputDataDirtied(OVRCameraRig cameraRig)
|
||||
{
|
||||
WhenInputDataDirtied(_isLateUpdate);
|
||||
}
|
||||
|
||||
#region Inject
|
||||
public void InjectAllOVRCameraRigRef(OVRCameraRig ovrCameraRig, bool requireHands)
|
||||
{
|
||||
InjectInteractionOVRCameraRig(ovrCameraRig);
|
||||
InjectRequireHands(requireHands);
|
||||
}
|
||||
|
||||
public void InjectInteractionOVRCameraRig(OVRCameraRig ovrCameraRig)
|
||||
{
|
||||
_ovrCameraRig = ovrCameraRig;
|
||||
// Clear the cached values to force new values to be read on next access
|
||||
_leftHand = null;
|
||||
_rightHand = null;
|
||||
}
|
||||
|
||||
public void InjectRequireHands(bool requireHands)
|
||||
{
|
||||
_requireOvrHands = requireHands;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a7b47e36715521d4e8a30d2c5b6e83e2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
namespace Oculus.Interaction
|
||||
{
|
||||
/// <summary>
|
||||
/// An ActiveState that is active when the controller matches the interaction profile.
|
||||
/// </summary>
|
||||
public class OVRControllerMatchesProfileActiveState : MonoBehaviour, IActiveState
|
||||
{
|
||||
[SerializeField]
|
||||
private OVRInput.Controller _controller;
|
||||
|
||||
[SerializeField]
|
||||
private OVRInput.InteractionProfile _profile;
|
||||
|
||||
public bool Active
|
||||
{
|
||||
get
|
||||
{
|
||||
OVRInput.Hand ovrHandedness = _controller.HasFlag(OVRInput.Controller.LTouch) || _controller.HasFlag(OVRInput.Controller.LHand) ? OVRInput.Hand.HandLeft : OVRInput.Hand.HandRight;
|
||||
OVRInput.InteractionProfile ovrProfile = OVRInput.GetCurrentInteractionProfile(ovrHandedness);
|
||||
return ovrProfile == _profile;
|
||||
}
|
||||
}
|
||||
|
||||
#region Inject
|
||||
|
||||
public void InjectAllOVRControllerSupportsPressure(OVRInput.Controller controller)
|
||||
{
|
||||
_controller = controller;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 15ae1dbfc52e48f498c558d11c7a0fdf
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
namespace Oculus.Interaction.Input
|
||||
{
|
||||
public static class OVRControllerUtility
|
||||
{
|
||||
public static float GetPinchAmount(OVRInput.Controller ovrController)
|
||||
{
|
||||
float pinchAmount = OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTrigger, ovrController);
|
||||
return pinchAmount;
|
||||
}
|
||||
|
||||
public static float GetIndexCurl(OVRInput.Controller ovrController)
|
||||
{
|
||||
float indexCurl;
|
||||
if (SupportsAnalogIndex(ovrController))
|
||||
{
|
||||
indexCurl = OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTriggerCurl, ovrController);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Fallback to binary capsense
|
||||
bool isPointing = !OVRInput.Get(OVRInput.NearTouch.PrimaryIndexTrigger, ovrController)
|
||||
&& OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTrigger, ovrController) == 0f;
|
||||
|
||||
indexCurl = isPointing ? 0 : 1;
|
||||
}
|
||||
return indexCurl;
|
||||
}
|
||||
|
||||
public static float GetIndexSlide(OVRInput.Controller ovrController)
|
||||
{
|
||||
float indexSlide;
|
||||
if (SupportsAnalogIndex(ovrController))
|
||||
{
|
||||
indexSlide = OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTriggerSlide, ovrController);
|
||||
}
|
||||
else
|
||||
{
|
||||
indexSlide = 0;
|
||||
}
|
||||
return indexSlide;
|
||||
}
|
||||
|
||||
private static bool SupportsAnalogIndex(OVRInput.Controller ovrController)
|
||||
{
|
||||
bool isTouchController = (ovrController == OVRInput.Controller.LTouch) || (ovrController == OVRInput.Controller.RTouch);
|
||||
if (!isTouchController)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
OVRInput.Hand ovrHandedness = (ovrController == OVRInput.Controller.LTouch) ? OVRInput.Hand.HandLeft : OVRInput.Hand.HandRight;
|
||||
OVRInput.InteractionProfile ovrProfile = OVRInput.GetCurrentInteractionProfile(ovrHandedness);
|
||||
return ovrProfile != OVRInput.InteractionProfile.Touch;
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8acab17b50d8ff94ba2ff39fce6f7302
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.Assertions;
|
||||
|
||||
namespace Oculus.Interaction.Input.Visuals
|
||||
{
|
||||
public class OVRControllerVisual : MonoBehaviour
|
||||
{
|
||||
[SerializeField, Interface(typeof(IController))]
|
||||
private UnityEngine.Object _controller;
|
||||
|
||||
public IController Controller;
|
||||
|
||||
[SerializeField]
|
||||
private OVRControllerHelper _ovrControllerHelper;
|
||||
|
||||
public bool ForceOffVisibility { get; set; }
|
||||
|
||||
private bool _started = false;
|
||||
|
||||
protected virtual void Awake()
|
||||
{
|
||||
Controller = _controller as IController;
|
||||
}
|
||||
|
||||
protected virtual void Start()
|
||||
{
|
||||
this.BeginStart(ref _started);
|
||||
this.AssertField(Controller, nameof(Controller));
|
||||
this.AssertField(_ovrControllerHelper, nameof(_ovrControllerHelper));
|
||||
switch (Controller.Handedness)
|
||||
{
|
||||
case Handedness.Left:
|
||||
_ovrControllerHelper.m_controller = OVRInput.Controller.LTouch;
|
||||
break;
|
||||
case Handedness.Right:
|
||||
_ovrControllerHelper.m_controller = OVRInput.Controller.RTouch;
|
||||
break;
|
||||
}
|
||||
this.EndStart(ref _started);
|
||||
}
|
||||
|
||||
protected virtual void OnEnable()
|
||||
{
|
||||
if (_started)
|
||||
{
|
||||
Controller.WhenUpdated += HandleUpdated;
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void OnDisable()
|
||||
{
|
||||
if (_started && _controller != null)
|
||||
{
|
||||
Controller.WhenUpdated -= HandleUpdated;
|
||||
}
|
||||
}
|
||||
|
||||
private void HandleUpdated()
|
||||
{
|
||||
if (!Controller.IsConnected ||
|
||||
ForceOffVisibility ||
|
||||
!Controller.TryGetPose(out Pose rootPose))
|
||||
{
|
||||
_ovrControllerHelper.gameObject.SetActive(false);
|
||||
return;
|
||||
}
|
||||
|
||||
_ovrControllerHelper.gameObject.SetActive(true);
|
||||
transform.position = rootPose.position;
|
||||
transform.rotation = rootPose.rotation;
|
||||
float parentScale = transform.parent != null ? transform.parent.lossyScale.x : 1f;
|
||||
transform.localScale = Controller.Scale / parentScale * Vector3.one;
|
||||
}
|
||||
|
||||
#region Inject
|
||||
|
||||
public void InjectAllOVRControllerVisual(IController controller, OVRControllerHelper ovrControllerHelper)
|
||||
{
|
||||
InjectController(controller);
|
||||
InjectAllOVRControllerHelper(ovrControllerHelper);
|
||||
}
|
||||
|
||||
public void InjectController(IController controller)
|
||||
{
|
||||
_controller = controller as UnityEngine.Object;
|
||||
Controller = controller;
|
||||
}
|
||||
|
||||
public void InjectAllOVRControllerHelper(OVRControllerHelper ovrControllerHelper)
|
||||
{
|
||||
_ovrControllerHelper = ovrControllerHelper;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6eb5e919275d29245bba9a1f0e849e6a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Oculus.Interaction.Input
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns the active status of an OVRInput device based on whether
|
||||
/// OVRInput's current active controller matches any of the controller
|
||||
/// types set up in the inspector. OVRInput `Controllers` include
|
||||
/// types like Touch, L Touch, R TouchR, Hands, L Hand, R Hand
|
||||
/// </summary>
|
||||
public class OVRInputDeviceActiveState : MonoBehaviour, IActiveState
|
||||
{
|
||||
[SerializeField]
|
||||
private List<OVRInput.Controller> _controllerTypes;
|
||||
|
||||
public bool Active
|
||||
{
|
||||
get
|
||||
{
|
||||
foreach (OVRInput.Controller controllerType in _controllerTypes)
|
||||
{
|
||||
if (OVRInput.GetConnectedControllers() == controllerType) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
#region Inject
|
||||
|
||||
public void InjectAllOVRInputDeviceActiveState(List<OVRInput.Controller> controllerTypes)
|
||||
{
|
||||
InjectControllerTypes(controllerTypes);
|
||||
}
|
||||
|
||||
public void InjectControllerTypes(List<OVRInput.Controller> controllerTypes)
|
||||
{
|
||||
_controllerTypes = controllerTypes;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ce6a3535bf452cd42a0b2fb1c571b76e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
namespace Oculus.Interaction.Input
|
||||
{
|
||||
public class OVRNearTouch : MonoBehaviour, IButton
|
||||
{
|
||||
[SerializeField]
|
||||
private OVRInput.Controller _controller;
|
||||
|
||||
[SerializeField]
|
||||
private OVRInput.NearTouch _nearTouch;
|
||||
|
||||
public bool Value()
|
||||
{
|
||||
return OVRInput.Get(_nearTouch, _controller);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2514d2c27519bcf4ea9e4b81bd078b2b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,179 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
namespace Oculus.Interaction.Input
|
||||
{
|
||||
public class OVRSkeletonData
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
// This method can be used to generate a serialized skeleton in C# format.
|
||||
public static string CreateString(OVRPlugin.Skeleton2 skeleton)
|
||||
{
|
||||
string bonesJson = "";
|
||||
for (int i = 0; i < skeleton.NumBones; i++)
|
||||
{
|
||||
var bone = skeleton.Bones[i];
|
||||
bonesJson +=
|
||||
"new OVRPlugin.Bone() { " +
|
||||
"Id=OVRPlugin.BoneId." + bone.Id.ToString() + ", " +
|
||||
"ParentBoneIndex=" + bone.ParentBoneIndex + ", " +
|
||||
"Pose=new OVRPlugin.Posef() { " +
|
||||
"Position=new OVRPlugin.Vector3f() {x=" + bone.Pose.Position.x + "f,y=" + bone.Pose.Position.y + "f,z=" + bone.Pose.Position.z + "f}, " +
|
||||
"Orientation=new OVRPlugin.Quatf(){x=" + bone.Pose.Orientation.x + "f,y=" + bone.Pose.Orientation.y + "f,z=" + bone.Pose.Orientation.z + "f,w=" + bone.Pose.Orientation.w + "f}}}";
|
||||
if (i != skeleton.Bones.Length - 1)
|
||||
{
|
||||
bonesJson += ",";
|
||||
}
|
||||
bonesJson += "\n";
|
||||
}
|
||||
|
||||
string boneCapsulesJson = "";
|
||||
for (int i = 0; i < skeleton.NumBoneCapsules; i++)
|
||||
{
|
||||
var cap = skeleton.BoneCapsules[i];
|
||||
boneCapsulesJson += "new OVRPlugin.BoneCapsule() { BoneIndex=" + cap.BoneIndex + ", Radius=" + cap.Radius + "f, " +
|
||||
"StartPoint=new OVRPlugin.Vector3f() {x=" + cap.StartPoint.x + "f,y=" + cap.StartPoint.y + "f,z=" + cap.StartPoint.z + "f}, " +
|
||||
"EndPoint=new OVRPlugin.Vector3f() {x=" + cap.EndPoint.x + "f,y=" + cap.EndPoint.y + "f,z=" + cap.EndPoint.z + "f}}";
|
||||
if (i != skeleton.Bones.Length - 1)
|
||||
{
|
||||
boneCapsulesJson += ",";
|
||||
}
|
||||
boneCapsulesJson += "\n";
|
||||
}
|
||||
|
||||
return "new OVRPlugin.Skeleton2() { " +
|
||||
"Type=OVRPlugin.SkeletonType." + skeleton.Type.ToString() + ", " +
|
||||
"NumBones=" + skeleton.NumBones + ", " +
|
||||
"NumBoneCapsules=" + skeleton.NumBoneCapsules + ", " +
|
||||
"Bones=new OVRPlugin.Bone[] {" + bonesJson + "}, " +
|
||||
"BoneCapsules=new OVRPlugin.BoneCapsule[] {" + boneCapsulesJson + "}" +
|
||||
"};";
|
||||
}
|
||||
#endif
|
||||
|
||||
public static readonly OVRPlugin.Skeleton2 LeftSkeleton = new OVRPlugin.Skeleton2()
|
||||
{
|
||||
Type = OVRPlugin.SkeletonType.HandLeft,
|
||||
NumBones = 24,
|
||||
NumBoneCapsules = 19,
|
||||
Bones = new OVRPlugin.Bone[] {
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Start, ParentBoneIndex=-1, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0f,y=0f,z=0f}, Orientation=new OVRPlugin.Quatf(){x=0f,y=0f,z=0f,w=1f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_ForearmStub, ParentBoneIndex=0, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0f,y=0f,z=0f}, Orientation=new OVRPlugin.Quatf(){x=0f,y=0f,z=0f,w=1f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Thumb0, ParentBoneIndex=0, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.0200693f,y=0.0115541f,z=-0.01049652f}, Orientation=new OVRPlugin.Quatf(){x=0.3753869f,y=0.4245841f,z=-0.007778856f,w=0.8238644f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Thumb1, ParentBoneIndex=2, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.02485256f,y=-9.31E-10f,z=-1.863E-09f}, Orientation=new OVRPlugin.Quatf(){x=0.2602303f,y=0.02433088f,z=0.125678f,w=0.9570231f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Thumb2, ParentBoneIndex=3, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.03251291f,y=5.82E-10f,z=1.863E-09f}, Orientation=new OVRPlugin.Quatf(){x=-0.08270377f,y=-0.0769617f,z=-0.08406223f,w=0.9900357f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Thumb3, ParentBoneIndex=4, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.0337931f,y=3.26E-09f,z=1.863E-09f}, Orientation=new OVRPlugin.Quatf(){x=0.08350593f,y=0.06501573f,z=-0.05827406f,w=0.9926752f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Index1, ParentBoneIndex=0, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.09599624f,y=0.007316455f,z=-0.02355068f}, Orientation=new OVRPlugin.Quatf(){x=0.03068309f,y=-0.01885559f,z=0.04328144f,w=0.9984136f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Index2, ParentBoneIndex=6, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.0379273f,y=-5.82E-10f,z=-5.97E-10f}, Orientation=new OVRPlugin.Quatf(){x=-0.02585241f,y=-0.007116061f,z=0.003292944f,w=0.999635f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Index3, ParentBoneIndex=7, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.02430365f,y=-6.73E-10f,z=-6.75E-10f}, Orientation=new OVRPlugin.Quatf(){x=-0.016056f,y=-0.02714872f,z=-0.072034f,w=0.9969034f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Middle1, ParentBoneIndex=0, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.09564661f,y=0.002543155f,z=-0.001725906f}, Orientation=new OVRPlugin.Quatf(){x=-0.009066326f,y=-0.05146559f,z=0.05183575f,w=0.9972874f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Middle2, ParentBoneIndex=9, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.042927f,y=-8.51E-10f,z=-1.193E-09f}, Orientation=new OVRPlugin.Quatf(){x=-0.01122823f,y=-0.004378874f,z=-0.001978267f,w=0.9999254f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Middle3, ParentBoneIndex=10, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.02754958f,y=3.09E-10f,z=1.128E-09f}, Orientation=new OVRPlugin.Quatf(){x=-0.03431955f,y=-0.004611839f,z=-0.09300701f,w=0.9950631f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Ring1, ParentBoneIndex=0, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.0886938f,y=0.006529308f,z=0.01746524f}, Orientation=new OVRPlugin.Quatf(){x=-0.05315936f,y=-0.1231034f,z=0.04981349f,w=0.9897162f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Ring2, ParentBoneIndex=12, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.0389961f,y=0f,z=5.24E-10f}, Orientation=new OVRPlugin.Quatf(){x=-0.03363252f,y=-0.00278984f,z=0.00567602f,w=0.9994143f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Ring3, ParentBoneIndex=13, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.02657339f,y=1.281E-09f,z=1.63E-09f}, Orientation=new OVRPlugin.Quatf(){x=-0.003477462f,y=0.02917945f,z=-0.02502854f,w=0.9992548f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Pinky0, ParentBoneIndex=0, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.03407356f,y=0.009419836f,z=0.02299858f}, Orientation=new OVRPlugin.Quatf(){x=-0.207036f,y=-0.1403428f,z=0.0183118f,w=0.9680417f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Pinky1, ParentBoneIndex=15, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.04565055f,y=9.97679E-07f,z=-2.193963E-06f}, Orientation=new OVRPlugin.Quatf(){x=0.09111304f,y=0.00407137f,z=0.02812923f,w=0.9954349f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Pinky2, ParentBoneIndex=16, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.03072042f,y=1.048E-09f,z=-1.75E-10f}, Orientation=new OVRPlugin.Quatf(){x=-0.03761665f,y=-0.04293772f,z=-0.01328605f,w=0.9982809f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Pinky3, ParentBoneIndex=17, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.02031138f,y=-2.91E-10f,z=9.31E-10f}, Orientation=new OVRPlugin.Quatf(){x=0.0006447434f,y=0.04917067f,z=-0.02401883f,w=0.9985014f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_ThumbTip, ParentBoneIndex=5, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.02459077f,y=-0.001026974f,z=0.0006703701f}, Orientation=new OVRPlugin.Quatf(){x=0f,y=0f,z=0f,w=1f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_IndexTip, ParentBoneIndex=8, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.02236338f,y=-0.00102507f,z=0.0002956076f}, Orientation=new OVRPlugin.Quatf(){x=0f,y=0f,z=0f,w=1f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_MiddleTip, ParentBoneIndex=11, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.02496492f,y=-0.001137299f,z=0.0003086528f}, Orientation=new OVRPlugin.Quatf(){x=0f,y=0f,z=0f,w=1f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_RingTip, ParentBoneIndex=14, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.02432613f,y=-0.001608172f,z=0.000257905f}, Orientation=new OVRPlugin.Quatf(){x=0f,y=0f,z=0f,w=1f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_PinkyTip, ParentBoneIndex=18, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0.02192238f,y=-0.001216086f,z=-0.0002464796f}, Orientation=new OVRPlugin.Quatf(){x=0f,y=0f,z=0f,w=1f}}},
|
||||
},
|
||||
BoneCapsules = new OVRPlugin.BoneCapsule[] {
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=0, Radius=0.01822828f, StartPoint=new OVRPlugin.Vector3f() {x=0.02755879f,y=0.01404149f,z=-0.01685145f}, EndPoint=new OVRPlugin.Vector3f() {x=0.07794081f,y=0.009090679f,z=-0.02178327f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=0, Radius=0.02323196f, StartPoint=new OVRPlugin.Vector3f() {x=0.02632602f,y=0.008661013f,z=-0.006531342f}, EndPoint=new OVRPlugin.Vector3f() {x=0.07255958f,y=0.004580691f,z=-0.003326343f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=0, Radius=0.01608828f, StartPoint=new OVRPlugin.Vector3f() {x=0.0297035f,y=0.00920606f,z=0.01111641f}, EndPoint=new OVRPlugin.Vector3f() {x=0.07271415f,y=0.007254403f,z=0.01574543f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=0, Radius=0.02346085f, StartPoint=new OVRPlugin.Vector3f() {x=0.02844799f,y=0.008827154f,z=0.01446979f}, EndPoint=new OVRPlugin.Vector3f() {x=0.06036391f,y=0.009573798f,z=0.02133043f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=3, Radius=0.01838252f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=2.561E-09f,z=1.863E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=0.03251291f,y=6.98E-10f,z=-3.492E-09f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=4, Radius=0.01028295f, StartPoint=new OVRPlugin.Vector3f() {x=7.451E-09f,y=2.794E-09f,z=-3.725E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=0.03379309f,y=6.519E-09f,z=-8.382E-09f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=5, Radius=0.009768805f, StartPoint=new OVRPlugin.Vector3f() {x=7.451E-09f,y=5.588E-09f,z=-4.657E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=0.01500075f,y=-0.0006525163f,z=0.0005929575f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=6, Radius=0.01029526f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=0f,z=-1.863E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=0.03792731f,y=4.66E-10f,z=-3.725E-09f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=7, Radius=0.008038102f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=-9.31E-10f,z=-1.863E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=0.02430364f,y=-1.863E-09f,z=-3.725E-09f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=8, Radius=0.007636196f, StartPoint=new OVRPlugin.Vector3f() {x=-1.4901E-08f,y=-1.863E-09f,z=0f}, EndPoint=new OVRPlugin.Vector3f() {x=0.01507758f,y=-0.0005028695f,z=6.049499E-05f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=9, Radius=0.01117394f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=-4.66E-10f,z=9.31E-10f}, EndPoint=new OVRPlugin.Vector3f() {x=0.042927f,y=-2.328E-09f,z=-9.31E-10f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=10, Radius=0.008030958f, StartPoint=new OVRPlugin.Vector3f() {x=1.4901E-08f,y=-4.66E-10f,z=0f}, EndPoint=new OVRPlugin.Vector3f() {x=0.02754962f,y=-4.66E-10f,z=-1.863E-09f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=11, Radius=0.007629411f, StartPoint=new OVRPlugin.Vector3f() {x=1.4901E-08f,y=-3.725E-09f,z=0f}, EndPoint=new OVRPlugin.Vector3f() {x=0.01719159f,y=-0.0007450115f,z=0.0004036371f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=12, Radius=0.009922137f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=2.33E-10f,z=2.328E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=0.03899612f,y=0f,z=4.66E-10f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=13, Radius=0.007611672f, StartPoint=new OVRPlugin.Vector3f() {x=1.4901E-08f,y=-4.66E-10f,z=1.863E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=0.02657339f,y=1.397E-09f,z=0f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=14, Radius=0.007231089f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=9.31E-10f,z=2.328E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=0.01632451f,y=-0.001288094f,z=0.0001235888f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=16, Radius=0.008483353f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=-2.33E-10f,z=1.863E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=0.03072041f,y=-1.164E-09f,z=0f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=17, Radius=0.006764194f, StartPoint=new OVRPlugin.Vector3f() {x=-7.451E-09f,y=-1.717E-09f,z=1.863E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=0.02031137f,y=1.46E-10f,z=1.863E-09f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=18, Radius=0.006425985f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=0f,z=-1.863E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=0.01507002f,y=-0.0006056242f,z=-2.491474E-05f}},
|
||||
}
|
||||
};
|
||||
|
||||
public static readonly OVRPlugin.Skeleton2 RightSkeleton = new OVRPlugin.Skeleton2()
|
||||
{
|
||||
Type = OVRPlugin.SkeletonType.HandRight,
|
||||
NumBones = 24,
|
||||
NumBoneCapsules = 19,
|
||||
Bones = new OVRPlugin.Bone[] {new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Start, ParentBoneIndex=-1, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0f,y=0f,z=0f}, Orientation=new OVRPlugin.Quatf(){x=0f,y=0f,z=0f,w=1f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_ForearmStub, ParentBoneIndex=0, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=0f,y=0f,z=0f}, Orientation=new OVRPlugin.Quatf(){x=0f,y=0f,z=0f,w=1f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Thumb0, ParentBoneIndex=0, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.0200693f,y=-0.0115541f,z=0.01049652f}, Orientation=new OVRPlugin.Quatf(){x=0.3753869f,y=0.4245841f,z=-0.007778856f,w=0.8238644f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Thumb1, ParentBoneIndex=2, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.02485256f,y=2.328E-09f,z=0f}, Orientation=new OVRPlugin.Quatf(){x=0.2602303f,y=0.02433088f,z=0.125678f,w=0.9570231f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Thumb2, ParentBoneIndex=3, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.03251291f,y=-1.16E-10f,z=0f}, Orientation=new OVRPlugin.Quatf(){x=-0.08270377f,y=-0.0769617f,z=-0.08406223f,w=0.9900357f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Thumb3, ParentBoneIndex=4, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.0337931f,y=-3.26E-09f,z=-1.863E-09f}, Orientation=new OVRPlugin.Quatf(){x=0.08350593f,y=0.06501573f,z=-0.05827406f,w=0.9926752f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Index1, ParentBoneIndex=0, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.09599624f,y=-0.007316455f,z=0.02355068f}, Orientation=new OVRPlugin.Quatf(){x=0.03068309f,y=-0.01885559f,z=0.04328144f,w=0.9984136f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Index2, ParentBoneIndex=6, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.0379273f,y=1.16E-10f,z=5.97E-10f}, Orientation=new OVRPlugin.Quatf(){x=-0.02585241f,y=-0.007116061f,z=0.003292944f,w=0.999635f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Index3, ParentBoneIndex=7, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.02430365f,y=6.73E-10f,z=6.75E-10f}, Orientation=new OVRPlugin.Quatf(){x=-0.016056f,y=-0.02714872f,z=-0.072034f,w=0.9969034f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Middle1, ParentBoneIndex=0, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.09564661f,y=-0.002543155f,z=0.001725906f}, Orientation=new OVRPlugin.Quatf(){x=-0.009066326f,y=-0.05146559f,z=0.05183575f,w=0.9972874f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Middle2, ParentBoneIndex=9, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.042927f,y=1.317E-09f,z=1.193E-09f}, Orientation=new OVRPlugin.Quatf(){x=-0.01122823f,y=-0.004378874f,z=-0.001978267f,w=0.9999254f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Middle3, ParentBoneIndex=10, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.02754958f,y=-7.71E-10f,z=-1.12E-09f}, Orientation=new OVRPlugin.Quatf(){x=-0.03431955f,y=-0.004611839f,z=-0.09300701f,w=0.9950631f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Ring1, ParentBoneIndex=0, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.0886938f,y=-0.006529307f,z=-0.01746524f}, Orientation=new OVRPlugin.Quatf(){x=-0.05315936f,y=-0.1231034f,z=0.04981349f,w=0.9897162f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Ring2, ParentBoneIndex=12, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.0389961f,y=-4.66E-10f,z=-5.24E-10f}, Orientation=new OVRPlugin.Quatf(){x=-0.03363252f,y=-0.00278984f,z=0.00567602f,w=0.9994143f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Ring3, ParentBoneIndex=13, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.02657339f,y=-1.281E-09f,z=-1.63E-09f}, Orientation=new OVRPlugin.Quatf(){x=-0.003477462f,y=0.02917945f,z=-0.02502854f,w=0.9992548f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Pinky0, ParentBoneIndex=0, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.03407356f,y=-0.009419835f,z=-0.02299858f}, Orientation=new OVRPlugin.Quatf(){x=-0.207036f,y=-0.1403428f,z=0.0183118f,w=0.9680417f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Pinky1, ParentBoneIndex=15, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.04565055f,y=-9.98611E-07f,z=2.193963E-06f}, Orientation=new OVRPlugin.Quatf(){x=0.09111304f,y=0.00407137f,z=0.02812923f,w=0.9954349f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Pinky2, ParentBoneIndex=16, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.03072042f,y=6.98E-10f,z=1.106E-09f}, Orientation=new OVRPlugin.Quatf(){x=-0.03761665f,y=-0.04293772f,z=-0.01328605f,w=0.9982809f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_Pinky3, ParentBoneIndex=17, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.02031138f,y=-1.455E-09f,z=-1.397E-09f}, Orientation=new OVRPlugin.Quatf(){x=0.0006447434f,y=0.04917067f,z=-0.02401883f,w=0.9985014f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_ThumbTip, ParentBoneIndex=5, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.02459077f,y=0.001026974f,z=-0.0006703701f}, Orientation=new OVRPlugin.Quatf(){x=0f,y=0f,z=0f,w=1f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_IndexTip, ParentBoneIndex=8, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.02236338f,y=0.00102507f,z=-0.0002956076f}, Orientation=new OVRPlugin.Quatf(){x=0f,y=0f,z=0f,w=1f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_MiddleTip, ParentBoneIndex=11, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.02496492f,y=0.001137299f,z=-0.0003086528f}, Orientation=new OVRPlugin.Quatf(){x=0f,y=0f,z=0f,w=1f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_RingTip, ParentBoneIndex=14, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.02432613f,y=0.001608172f,z=-0.000257905f}, Orientation=new OVRPlugin.Quatf(){x=0f,y=0f,z=0f,w=1f}}},
|
||||
new OVRPlugin.Bone() { Id=OVRPlugin.BoneId.Hand_PinkyTip, ParentBoneIndex=18, Pose=new OVRPlugin.Posef() { Position=new OVRPlugin.Vector3f() {x=-0.02192238f,y=0.001216086f,z=0.0002464796f}, Orientation=new OVRPlugin.Quatf(){x=0f,y=0f,z=0f,w=1f}}},
|
||||
},
|
||||
BoneCapsules = new OVRPlugin.BoneCapsule[] {new OVRPlugin.BoneCapsule() { BoneIndex=0, Radius=0.01822828f, StartPoint=new OVRPlugin.Vector3f() {x=-0.02755879f,y=-0.01404148f,z=0.01685145f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.07794081f,y=-0.009090678f,z=0.02178326f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=0, Radius=0.02323196f, StartPoint=new OVRPlugin.Vector3f() {x=-0.02632602f,y=-0.008661013f,z=0.006531343f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.07255958f,y=-0.004580691f,z=0.003326343f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=0, Radius=0.01608828f, StartPoint=new OVRPlugin.Vector3f() {x=-0.0297035f,y=-0.00920606f,z=-0.01111641f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.07271415f,y=-0.007254403f,z=-0.01574543f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=0, Radius=0.02346085f, StartPoint=new OVRPlugin.Vector3f() {x=-0.02844799f,y=-0.008827153f,z=-0.01446979f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.06036392f,y=-0.009573797f,z=-0.02133043f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=3, Radius=0.01838251f, StartPoint=new OVRPlugin.Vector3f() {x=3.725E-09f,y=-6.98E-10f,z=-2.794E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.03251291f,y=-6.98E-10f,z=2.561E-09f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=4, Radius=0.01028296f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=-9.31E-10f,z=5.588E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.03379308f,y=-4.657E-09f,z=1.0245E-08f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=5, Radius=0.009768807f, StartPoint=new OVRPlugin.Vector3f() {x=-7.451E-09f,y=1.863E-09f,z=8.382E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.0150008f,y=0.0006525647f,z=-0.000592957f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=6, Radius=0.01029526f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=4.66E-10f,z=1.863E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.03792731f,y=-4.66E-10f,z=3.725E-09f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=7, Radius=0.008038101f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=9.31E-10f,z=1.863E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.02430364f,y=1.863E-09f,z=3.725E-09f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=8, Radius=0.007636196f, StartPoint=new OVRPlugin.Vector3f() {x=1.4901E-08f,y=1.863E-09f,z=0f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.01507759f,y=0.0005028695f,z=-6.052852E-05f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=9, Radius=0.01117394f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=0f,z=-9.31E-10f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.042927f,y=1.863E-09f,z=9.31E-10f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=10, Radius=0.008030958f, StartPoint=new OVRPlugin.Vector3f() {x=-1.4901E-08f,y=0f,z=0f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.02754962f,y=4.66E-10f,z=1.863E-09f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=11, Radius=0.00762941f, StartPoint=new OVRPlugin.Vector3f() {x=-1.4901E-08f,y=1.863E-09f,z=0f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.01719156f,y=0.0007450022f,z=-0.0004036473f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=12, Radius=0.009922139f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=-2.33E-10f,z=-2.328E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.03899612f,y=4.66E-10f,z=-4.66E-10f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=13, Radius=0.007611674f, StartPoint=new OVRPlugin.Vector3f() {x=-1.4901E-08f,y=1.863E-09f,z=-1.863E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.02657339f,y=0f,z=0f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=14, Radius=0.00723109f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=9.31E-10f,z=-2.328E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.01632455f,y=0.001288087f,z=-0.0001235851f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=16, Radius=0.008483353f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=2.33E-10f,z=-1.863E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.03072041f,y=1.164E-09f,z=0f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=17, Radius=0.006764191f, StartPoint=new OVRPlugin.Vector3f() {x=7.451E-09f,y=1.717E-09f,z=1.863E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.02031137f,y=-1.46E-10f,z=-1.863E-09f}},
|
||||
new OVRPlugin.BoneCapsule() { BoneIndex=18, Radius=0.006425982f, StartPoint=new OVRPlugin.Vector3f() {x=0f,y=0f,z=1.863E-09f}, EndPoint=new OVRPlugin.Vector3f() {x=-0.01507004f,y=0.0006056186f,z=2.490915E-05f}},
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dfb63309ade4ca04dbff7beff6784781
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user