version 2.4.0

This commit is contained in:
Sean Lu(呂祥榮)
2024-07-03 14:58:53 +08:00
parent 7f2a459592
commit 3dd72f5f56
162 changed files with 23632 additions and 27154 deletions

View File

@@ -127,7 +127,7 @@ namespace VIVE.OpenXR.Samples.Anchor
if (AnchorManager.GetTrackingSpacePose(anchor, out Pose pose))
{
// Convert tracking space pose to rig space pose
// Convert tracking space pose to world space pose
obj.position = rig.TransformPoint(pose.position);
obj.rotation = rig.rotation * pose.rotation;

View File

@@ -1,5 +1,6 @@
fileFormatVersion: 2
guid: cc4f135068c02f84da2f529a300f9ba7
guid: 6a008b18e6da66442857fdd566150c9c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:

View File

@@ -0,0 +1,45 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: HandMatLeft
m_Shader: {fileID: 4800000, guid: e7d763db3f0479b49a6e358298f1717f, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _AlphaText:
m_Texture: {fileID: 2800000, guid: 7a3b01026ed0d664eb88c1a71f03465a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _texcoord:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _texcoord3:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _Gradient_Blur: 0.2854134
- _Gradient_level: 0.5225084
- _Opacity: 0.45
- _OutlineThickness: 0.001
- __dirty: 1
- _line_opacity: 0.5
m_Colors:
- _ConColorA: {r: 0.1058824, g: 0.6901961, b: 0.9019608, a: 0}
- _ConColorB: {r: 1, g: 1, b: 1, a: 0}
- _GraColorA: {r: 0.1058824, g: 0.6901961, b: 0.9019608, a: 0}
- _GraColorB: {r: 1, g: 1, b: 1, a: 0}

View File

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

View File

@@ -0,0 +1,45 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: HandMatRight
m_Shader: {fileID: 4800000, guid: e7d763db3f0479b49a6e358298f1717f, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 0
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _AlphaText:
m_Texture: {fileID: 2800000, guid: 7a3b01026ed0d664eb88c1a71f03465a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _texcoord:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _texcoord3:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _Gradient_Blur: 0.2854134
- _Gradient_level: 0.5225084
- _Opacity: 0.45
- _OutlineThickness: 0.001
- __dirty: 1
- _line_opacity: 0.5
m_Colors:
- _ConColorA: {r: 0.1058824, g: 0.6901961, b: 0.9019608, a: 0}
- _ConColorB: {r: 1, g: 1, b: 1, a: 0}
- _GraColorA: {r: 0.1058824, g: 0.6901961, b: 0.9019608, a: 0}
- _GraColorB: {r: 1, g: 1, b: 1, a: 0}

View File

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

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b67e19957d781e74ea93eb33ee345f49
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,116 @@
// Made with Amplify Shader Editor
Shader "Wave/Essence/Hand/Model"
{
Properties
{
[HDR]_GraColorA("GradianColorA", Color) = (0.1058824,0.6901961,0.9019608,0)
[HDR]_GraColorB("GradianColorB", Color) = (1,1,1,0)
[HDR]_ConGraColorA("ContourColorA", Color) = (0.1058824,0.6901961,0.9019608,0)
[HDR]_ConGraColorB("ContourColorB", Color) = (1,1,1,0)
_Gradient_Blur("Gradient_Blur", Range(0 , 1)) = 0.2854134
_Gradient_level("Gradient_level", Range(0 , 1)) = 0.5225084
_Opacity("Opacity", Range(0 , 1)) = 0.45
_line_opacity("line_opacity", Range(0 , 1)) = 0.5
_OutlineThickness("OutlineThickness", Range(0 , 0.002)) = 0.001
_AlphaText("AlphaText", 2D) = "white" {}
[HideInInspector] _texcoord3("", 2D) = "white" {}
[HideInInspector] _texcoord("", 2D) = "white" {}
[HideInInspector] __dirty("", Int) = 1
}
SubShader
{
Pass
{
ColorMask 0
ZWrite On
}
Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0"}
Cull Front
CGPROGRAM
#pragma target 3.0
#pragma surface outlineSurf Outline nofog alpha:fade keepalpha noshadow noambient novertexlights nolightmap nodynlightmap nodirlightmap nometa noforwardadd vertex:outlineVertexDataFunc
struct Input
{
float2 uv3_texcoord3;
float2 uv_texcoord;
};
uniform float _OutlineThickness;
uniform float4 _ConGraColorA;
uniform float4 _ConGraColorB;
uniform float _Gradient_level;
uniform float _Gradient_Blur;
uniform float _line_opacity;
uniform sampler2D _AlphaText;
void outlineVertexDataFunc(inout appdata_full v, out Input o)
{
UNITY_INITIALIZE_OUTPUT(Input, o);
float outlineVar = _OutlineThickness;
v.vertex.xyz += (v.normal * outlineVar);
}
inline half4 LightingOutline(SurfaceOutput s, half3 lightDir, half atten) { return half4 (0,0,0, s.Alpha); }
void outlineSurf(Input i, inout SurfaceOutput o)
{
float clampResult114 = clamp((_Gradient_level + ((_Gradient_level - i.uv3_texcoord3.y) / _Gradient_Blur)) , 0.0 , 1.0);
float4 lerpResult100 = lerp(_ConGraColorA, _ConGraColorB, clampResult114);
float4 tex2DNode92 = tex2D(_AlphaText, i.uv_texcoord);
o.Emission = lerpResult100.rgb;
o.Alpha = (_line_opacity * tex2DNode92).r;
}
ENDCG
Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" }
Cull Back
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma target 3.0
#pragma surface surf Unlit keepalpha noshadow vertex:vertexDataFunc
struct Input
{
float2 uv3_texcoord3;
float2 uv_texcoord;
};
uniform float4 _GraColorA;
uniform float4 _GraColorB;
uniform float _Gradient_level;
uniform float _Gradient_Blur;
uniform float _Opacity;
uniform sampler2D _AlphaText;
void vertexDataFunc(inout appdata_full v, out Input o)
{
UNITY_INITIALIZE_OUTPUT(Input, o);
v.vertex.xyz += 0;
}
inline half4 LightingUnlit(SurfaceOutput s, half3 lightDir, half atten)
{
return half4 (0, 0, 0, s.Alpha);
}
void surf(Input i , inout SurfaceOutput o)
{
float clampResult114 = clamp((_Gradient_level + ((_Gradient_level - i.uv3_texcoord3.y) / _Gradient_Blur)) , 0.0 , 1.0);
float4 lerpResult100 = lerp(_GraColorA , _GraColorB , clampResult114);
o.Emission = lerpResult100.rgb;
float4 color104 = IsGammaSpace() ? float4(0,0,0,0) : float4(0,0,0,0);
float4 color102 = IsGammaSpace() ? float4(1,1,1,0) : float4(1,1,1,0);
float smoothstepResult103 = smoothstep(-0.05 , 1.0 , i.uv3_texcoord3.y);
float4 lerpResult105 = lerp(color104 , color102 , smoothstepResult103);
float4 tex2DNode92 = tex2D(_AlphaText, i.uv_texcoord);
o.Alpha = (lerpResult105 * _Opacity * tex2DNode92).r;
}
ENDCG
}
CustomEditor "ASEMaterialInspector"
}

View File

@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: e7d763db3f0479b49a6e358298f1717f
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0f5b18323086f074aaa5e48c525580fb
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: 7a3b01026ed0d664eb88c1a71f03465a
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a038b1de76b8eb2439b818f2b08abbd8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,106 @@
fileFormatVersion: 2
guid: 407031a402781d048945abb5156739ad
ModelImporter:
serializedVersion: 21300
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 152a8891769b2f346a57397ba5abe7e7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,85 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &5818550160992551307
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6626048664893692721}
- component: {fileID: 7808027561262290068}
- component: {fileID: 5458179109185085534}
m_Layer: 0
m_Name: Vive_UltimateTracker
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6626048664893692721
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5818550160992551307}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &7808027561262290068
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5818550160992551307}
m_Mesh: {fileID: 9003602529452586141, guid: 407031a402781d048945abb5156739ad, type: 3}
--- !u!23 &5458179109185085534
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5818550160992551307}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 5904567748361503788, guid: 407031a402781d048945abb5156739ad, type: 3}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 5dc3dee3f9e01d341b7db5195a78b34e
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -48,6 +48,26 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
private InputActionReference m_Rotation = null;
public InputActionReference Rotation { get { return m_Rotation; } set { m_Rotation = value; } }
[SerializeField]
private InputActionReference m_Menu = null;
public InputActionReference Menu { get { return m_Menu; } set { m_Menu = value; } }
[SerializeField]
private InputActionReference m_GripPress = null;
public InputActionReference GripPress { get { return m_GripPress; } set { m_GripPress = value; } }
[SerializeField]
private InputActionReference m_TriggerPress = null;
public InputActionReference TriggerPress { get { return m_TriggerPress; } set { m_TriggerPress = value; } }
[SerializeField]
private InputActionReference m_TrackpadPress = null;
public InputActionReference TrackpadPress { get { return m_TrackpadPress; } set { m_TrackpadPress = value; } }
[SerializeField]
private InputActionReference m_TrackpadTouch = null;
public InputActionReference TrackpadTouch { get { return m_TrackpadTouch; } set { m_TrackpadTouch = value; } }
private Text m_Text = null;
private void Start()
{
@@ -108,6 +128,70 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
}
}
m_Text.text += ")";
m_Text.text += "\nmenu: ";
{
if (Utils.GetButton(m_Menu, out bool value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\ngrip: ";
{
if (Utils.GetButton(m_GripPress, out bool value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\ntrigger press: ";
{
if (Utils.GetButton(m_TriggerPress, out bool value, out string msg))
{
m_Text.text += value;
if (Utils.PerformHaptic(m_TriggerPress, out msg))
{
m_Text.text += ", Vibrate";
}
else
{
m_Text.text += ", Failed: " + msg;
}
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\ntrackpad press: ";
{
if (Utils.GetButton(m_TrackpadPress, out bool value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\ntrackpad touch: ";
{
if (Utils.GetButton(m_TrackpadTouch, out bool value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
}
}
}

View File

@@ -94,11 +94,11 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
}
public static string Name(this ActionRefError error)
{
if (error == ActionRefError.REFERENCE_NULL) { return "Null reference."; }
if (error == ActionRefError.ACTION_NULL) { return "Null reference action."; }
if (error == ActionRefError.DISABLED) { return "Reference action disabled."; }
if (error == ActionRefError.ACTIVECONTROL_NULL) { return "No active control of the reference action."; }
if (error == ActionRefError.NO_CONTROLS_COUNT) { return "No action control count."; }
if (error == ActionRefError.REFERENCE_NULL) { return "Null reference"; }
if (error == ActionRefError.ACTION_NULL) { return "Null reference action"; }
if (error == ActionRefError.DISABLED) { return "Reference action disabled"; }
if (error == ActionRefError.ACTIVECONTROL_NULL) { return "No active control of the reference action"; }
if (error == ActionRefError.NO_CONTROLS_COUNT) { return "No action control count"; }
return "";
}
@@ -327,6 +327,24 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
}
}
return false;
}
public static bool PerformHaptic(InputActionReference actionReference, out string msg)
{
var result = VALIDATE(actionReference);
msg = result.Name();
if (result == ActionRefError.NONE)
{
float amplitude = 1.0f;
float duration = 0.1f;
var command = UnityEngine.InputSystem.XR.Haptics.SendHapticImpulseCommand.Create(0, amplitude, duration);
actionReference.action.activeControl.device.ExecuteCommand(ref command);
return true;
}
return false;
}
#endif

View File

@@ -128,11 +128,11 @@ PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 5539030536461944548}
m_TransformParent: {fileID: 2016682142}
m_Modifications:
- target: {fileID: 4806409459047702211, guid: 010c0098d232cb0428f42a48488a6255, type: 3}
propertyPath: m_RootOrder
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4806409459047702211, guid: 010c0098d232cb0428f42a48488a6255, type: 3}
propertyPath: m_LocalPosition.x
@@ -176,9 +176,14 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 4806409459047702212, guid: 010c0098d232cb0428f42a48488a6255, type: 3}
propertyPath: m_Name
value: LeftHand
value: VIVEXRHandGrabberLeft
objectReference: {fileID: 0}
m_RemovedComponents: []
- target: {fileID: 9147622445971491010, guid: 010c0098d232cb0428f42a48488a6255, type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: 2687505453755f7438ac99850b96b1a4, type: 2}
m_RemovedComponents:
- {fileID: 1039589470112983855, guid: 010c0098d232cb0428f42a48488a6255, type: 3}
m_SourcePrefab: {fileID: 100100000, guid: 010c0098d232cb0428f42a48488a6255, type: 3}
--- !u!4 &87193926 stripped
Transform:
@@ -280,11 +285,15 @@ PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 5539030536461944548}
m_TransformParent: {fileID: 1768514133}
m_Modifications:
- target: {fileID: 5463237111259371825, guid: 9731229184277b54ba66bffd1633169b, type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: 68f46279552dd914784cc5edae6479b8, type: 2}
- target: {fileID: 7152668487518777764, guid: 9731229184277b54ba66bffd1633169b, type: 3}
propertyPath: m_RootOrder
value: 2
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7152668487518777764, guid: 9731229184277b54ba66bffd1633169b, type: 3}
propertyPath: m_LocalPosition.x
@@ -328,7 +337,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 7152668487518777765, guid: 9731229184277b54ba66bffd1633169b, type: 3}
propertyPath: m_Name
value: RightHand
value: VIVEXRHandGrabberRight
objectReference: {fileID: 0}
- target: {fileID: 7152668487518777765, guid: 9731229184277b54ba66bffd1633169b, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 9731229184277b54ba66bffd1633169b, type: 3}
@@ -431,6 +444,38 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &1768514132
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1768514133}
m_Layer: 0
m_Name: RightHand
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1768514133
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1768514132}
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_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1338867151}
m_Father: {fileID: 5539030536461944548}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1781032504
GameObject:
m_ObjectHideFlags: 0
@@ -514,6 +559,38 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1781032504}
m_CullTransparentMesh: 0
--- !u!1 &2016682141
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2016682142}
m_Layer: 0
m_Name: LeftHand
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2016682142
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2016682141}
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_ConstrainProportionsScale: 0
m_Children:
- {fileID: 87193926}
m_Father: {fileID: 5539030536461944548}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!223 &4421988976569316436
Canvas:
m_ObjectHideFlags: 0
@@ -634,13 +711,14 @@ MonoBehaviour:
m_Text: 'Mode:
1. <b><size=55>Real Hand Mode</size></b> : The physics engine
is calculated by WAVE.
is calculated by UNITY.
2. <b><size=55>Unity Mode</size></b> : The physics
engine is calculated by UNITY.
2. <b><size=55>Virtual Hand Mode</size></b> : There
is no physics engine.
3. <b><size=55>Virtual Hand Mode</size></b>
: There is no physics engine.'
You should build it with HandGrab_RealHand and HandGrab_VirtualHand
to ensure the demo functions properly.'
--- !u!224 &4421988977156215097
RectTransform:
m_ObjectHideFlags: 0
@@ -659,7 +737,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -0}
m_SizeDelta: {x: 1500, y: 400}
m_SizeDelta: {x: 1500, y: 500}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4421988977156215099
CanvasRenderer:
@@ -706,7 +784,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0.2}
m_SizeDelta: {x: 1.6, y: 0.4}
m_SizeDelta: {x: 1.6, y: 0.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &4421988977697740665
GameObject:
@@ -777,8 +855,8 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5539030537701330868}
- {fileID: 87193926}
- {fileID: 1338867151}
- {fileID: 2016682142}
- {fileID: 1768514133}
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -988,189 +1066,6 @@ Transform:
m_Father: {fileID: 5539030537701330868}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6854398860519153592
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6854398860519153734}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 'Unity
Mode'
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 18
m_fontSizeBase: 18
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 5
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 0
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 6, y: 0, z: 6, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
_SortingLayer: 0
_SortingLayerID: 0
_SortingOrder: 0
m_hasFontAssetChanged: 0
m_renderer: {fileID: 6854398860519153594}
m_maskType: 0
--- !u!224 &6854398860519153593
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6854398860519153734}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -1}
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6854398860767644117}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!23 &6854398860519153594
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6854398860519153734}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!222 &6854398860519153595
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6854398860519153734}
m_CullTransparentMesh: 0
--- !u!1 &6854398860519153734
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6854398860519153593}
- component: {fileID: 6854398860519153594}
- component: {fileID: 6854398860519153595}
- component: {fileID: 6854398860519153592}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!23 &6854398860694902968
MeshRenderer:
m_ObjectHideFlags: 0
@@ -1356,202 +1251,6 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &6854398860767644113
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6854398860767644117}
- component: {fileID: 6854398860767644114}
- component: {fileID: 6854398860767644115}
m_Layer: 0
m_Name: UnityMode
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!33 &6854398860767644114
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6854398860767644113}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &6854398860767644115
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6854398860767644113}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!4 &6854398860767644117
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6854398860767644113}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0.2}
m_LocalScale: {x: 0.3, y: 0.15, z: 0.01}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6854398860856520465}
- {fileID: 6854398860519153593}
m_Father: {fileID: 6854398861924751581}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!65 &6854398860856520464
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6854398860856520478}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!4 &6854398860856520465
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6854398860856520478}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -0.5}
m_LocalScale: {x: 0.9, y: 0.9, z: 0.8}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6854398860767644117}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 45, z: 0}
--- !u!33 &6854398860856520466
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6854398860856520478}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &6854398860856520467
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6854398860856520478}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: afd55f35323900b46803d66292e9b71b, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!114 &6854398860856520469
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6854398860856520478}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1ffd2c2d8bfa60a428c7372ece68d3a8, type: 3}
m_Name:
m_EditorClassIdentifier:
collisionMode: 1
--- !u!1 &6854398860856520478
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6854398860856520465}
- component: {fileID: 6854398860856520466}
- component: {fileID: 6854398860856520467}
- component: {fileID: 6854398860856520464}
- component: {fileID: 6854398860856520469}
m_Layer: 0
m_Name: Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!222 &6854398861177527064
CanvasRenderer:
m_ObjectHideFlags: 0
@@ -1752,7 +1451,7 @@ Transform:
- {fileID: 6854398861735069702}
- {fileID: 6854398860694903111}
m_Father: {fileID: 6854398861924751581}
m_RootOrder: 2
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &6854398861357306553
MeshFilter:
@@ -1924,7 +1623,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1ffd2c2d8bfa60a428c7372ece68d3a8, type: 3}
m_Name:
m_EditorClassIdentifier:
collisionMode: 2
collisionMode: 1
--- !u!33 &6854398861735069819
MeshFilter:
m_ObjectHideFlags: 0
@@ -1964,7 +1663,6 @@ MonoBehaviour:
m_EditorClassIdentifier:
modeEvents:
- {fileID: 6854398862088823855}
- {fileID: 6854398860856520469}
- {fileID: 6854398861735069818}
--- !u!4 &6854398861924751581
Transform:
@@ -1979,7 +1677,6 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6854398862345250172}
- {fileID: 6854398860767644117}
- {fileID: 6854398861357306552}
m_Father: {fileID: 0}
m_RootOrder: 3

View File

@@ -2,7 +2,7 @@ fileFormatVersion: 2
guid: 25911631c41185345bbb2eaa8f7f897b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -2,7 +2,7 @@ fileFormatVersion: 2
guid: f0436806dc335254aa9c761aa0bfffa0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 13400000
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,80 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Door
m_Shader: {fileID: 4800000, guid: 036c34459a9cd4641926378ecc826df5, type: 3}
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 7d1a87114298850438b31f459bb900de, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

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

View File

@@ -0,0 +1,77 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Handle
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View File

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

View File

@@ -0,0 +1,77 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SteeringWheel
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View File

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

View File

@@ -0,0 +1,82 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Window
m_Shader: {fileID: 4800000, guid: 9ea7cf603454e3049acbc75edf56b41d, type: 3}
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 1
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 1
- _GlossyReflections: 1
- _Metallic: 0.391
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Refraction: 0.626
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Translucency: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.8160377, g: 1, b: 0.96435916, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

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

View File

@@ -0,0 +1,39 @@
Shader "Custom/WindowShader"
{
Properties
{
_Color ("Glass Color", Color) = (1,1,1,0.5)
_Glossiness ("Glossiness", Range(0.01, 1)) = 0.5
_Translucency ("Translucency", Range(0.01, 1)) = 0.5
}
SubShader
{
Tags { "RenderType"="Transparent" "Queue"="Transparent" }
LOD 200
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma surface surf Standard alpha:fade
struct Input
{
float2 uv_MainTex;
};
sampler2D _MainTex;
fixed4 _Color;
float _Glossiness;
float _Translucency;
void surf(Input IN, inout SurfaceOutputStandard o)
{
fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
o.Albedo = c.rgb;
o.Alpha = c.a * _Translucency;
o.Smoothness = _Glossiness;
}
ENDCG
}
FallBack "Diffuse"
}

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 9ea7cf603454e3049acbc75edf56b41d
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,98 @@
fileFormatVersion: 2
guid: 7d1a87114298850438b31f459bb900de
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,37 @@
Shader "Custom/WoodenDoorShader"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_Glossiness ("Smoothness", Range(0,1)) = 0.5
_Metallic ("Metallic", Range(0,1)) = 0.0
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 200
CGPROGRAM
#pragma surface surf Standard fullforwardshadows
struct Input
{
float2 uv_MainTex;
};
sampler2D _MainTex;
float _Glossiness;
float _Metallic;
void surf(Input IN, inout SurfaceOutputStandard o)
{
fixed4 c = tex2D(_MainTex, IN.uv_MainTex);
o.Albedo = c.rgb;
o.Metallic = _Metallic;
o.Smoothness = _Glossiness;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Diffuse"
}

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 036c34459a9cd4641926378ecc826df5
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,105 @@
fileFormatVersion: 2
guid: d937cced54ed35149b53ea253dfa7fbf
ModelImporter:
serializedVersion: 21202
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: f969d84a459d1cf4e9ea640530f13486
ModelImporter:
serializedVersion: 21202
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Material_0
second: {fileID: 2100000, guid: d4b3f0ac93db86843a86317ed35269cb, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,3 +1,4 @@
using System.Collections;
using UnityEngine;
using VIVE.OpenXR.Toolkits.RealisticHandInteraction;
@@ -7,12 +8,13 @@ namespace VIVE.OpenXR.Samples.RealisticHandInteraction
{
private void OnEnable()
{
#if UNITY_XR_HANDS
if (DataWrapper.Validate())
{
gameObject.SetActive(false);
}
#endif
StartCoroutine(CheckHandTrackingValid());
}
private IEnumerator CheckHandTrackingValid()
{
yield return new WaitUntil(() => DataWrapper.Validate());
gameObject.SetActive(false);
}
}
}

View File

@@ -7,7 +7,6 @@ namespace VIVE.OpenXR.Samples.RealisticHandInteraction
public enum CollisionMode
{
REALHAND,
UNITY,
VIRTUALHAND
}

View File

@@ -31,9 +31,6 @@ namespace VIVE.OpenXR.Samples.RealisticHandInteraction
case ModeEvent.CollisionMode.REALHAND:
UnityEngine.SceneManagement.SceneManager.LoadScene("HandGrab_RealHand");
break;
case ModeEvent.CollisionMode.UNITY:
UnityEngine.SceneManagement.SceneManager.LoadScene("HandGrab_Unity");
break;
case ModeEvent.CollisionMode.VIRTUALHAND:
UnityEngine.SceneManagement.SceneManager.LoadScene("HandGrab_VirtualHand");
break;

View File

@@ -15,7 +15,7 @@ namespace VIVE.OpenXR.Toolkits.BodyTracking
public class HumanoidTracking : MonoBehaviour
{
#region Log
const string LOG_TAG = "VIVE.OpenXR.Toolkits.BodyTracking.HumanoidTracking";
const string LOG_TAG = "VIVE.OpenXR.Toolkits.BodyTracking.HumanoidTracking ";
StringBuilder m_sb = null;
StringBuilder sb {
get {
@@ -23,11 +23,11 @@ namespace VIVE.OpenXR.Toolkits.BodyTracking
return m_sb;
}
}
void DEBUG(StringBuilder msg) { Debug.Log(LOG_TAG + " " + msg); }
void DEBUG(StringBuilder msg) { Debug.Log(msg); }
int logFrame = -1;
bool printIntervalLog = false;
void WARNING(StringBuilder msg) { Debug.LogWarning(LOG_TAG + " " + msg); }
void ERROR(StringBuilder msg) { Debug.LogError(LOG_TAG + msg); }
void WARNING(StringBuilder msg) { Debug.LogWarning(msg); }
void ERROR(StringBuilder msg) { Debug.LogError(msg); }
#endregion
public enum TrackingMode : Int32
@@ -148,109 +148,109 @@ namespace VIVE.OpenXR.Toolkits.BodyTracking
m_Humanoid = GetComponent<UniHumanoid.Humanoid>();
if (m_Humanoid == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid."); ERROR(sb);
return false;
}
// 0.hip
if (m_Humanoid.Hips == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid Hips."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid Hips."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid Hips -> Body root."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid Hips -> Body root."); DEBUG(sb);
body.root = m_Humanoid.Hips;
}
// 1.leftThigh
if (m_Humanoid.LeftUpperLeg == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid LeftUpperLeg."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid LeftUpperLeg."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid LeftUpperLeg -> Body leftThigh."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid LeftUpperLeg -> Body leftThigh."); DEBUG(sb);
body.leftThigh = m_Humanoid.LeftUpperLeg;
}
// 2.leftLeg
if (m_Humanoid.LeftLowerLeg == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid LeftLowerLeg."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid LeftLowerLeg."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid LeftLowerLeg -> Body leftLeg."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid LeftLowerLeg -> Body leftLeg."); DEBUG(sb);
body.leftLeg = m_Humanoid.LeftLowerLeg;
}
// 3.leftAnkle
if (m_Humanoid.LeftFoot == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid LeftFoot."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid LeftFoot."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid LeftFoot -> Body leftAnkle."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid LeftFoot -> Body leftAnkle."); DEBUG(sb);
body.leftAnkle = m_Humanoid.LeftFoot;
}
// 4.leftFoot
if (m_Humanoid.LeftToes == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid LeftToes."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid LeftToes."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid LeftToes -> Body leftFoot."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid LeftToes -> Body leftFoot."); DEBUG(sb);
body.leftFoot = m_Humanoid.LeftToes;
}
// 5.rightThigh
if (m_Humanoid.RightUpperLeg == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid RightUpperLeg."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid RightUpperLeg."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid RightUpperLeg -> Body rightThigh."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid RightUpperLeg -> Body rightThigh."); DEBUG(sb);
body.rightThigh = m_Humanoid.RightUpperLeg;
}
// 6.rightLeg
if (m_Humanoid.RightLowerLeg == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid RightLowerLeg."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid RightLowerLeg."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid RightLowerLeg -> Body rightLeg."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid RightLowerLeg -> Body rightLeg."); DEBUG(sb);
body.rightLeg = m_Humanoid.RightLowerLeg;
}
// 7.rightAnkle
if (m_Humanoid.RightFoot == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid RightFoot."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid RightFoot."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid RightFoot -> Body rightAnkle."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid RightFoot -> Body rightAnkle."); DEBUG(sb);
body.rightAnkle = m_Humanoid.RightFoot;
}
// 8.rightFoot
if (m_Humanoid.RightToes == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid RightToes."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid RightToes."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid RightToes -> Body rightFoot."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid RightToes -> Body rightFoot."); DEBUG(sb);
body.rightFoot = m_Humanoid.RightToes;
}
@@ -259,135 +259,135 @@ namespace VIVE.OpenXR.Toolkits.BodyTracking
// 9.chest
if (m_Humanoid.UpperChest == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid UpperChest."); WARNING(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid UpperChest."); WARNING(sb);
if (m_Humanoid.Chest == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid Chest."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid Chest."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid Chest -> Body chest."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid Chest -> Body chest."); DEBUG(sb);
body.chest = m_Humanoid.Chest;
}
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid UpperChest -> Body chest."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid UpperChest -> Body chest."); DEBUG(sb);
body.chest = m_Humanoid.UpperChest;
sb.Clear().Append("AssignHumanoidToBody() Humanoid Chest -> Body spineHigh."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid Chest -> Body spineHigh."); DEBUG(sb);
body.spineHigh = m_Humanoid.Chest;
}
// 10.neck
if (m_Humanoid.Neck == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid Neck."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid Neck."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid Neck -> Body neck."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid Neck -> Body neck."); DEBUG(sb);
body.neck = m_Humanoid.Neck;
}
// 11.head
if (m_Humanoid.Head == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid Head."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid Head."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid Head -> Body head."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid Head -> Body head."); DEBUG(sb);
body.head = m_Humanoid.Head;
}
// 12.leftClavicle
if (m_Humanoid.LeftShoulder == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid LeftShoulder."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid LeftShoulder."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid LeftShoulder -> Body leftClavicle."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid LeftShoulder -> Body leftClavicle."); DEBUG(sb);
body.leftClavicle = m_Humanoid.LeftShoulder;
}
// 13.leftUpperarm
if (m_Humanoid.LeftUpperArm == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid LeftUpperArm."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid LeftUpperArm."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid LeftUpperArm -> Body leftUpperarm."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid LeftUpperArm -> Body leftUpperarm."); DEBUG(sb);
body.leftUpperarm = m_Humanoid.LeftUpperArm;
}
// 14.leftForearm
if (m_Humanoid.LeftLowerArm == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid LeftLowerArm."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid LeftLowerArm."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid LeftLowerArm -> Body leftForearm."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid LeftLowerArm -> Body leftForearm."); DEBUG(sb);
body.leftForearm = m_Humanoid.LeftLowerArm;
}
// 15.leftHand
if (m_Humanoid.LeftHand == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid LeftHand."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid LeftHand."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid LeftHand -> Body leftHand."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid LeftHand -> Body leftHand."); DEBUG(sb);
body.leftHand = m_Humanoid.LeftHand;
}
// 16.rightClavicle
if (m_Humanoid.RightShoulder == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid RightShoulder."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid RightShoulder."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid RightShoulder -> Body rightClavicle."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid RightShoulder -> Body rightClavicle."); DEBUG(sb);
body.rightClavicle = m_Humanoid.RightShoulder;
}
// 17.rightUpperarm
if (m_Humanoid.RightUpperArm == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid RightUpperArm."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid RightUpperArm."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid RightUpperArm -> Body rightUpperarm."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid RightUpperArm -> Body rightUpperarm."); DEBUG(sb);
body.rightUpperarm = m_Humanoid.RightUpperArm;
}
// 18.rightForearm
if (m_Humanoid.RightLowerArm == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid RightLowerArm."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid RightLowerArm."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid RightLowerArm -> Body rightForearm."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid RightLowerArm -> Body rightForearm."); DEBUG(sb);
body.rightForearm = m_Humanoid.RightLowerArm;
}
// 19.rightHand
if (m_Humanoid.RightHand == null)
{
sb.Clear().Append("AssignHumanoidToBody() no Humanoid RightHand."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() no Humanoid RightHand."); ERROR(sb);
return false;
}
else
{
sb.Clear().Append("AssignHumanoidToBody() Humanoid RightHand -> Body rightHand."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Humanoid RightHand -> Body rightHand."); DEBUG(sb);
body.rightHand = m_Humanoid.RightHand;
}
@@ -395,7 +395,7 @@ namespace VIVE.OpenXR.Toolkits.BodyTracking
{
body.height = m_AvatarHeight;
sb.Clear().Append("AssignHumanoidToBody() height: ").Append(body.height);
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() height: ").Append(body.height);
DEBUG(sb);
}
else
@@ -403,7 +403,7 @@ namespace VIVE.OpenXR.Toolkits.BodyTracking
float floor = Mathf.Min(m_Humanoid.LeftToes.position.y, m_Humanoid.RightToes.position.y);
body.height = m_Humanoid.Head.position.y - floor;
sb.Clear().Append("AssignHumanoidToBody() Calculates height:")
sb.Clear().Append(LOG_TAG).Append("AssignHumanoidToBody() Calculates height:")
.Append(" LeftToes (").Append(m_Humanoid.LeftToes.position.y).Append(")")
.Append(", RightToes(").Append(m_Humanoid.RightToes.position.y).Append(")")
.Append(", Head(").Append(m_Humanoid.Head.position.y).Append(")")
@@ -421,7 +421,7 @@ namespace VIVE.OpenXR.Toolkits.BodyTracking
{
if (m_CustomizeExtrinsics)
{
sb.Clear().Append("Awake() Customize device extrinsics."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("Awake() Customize device extrinsics."); DEBUG(sb);
m_CustomExts.Update(TrackedDeviceRole.ROLE_HEAD, m_Head);
m_CustomExts.Update(TrackedDeviceRole.ROLE_LEFTWRIST, m_LeftWrist);
@@ -442,7 +442,7 @@ namespace VIVE.OpenXR.Toolkits.BodyTracking
m_CustomExts.Update(TrackedDeviceRole.ROLE_LEFTFOOT, m_LeftToes);
m_CustomExts.Update(TrackedDeviceRole.ROLE_RIGHTFOOT, m_RightToes);
}
sb.Clear().Append("Awake() Records the initial body position and scale."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("Awake() Records the initial body position and scale."); DEBUG(sb);
m_InitialTransform = new TransformData(transform);
}
private void Update()
@@ -459,22 +459,22 @@ namespace VIVE.OpenXR.Toolkits.BodyTracking
bool updateTrackingData = false;
public void BeginTracking()
{
sb.Clear().Append("BeginTracking() tracking mode: ").Append(m_Tracking); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("BeginTracking() tracking mode: ").Append(m_Tracking); DEBUG(sb);
if (m_Body == null)
{
sb.Clear().Append("StartFixUpdateBodyTracking() Configures Humanoid avatar."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("StartFixUpdateBodyTracking() Configures Humanoid avatar."); DEBUG(sb);
m_Body = new Body();
if (!AssignHumanoidToBody(ref m_Body))
{
sb.Clear().Append("StartFixUpdateBodyTracking() AssignHumanoidToBody failed."); ERROR(sb);
sb.Clear().Append(LOG_TAG).Append("StartFixUpdateBodyTracking() AssignHumanoidToBody failed."); ERROR(sb);
m_Body = null;
return;
}
}
if (m_InitialBody == null)
{
sb.Clear().Append("BeginTracking() Records the initial standard pose."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("BeginTracking() Records the initial standard pose."); DEBUG(sb);
m_InitialBody = new Body();
m_InitialBody.UpdateData(m_Body);
}
@@ -485,7 +485,7 @@ namespace VIVE.OpenXR.Toolkits.BodyTracking
public void StopTracking()
{
updateTrackingData = false;
sb.Clear().Append("StopTracking() Recovers the initial standard pose, body position and scale."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("StopTracking() Recovers the initial standard pose, body position and scale."); DEBUG(sb);
if (m_Body != null && m_InitialBody != null) { m_InitialBody.UpdateBody(ref m_Body); }
RecoverBodyScale();
RecoverBodyOffset();
@@ -518,36 +518,36 @@ namespace VIVE.OpenXR.Toolkits.BodyTracking
{
if (BodyManager.Instance == null) { yield return null; }
sb.Clear().Append("StartFixUpdateBodyTracking()"); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("StartFixUpdateBodyTracking()"); DEBUG(sb);
yield return new WaitForSeconds(3f);
BodyTrackingResult result;
if (m_ContentCalibration)
{
result = BodyManager.Instance.SetStandardPose((BodyTrackingMode)m_Tracking);
sb.Clear().Append("StartFixUpdateBodyTracking() SetStandardPose result ").Append(result.Name()); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("StartFixUpdateBodyTracking() SetStandardPose result ").Append(result.Name()); DEBUG(sb);
if (result != BodyTrackingResult.SUCCESS) { yield break; }
}
if (!m_CustomizeExtrinsics)
{
sb.Clear().Append("StartFixUpdateBodyTracking() CreateBodyTracking with custom avatar + standard extrinsics."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("StartFixUpdateBodyTracking() CreateBodyTracking with custom avatar + standard extrinsics."); DEBUG(sb);
result = BodyManager.Instance.CreateBodyTracking(ref m_AvatarID, m_Body, (BodyTrackingMode)m_Tracking);
}
else
{
sb.Clear().Append("StartFixUpdateBodyTracking() CreateBodyTracking with custom avatar + custom extrinsics."); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("StartFixUpdateBodyTracking() CreateBodyTracking with custom avatar + custom extrinsics."); DEBUG(sb);
result = BodyManager.Instance.CreateBodyTracking(ref m_AvatarID, m_Body, m_CustomExts, (BodyTrackingMode)m_Tracking);
}
sb.Clear().Append("StartFixUpdateBodyTracking() CreateBodyTracking result ").Append(result.Name()).Append(", id: ").Append(m_AvatarID); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("StartFixUpdateBodyTracking() CreateBodyTracking result ").Append(result.Name()).Append(", id: ").Append(m_AvatarID); DEBUG(sb);
if (result != BodyTrackingResult.SUCCESS) { yield break; }
result = BodyManager.Instance.GetBodyTrackingInfo(m_AvatarID, out float avatarHeight, out float avatarScale);
sb.Clear().Append("StartFixUpdateBodyTracking() GetBodyTrackingInfo result ").Append(result.Name()); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("StartFixUpdateBodyTracking() GetBodyTrackingInfo result ").Append(result.Name()); DEBUG(sb);
if (result != BodyTrackingResult.SUCCESS) { yield break; }
// Due to the pose from GetBodyTrackingPoseOnce is "scaled pose", we need to change the avatar mesh size first.
sb.Clear().Append("StartFixUpdateBodyTracking() Apply avatar scale with ").Append(avatarScale); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("StartFixUpdateBodyTracking() Apply avatar scale with ").Append(avatarScale); DEBUG(sb);
ApplyBodyScale(avatarScale * m_AvatarScale);
while (updateTrackingData)
@@ -563,7 +563,7 @@ namespace VIVE.OpenXR.Toolkits.BodyTracking
}
result = BodyManager.Instance.DestroyBodyTracking(m_AvatarID);
sb.Clear().Append("StartFixUpdateBodyTracking() DestroyBodyTracking result ").Append(result.Name()).Append(", id: ").Append(m_AvatarID); DEBUG(sb);
sb.Clear().Append(LOG_TAG).Append("StartFixUpdateBodyTracking() DestroyBodyTracking result ").Append(result.Name()).Append(", id: ").Append(m_AvatarID); DEBUG(sb);
yield return null;
}
@@ -577,7 +577,7 @@ namespace VIVE.OpenXR.Toolkits.BodyTracking
if (m_Body == null || avatarBody == null) { return; }
if (printIntervalLog)
{
sb.Clear().Append("UpdateBodyPosesInOrder() new avatar height ").Append(avatarBody.height)
sb.Clear().Append(LOG_TAG).Append("UpdateBodyPosesInOrder() new avatar height ").Append(avatarBody.height)
.Append(", original avatar height ").Append(m_InitialBody.height)
.Append(", scale: ").Append(avatarBody.scale);
DEBUG(sb);

View File

@@ -2913,7 +2913,7 @@
{
"name": "",
"id": "0f50c9ba-a618-4fdc-b522-d1c01bbd0c31",
"path": "<ViveXRTracker>{Tracker 0}/devicePose",
"path": "<ViveXRTracker>{Ultimate Tracker 0}/devicePose",
"interactions": "",
"processors": "",
"groups": "",
@@ -2924,18 +2924,7 @@
{
"name": "",
"id": "67becf2b-1f5a-402c-a75a-cc59352742cc",
"path": "<ViveXRTracker>{Tracker 0}/isTracked",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerIsTracked",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "2b232246-e1b8-4997-b966-ac5332d43827",
"path": "<ViveXRTracker>{Waist}/isTracked",
"path": "<ViveXRTracker>{Ultimate Tracker 0}/isTracked",
"interactions": "",
"processors": "",
"groups": "",
@@ -2946,18 +2935,7 @@
{
"name": "",
"id": "e83761d0-5c4d-402f-81e3-ef82a95370bc",
"path": "<ViveXRTracker>{Tracker 0}/trackingState",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerTrackingState",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "198fe503-d901-4373-92c7-3c5e125d2a96",
"path": "<ViveXRTracker>{Waist}/trackingState",
"path": "<ViveXRTracker>{Ultimate Tracker 0}/trackingState",
"interactions": "",
"processors": "",
"groups": "",
@@ -2968,18 +2946,7 @@
{
"name": "",
"id": "05e3670d-0c49-4d78-84c5-9dafefaa7c73",
"path": "<ViveXRTracker>{Tracker 0}/devicePosition",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerPosition",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "7e527edb-8dc9-498d-8e94-0779ff25b1ca",
"path": "<ViveXRTracker>{Waist}/devicePosition",
"path": "<ViveXRTracker>{Ultimate Tracker 0}/devicePosition",
"interactions": "",
"processors": "",
"groups": "",
@@ -2990,18 +2957,7 @@
{
"name": "",
"id": "3368f3fd-9e24-4ff0-81e6-50827a733cd0",
"path": "<ViveXRTracker>{Tracker 0}/deviceRotation",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerRotation",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "372d3e78-99ad-4bda-8dd1-dea317048ad6",
"path": "<ViveXRTracker>{Waist}/deviceRotation",
"path": "<ViveXRTracker>{Ultimate Tracker 0}/deviceRotation",
"interactions": "",
"processors": "",
"groups": "",
@@ -3065,7 +3021,7 @@
{
"name": "",
"id": "39ea908b-c94a-4c28-8dd4-8e7cc27eecef",
"path": "<ViveXRTracker>{Tracker 1}/devicePose",
"path": "<ViveXRTracker>{Ultimate Tracker 1}/devicePose",
"interactions": "",
"processors": "",
"groups": "",
@@ -3076,18 +3032,7 @@
{
"name": "",
"id": "55e50e02-1e66-41f3-af19-88bba887ffe1",
"path": "<ViveXRTracker>{Tracker 1}/isTracked",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerIsTracked",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "108c54bf-df99-410a-9f68-db64bb407f4f",
"path": "<ViveXRTracker>{Left Wrist}/isTracked",
"path": "<ViveXRTracker>{Ultimate Tracker 1}/isTracked",
"interactions": "",
"processors": "",
"groups": "",
@@ -3098,18 +3043,7 @@
{
"name": "",
"id": "a6c559f6-3a9d-4c94-bd87-edc3b496fd4a",
"path": "<ViveXRTracker>{Tracker 1}/trackingState",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerTrackingState",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "26996720-eaa0-49ae-aae3-7b8ef9461bcb",
"path": "<ViveXRTracker>{Left Wrist}/trackingState",
"path": "<ViveXRTracker>{Ultimate Tracker 1}/trackingState",
"interactions": "",
"processors": "",
"groups": "",
@@ -3120,18 +3054,7 @@
{
"name": "",
"id": "f78b6b65-0000-4a1f-af7c-77b8994c4889",
"path": "<ViveXRTracker>{Tracker 1}/devicePosition",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerPosition",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "80fe7f0a-aa93-4c99-85a3-3722a7ae3b83",
"path": "<ViveXRTracker>{Left Wrist}/devicePosition",
"path": "<ViveXRTracker>{Ultimate Tracker 1}/devicePosition",
"interactions": "",
"processors": "",
"groups": "",
@@ -3142,18 +3065,7 @@
{
"name": "",
"id": "d8831e2d-298d-45d9-b83b-95326d8b81ae",
"path": "<ViveXRTracker>{Tracker 1}/deviceRotation",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerRotation",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "d1d218e4-f1c2-4de0-861d-c3d8e9967f10",
"path": "<ViveXRTracker>{Left Wrist}/deviceRotation",
"path": "<ViveXRTracker>{Ultimate Tracker 1}/deviceRotation",
"interactions": "",
"processors": "",
"groups": "",
@@ -3217,7 +3129,7 @@
{
"name": "",
"id": "58c0769d-c0fb-4ca0-9083-b72092b4330b",
"path": "<ViveXRTracker>{Tracker 2}/devicePose",
"path": "<ViveXRTracker>{Ultimate Tracker 2}/devicePose",
"interactions": "",
"processors": "",
"groups": "",
@@ -3228,18 +3140,7 @@
{
"name": "",
"id": "b7c3b872-6aab-4a17-a47d-00f8a6342ea2",
"path": "<ViveXRTracker>{Tracker 2}/isTracked",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerIsTracked",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "e08d5ff0-3d73-48cf-aab6-c5f042e28544",
"path": "<ViveXRTracker>{Right Wrist}/isTracked",
"path": "<ViveXRTracker>{Ultimate Tracker 2}/isTracked",
"interactions": "",
"processors": "",
"groups": "",
@@ -3250,18 +3151,7 @@
{
"name": "",
"id": "2cf01c6a-01ad-4c36-95be-7a094250b958",
"path": "<ViveXRTracker>{Tracker 2}/trackingState",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerTrackingState",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "bad0b111-c575-433f-bdb2-726b72dcd0a6",
"path": "<ViveXRTracker>{Right Wrist}/trackingState",
"path": "<ViveXRTracker>{Ultimate Tracker 2}/trackingState",
"interactions": "",
"processors": "",
"groups": "",
@@ -3272,18 +3162,7 @@
{
"name": "",
"id": "6a7ab0ce-76b8-4788-86e7-72d5979c2f46",
"path": "<ViveXRTracker>{Tracker 2}/devicePosition",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerPosition",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "199bde55-e74f-4125-9f05-27b64b02fac8",
"path": "<ViveXRTracker>{Right Wrist}/devicePosition",
"path": "<ViveXRTracker>{Ultimate Tracker 2}/devicePosition",
"interactions": "",
"processors": "",
"groups": "",
@@ -3294,18 +3173,7 @@
{
"name": "",
"id": "0294379a-3671-48d9-aed8-0a85bd83ff0a",
"path": "<ViveXRTracker>{Tracker 2}/deviceRotation",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerRotation",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "ed4d0bab-fb6f-4bbf-9f82-c9db5432eaf5",
"path": "<ViveXRTracker>{Right Wrist}/deviceRotation",
"path": "<ViveXRTracker>{Ultimate Tracker 2}/deviceRotation",
"interactions": "",
"processors": "",
"groups": "",
@@ -3369,7 +3237,7 @@
{
"name": "",
"id": "00370ac3-a248-496c-952c-6b9f579bc489",
"path": "<ViveXRTracker>{Tracker 3}/devicePose",
"path": "<ViveXRTracker>{Ultimate Tracker 3}/devicePose",
"interactions": "",
"processors": "",
"groups": "",
@@ -3380,18 +3248,7 @@
{
"name": "",
"id": "94c99d30-8f5d-433d-aaf6-a91a9842843e",
"path": "<ViveXRTracker>{Tracker 3}/isTracked",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerIsTracked",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "f6b86ba5-ce0c-48fd-80ae-a303922a41fe",
"path": "<ViveXRTracker>{Left Ankle}/isTracked",
"path": "<ViveXRTracker>{Ultimate Tracker 3}/isTracked",
"interactions": "",
"processors": "",
"groups": "",
@@ -3402,18 +3259,7 @@
{
"name": "",
"id": "6b6423e3-7fb8-4818-b860-8a582f9d9bc7",
"path": "<ViveXRTracker>{Tracker 3}/trackingState",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerTrackingState",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "eaf2677b-df67-4683-91a2-1d17697633f0",
"path": "<ViveXRTracker>{Left Ankle}/trackingState",
"path": "<ViveXRTracker>{Ultimate Tracker 3}/trackingState",
"interactions": "",
"processors": "",
"groups": "",
@@ -3424,18 +3270,7 @@
{
"name": "",
"id": "96719b23-34cf-44f3-9e99-9168e34ae34b",
"path": "<ViveXRTracker>{Tracker 3}/devicePosition",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerPosition",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "aa50f776-a836-4cf2-bcb4-bf296aeab86b",
"path": "<ViveXRTracker>{Left Ankle}/devicePosition",
"path": "<ViveXRTracker>{Ultimate Tracker 3}/devicePosition",
"interactions": "",
"processors": "",
"groups": "",
@@ -3446,18 +3281,7 @@
{
"name": "",
"id": "74dcb8d9-1fec-4d6a-be76-0e229a4d88a9",
"path": "<ViveXRTracker>{Tracker 3}/deviceRotation",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerRotation",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "0c7a94f3-a057-4df3-bf01-f42255f9dcd1",
"path": "<ViveXRTracker>{Left Ankle}/deviceRotation",
"path": "<ViveXRTracker>{Ultimate Tracker 3}/deviceRotation",
"interactions": "",
"processors": "",
"groups": "",
@@ -3521,7 +3345,7 @@
{
"name": "",
"id": "15a15762-4360-4196-bf18-a8cfb14d890d",
"path": "<ViveXRTracker>{Tracker 4}/devicePose",
"path": "<ViveXRTracker>{Ultimate Tracker 4}/devicePose",
"interactions": "",
"processors": "",
"groups": "",
@@ -3532,18 +3356,7 @@
{
"name": "",
"id": "1724a28e-3cd4-4f59-80f6-aee9363bea78",
"path": "<ViveXRTracker>{Tracker 4}/isTracked",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerIsTracked",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "b29e8363-237f-4fc9-a9e0-99a35aadbd22",
"path": "<ViveXRTracker>{Right Ankle}/isTracked",
"path": "<ViveXRTracker>{Ultimate Tracker 4}/isTracked",
"interactions": "",
"processors": "",
"groups": "",
@@ -3554,18 +3367,7 @@
{
"name": "",
"id": "f95ec1dc-96c2-4b48-8764-ec20c0b22dde",
"path": "<ViveXRTracker>{Tracker 4}/trackingState",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerTrackingState",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "2c33229b-8c55-4580-8f4d-322ae8bbb158",
"path": "<ViveXRTracker>{Right Ankle}/trackingState",
"path": "<ViveXRTracker>{Ultimate Tracker 4}/trackingState",
"interactions": "",
"processors": "",
"groups": "",
@@ -3576,18 +3378,7 @@
{
"name": "",
"id": "9f2e30c1-8e40-4d6c-b842-a70f5434249c",
"path": "<ViveXRTracker>{Tracker 4}/devicePosition",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerPosition",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "133fc9cf-fecc-4c33-90b7-076a0238c88f",
"path": "<ViveXRTracker>{Right Ankle}/devicePosition",
"path": "<ViveXRTracker>{Ultimate Tracker 4}/devicePosition",
"interactions": "",
"processors": "",
"groups": "",
@@ -3598,18 +3389,7 @@
{
"name": "",
"id": "69510ec4-ffd2-42bf-955c-32859c2ff083",
"path": "<ViveXRTracker>{Tracker 4}/deviceRotation",
"interactions": "",
"processors": "",
"groups": "",
"action": "TrackerRotation",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "035621c7-7291-4ac3-a96c-f3e6026b7cdd",
"path": "<ViveXRTracker>{Right Ankle}/deviceRotation",
"path": "<ViveXRTracker>{Ultimate Tracker 4}/deviceRotation",
"interactions": "",
"processors": "",
"groups": "",