version 2.5.0

This commit is contained in:
Sean Lu
2024-12-06 15:44:37 +08:00
parent dfdcd0fd7f
commit 2bfa2ad4c7
966 changed files with 238216 additions and 77239 deletions

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: Green
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
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: 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: 0.719
- _GlossyReflections: 1
- _Metallic: 0.37
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.022671178, g: 0.6509434, b: 0, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 2da33923e42511f4180d426efa7c2915
guid: c3e5038ce5fef58408379db870edab7c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 16ef4499b3cb6b645b262cd98234bad1
guid: 61ee4d8f1d5153248867a00cf8eda2f0
DefaultImporter:
externalObjects: {}
userData:

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 4e5bee8db40a5a941a38710195e3219e
guid: 1f6dd7de299094e418729d217e74b3a7
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: ba676113e4d2dfc4095675f6fb934d9e
guid: ed364427093dd6f4e8918a4c893d52c2
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@@ -0,0 +1,21 @@
fileFormatVersion: 2
guid: cc25d6ba2db45974fb94609b8773fd0d
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Noto Sans TC
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,8 +1,8 @@
fileFormatVersion: 2
guid: a343ad8228ed4924eab4fc954f5620bc
guid: b8d7ff1ce468ad54e95b30ad0114eca9
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9000000
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,93 @@
Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

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

View File

@@ -0,0 +1,71 @@
Noto Sans TC Variable Font
==========================
This download contains Noto Sans TC as both a variable font and static fonts.
Noto Sans TC is a variable font with this axis:
wght
This means all the styles are contained in a single file:
NotoSansTC-VariableFont_wght.ttf
If your app fully supports variable fonts, you can now pick intermediate styles
that arent available as static fonts. Not all apps support variable fonts, and
in those cases you can use the static font files for Noto Sans TC:
static/NotoSansTC-Thin.ttf
static/NotoSansTC-ExtraLight.ttf
static/NotoSansTC-Light.ttf
static/NotoSansTC-Regular.ttf
static/NotoSansTC-Medium.ttf
static/NotoSansTC-SemiBold.ttf
static/NotoSansTC-Bold.ttf
static/NotoSansTC-ExtraBold.ttf
static/NotoSansTC-Black.ttf
Get started
-----------
1. Install the font files you want to use
2. Use your app's font picker to view the font family and all the
available styles
Learn more about variable fonts
-------------------------------
https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
https://variablefonts.typenetwork.com
https://medium.com/variable-fonts
In desktop apps
https://theblog.adobe.com/can-variable-fonts-illustrator-cc
https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
Online
https://developers.google.com/fonts/docs/getting_started
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
Installing fonts
MacOS: https://support.apple.com/en-us/HT201749
Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
Android Apps
https://developers.google.com/fonts/docs/android
https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
License
-------
Please read the full license text (OFL.txt) to understand the permissions,
restrictions and requirements for usage, redistribution, and modification.
You can use them in your products & projects print or digital,
commercial or otherwise.
This isn't legal advice, please consider consulting a lawyer and see the full
license for all details.

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: dfb922b245e2135479a86b998c233689
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,300 @@
// Copyright HTC Corporation All Rights Reserved.
using System;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.XR;
namespace VIVE.OpenXR.Samples
{
public static class CommonHelper
{
public enum ActionRefError : UInt32
{
NONE = 0,
REFERENCE_NULL = 1,
ACTION_NULL = 2,
DISABLED = 3,
ACTIVECONTROL_NULL = 4,
NO_CONTROLS_COUNT = 5,
}
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"; }
return "";
}
private static ActionRefError VALIDATE(InputActionReference actionReference)
{
if (actionReference == null) { return ActionRefError.REFERENCE_NULL; }
if (actionReference.action == null) { return ActionRefError.ACTION_NULL; }
if (!actionReference.action.enabled) { return ActionRefError.DISABLED; }
if (actionReference.action.activeControl == null) { return ActionRefError.ACTIVECONTROL_NULL; }
else if (actionReference.action.controls.Count <= 0) { return ActionRefError.NO_CONTROLS_COUNT; }
return ActionRefError.NONE;
}
public static bool GetButton(InputActionReference actionReference, out bool value, out string msg)
{
var result = VALIDATE(actionReference);
value = false;
msg = result.Name();
if (result == ActionRefError.NONE)
{
if (actionReference.action.activeControl.valueType == typeof(float))
value = actionReference.action.ReadValue<float>() > 0;
if (actionReference.action.activeControl.valueType == typeof(bool))
value = actionReference.action.ReadValue<bool>();
return true;
}
else if (result == ActionRefError.ACTIVECONTROL_NULL)
{
value = false;
return true;
}
return false;
}
public static bool GetAnalog(InputActionReference actionReference, out float value, out string msg)
{
var result = VALIDATE(actionReference);
value = 0;
msg = result.Name();
if (result == ActionRefError.NONE)
{
if (actionReference.action.activeControl.valueType == typeof(float))
value = actionReference.action.ReadValue<float>();
return true;
}
else if (result == ActionRefError.ACTIVECONTROL_NULL)
{
value = 0;
return true;
}
return false;
}
public static bool GetInteger(InputActionReference actionReference, out InputTrackingState value, out string msg)
{
var result = VALIDATE(actionReference);
value = 0;
msg = result.Name();
if (result == ActionRefError.NONE)
{
if (actionReference.action.activeControl.valueType == typeof(int))
{
int diff = 0;
int i = actionReference.action.ReadValue<int>();
diff = i & ((int)InputTrackingState.Position);
if (diff != 0) { value |= InputTrackingState.Position; }
diff = i & ((int)InputTrackingState.Rotation);
if (diff != 0) { value |= InputTrackingState.Rotation; }
diff = i & ((int)InputTrackingState.Velocity);
if (diff != 0) { value |= InputTrackingState.Velocity; }
diff = i & ((int)InputTrackingState.AngularVelocity);
if (diff != 0) { value |= InputTrackingState.AngularVelocity; }
diff = i & ((int)InputTrackingState.Acceleration);
if (diff != 0) { value |= InputTrackingState.Acceleration; }
diff = i & ((int)InputTrackingState.AngularAcceleration);
if (diff != 0) { value |= InputTrackingState.AngularAcceleration; }
}
return true;
}
return false;
}
public static bool GetVector2(InputActionReference actionReference, out Vector2 value, out string msg)
{
var result = VALIDATE(actionReference);
value = Vector2.zero;
msg = result.Name();
if (result == ActionRefError.NONE)
{
if (actionReference.action.activeControl.valueType == typeof(Vector2))
value = actionReference.action.ReadValue<Vector2>();
return true;
}
return false;
}
public static bool GetVector3(InputActionReference actionReference, out Vector3 value, out string msg)
{
var result = VALIDATE(actionReference);
value = Vector3.zero;
msg = result.Name();
if (result == ActionRefError.NONE)
{
if (actionReference.action.activeControl.valueType == typeof(Vector3))
value = actionReference.action.ReadValue<Vector3>();
return true;
}
return false;
}
public static bool GetQuaternion(InputActionReference actionReference, out Quaternion value, out string msg)
{
var result = VALIDATE(actionReference);
value = Quaternion.identity;
msg = result.Name();
if (result == ActionRefError.NONE)
{
if (actionReference.action.activeControl.valueType == typeof(Quaternion))
value = actionReference.action.ReadValue<Quaternion>();
Vector3 direction = value * Vector3.forward;
return true;
}
return false;
}
public static bool GetPoseIsTracked(InputActionReference actionReference, out bool value, out string msg)
{
var result = VALIDATE(actionReference);
value = false;
msg = result.Name();
if (result == ActionRefError.NONE)
{
#if USE_INPUT_SYSTEM_POSE_CONTROL // Scripting Define Symbol added by using OpenXR Plugin 1.6.0.
if (actionReference.action.activeControl.valueType == typeof(UnityEngine.InputSystem.XR.PoseState))
#else
if (actionReference.action.activeControl.valueType == typeof(UnityEngine.XR.OpenXR.Input.Pose))
#endif
{
#if USE_INPUT_SYSTEM_POSE_CONTROL // Scripting Define Symbol added by using OpenXR Plugin 1.6.0.
value = actionReference.action.ReadValue<UnityEngine.InputSystem.XR.PoseState>().isTracked;
#else
value = actionReference.action.ReadValue<UnityEngine.XR.OpenXR.Input.Pose>().isTracked;
#endif
return true;
}
}
return false;
}
public static bool GetPoseTrackingState(InputActionReference actionReference, out InputTrackingState value, out string msg)
{
var result = VALIDATE(actionReference);
value = InputTrackingState.None;
msg = result.Name();
if (result == ActionRefError.NONE)
{
#if USE_INPUT_SYSTEM_POSE_CONTROL // Scripting Define Symbol added by using OpenXR Plugin 1.6.0.
if (actionReference.action.activeControl.valueType == typeof(UnityEngine.InputSystem.XR.PoseState))
#else
if (actionReference.action.activeControl.valueType == typeof(UnityEngine.XR.OpenXR.Input.Pose))
#endif
{
#if USE_INPUT_SYSTEM_POSE_CONTROL // Scripting Define Symbol added by using OpenXR Plugin 1.6.0.
value = actionReference.action.ReadValue<UnityEngine.InputSystem.XR.PoseState>().trackingState;
#else
value = actionReference.action.ReadValue<UnityEngine.XR.OpenXR.Input.Pose>().trackingState;
#endif
return true;
}
}
return false;
}
public static bool GetPosePosition(InputActionReference actionReference, out Vector3 value, out string msg)
{
var result = VALIDATE(actionReference);
value = Vector3.zero;
msg = result.Name();
if (result == ActionRefError.NONE)
{
#if USE_INPUT_SYSTEM_POSE_CONTROL // Scripting Define Symbol added by using OpenXR Plugin 1.6.0.
if (actionReference.action.activeControl.valueType == typeof(UnityEngine.InputSystem.XR.PoseState))
#else
if (actionReference.action.activeControl.valueType == typeof(UnityEngine.XR.OpenXR.Input.Pose))
#endif
{
#if USE_INPUT_SYSTEM_POSE_CONTROL // Scripting Define Symbol added by using OpenXR Plugin 1.6.0.
value = actionReference.action.ReadValue<UnityEngine.InputSystem.XR.PoseState>().position;
#else
value = actionReference.action.ReadValue<UnityEngine.XR.OpenXR.Input.Pose>().position;
#endif
return true;
}
}
return false;
}
public static bool GetPoseRotation(InputActionReference actionReference, out Quaternion value, out string msg)
{
var result = VALIDATE(actionReference);
value = Quaternion.identity;
msg = result.Name();
if (result == ActionRefError.NONE)
{
#if USE_INPUT_SYSTEM_POSE_CONTROL // Scripting Define Symbol added by using OpenXR Plugin 1.6.0.
if (actionReference.action.activeControl.valueType == typeof(UnityEngine.InputSystem.XR.PoseState))
#else
if (actionReference.action.activeControl.valueType == typeof(UnityEngine.XR.OpenXR.Input.Pose))
#endif
{
#if USE_INPUT_SYSTEM_POSE_CONTROL // Scripting Define Symbol added by using OpenXR Plugin 1.6.0.
value = actionReference.action.ReadValue<UnityEngine.InputSystem.XR.PoseState>().rotation;
#else
value = actionReference.action.ReadValue<UnityEngine.XR.OpenXR.Input.Pose>().rotation;
#endif
return true;
}
}
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;
}
}
}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 484659e19359fb740ac4a253c3fa83c6
guid: 26218dbf1f127ea49912ae4f395e4578
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@@ -0,0 +1,127 @@
// Copyright HTC Corporation All Rights Reserved.
using System.Text;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.XR;
namespace VIVE.OpenXR.Samples
{
public class CommonPose : MonoBehaviour
{
#region LOG
const string LOG_TAG = "VIVE.OpenXR.Samples.CommonPose";
StringBuilder m_sb = null;
StringBuilder sb {
get {
if (m_sb == null) { m_sb = new StringBuilder(); }
return m_sb;
}
}
void DEBUG(StringBuilder msg) { Debug.LogFormat("{0} {1} {2}", LOG_TAG, PoseName, msg); }
void INTERVAL(StringBuilder msg) { if (printIntervalLog) { DEBUG(msg); } }
int printFrame = 0;
bool printIntervalLog = false;
void ERROR(StringBuilder msg)
{
if (!Application.isEditor)
Debug.LogErrorFormat("{0} {1} {2}", LOG_TAG, PoseName, msg);
}
#endregion
#region Inspector
public string PoseName = "";
public GameObject VisibleElements = null;
[SerializeField]
private InputActionReference m_DevicePose = null;
public InputActionReference DevicePose { get { return m_DevicePose; } set { m_DevicePose = value; } }
#endregion
private void Update()
{
if (m_DevicePose == null) { return; }
printFrame++;
printFrame %= 300;
printIntervalLog = (printFrame == 0);
if (CommonHelper.GetPoseIsTracked(m_DevicePose, out bool isTracked, out string msg))
{
if (isTracked)
{
if (VisibleElements != null && !VisibleElements.activeSelf) { VisibleElements.SetActive(true); }
if (CommonHelper.GetPoseTrackingState(m_DevicePose, out InputTrackingState trackingState, out msg))
{
if (trackingState.HasFlag(InputTrackingState.Rotation))
{
if (CommonHelper.GetPoseRotation(m_DevicePose, out Quaternion rotation, out msg))
{
transform.localRotation = rotation;
}
else
{
if (printIntervalLog)
{
sb.Clear().Append("Update() rotation: ").Append(msg);
ERROR(sb);
}
}
}
if (trackingState.HasFlag(InputTrackingState.Position))
{
if (CommonHelper.GetPosePosition(m_DevicePose, out Vector3 position, out msg))
{
transform.localPosition = position;
}
else
{
if (printIntervalLog)
{
sb.Clear().Append("Update() position: ").Append(msg);
ERROR(sb);
}
}
}
if (printIntervalLog)
{
sb.Clear().Append("Update() trackingState: ").Append(trackingState);
ERROR(sb);
}
}
else
{
if (printIntervalLog)
{
sb.Clear().Append("Update() trackingState: ").Append(msg);
ERROR(sb);
}
}
}
else
{
if (VisibleElements != null && VisibleElements.activeSelf) { VisibleElements.SetActive(false); }
if (printIntervalLog)
{
sb.Clear().Append("Update() isTracked: ").Append(isTracked);
ERROR(sb);
}
}
}
else
{
if (VisibleElements != null && VisibleElements.activeSelf) { VisibleElements.SetActive(false); }
if (printIntervalLog)
{
sb.Clear().Append("Update() isTracked: ").Append(msg);
ERROR(sb);
}
}
}
}
}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 6acba111d20a438439e5d1152010efa5
guid: d767f31532f3830418d2a90282fb22c1
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@@ -0,0 +1,98 @@
// Copyright HTC Corporation All Rights Reserved.
using UnityEngine;
using UnityEngine.InputSystem;
namespace VIVE.OpenXR.Samples
{
public class Focus3ModelAction : MonoBehaviour
{
#region Inspector
public bool isLeft = false;
public InputActionAsset actionAsset = null;
public InputActionReference trigger = null;
public InputActionReference grip = null;
public InputActionReference thumbstick = null;
public InputActionReference primaryClick = null;
public InputActionReference secondaryClick = null;
#endregion
private GameObject m_TriggerButton = null;
private GameObject m_GripButton = null;
private Vector3 gripButtonPos = Vector3.zero;
private GameObject m_ThumbstickButton = null;
private GameObject m_PrimaryButton = null;
private Vector3 primaryButtonPos = Vector3.zero;
private GameObject m_SecondaryButton = null;
private Vector3 secondaryButtonPos = Vector3.zero;
private void OnEnable()
{
if (actionAsset != null && !actionAsset.enabled) { actionAsset.Enable(); }
}
void Start()
{
m_TriggerButton = transform.GetChild(0).gameObject;
m_GripButton = transform.GetChild(1).gameObject;
if (m_GripButton != null) { gripButtonPos = m_GripButton.transform.localPosition; }
m_ThumbstickButton = transform.GetChild(2).gameObject;
m_PrimaryButton = transform.GetChild(3).gameObject;
if (m_PrimaryButton != null) { primaryButtonPos = m_PrimaryButton.transform.localPosition; }
m_SecondaryButton = transform.GetChild(4).gameObject;
if (m_SecondaryButton != null) { secondaryButtonPos = m_SecondaryButton.transform.localPosition; }
}
void Update()
{
OnTrigger();
OnGrip();
OnThumbstick();
OnPrimaryClick();
OnSecondaryClick();
}
void OnTrigger()
{
if (CommonHelper.GetAnalog(trigger, out float value, out string msg))
{
m_TriggerButton.transform.localRotation = Quaternion.Euler(value * -15f, 0, 0);
}
}
void OnGrip()
{
if (CommonHelper.GetAnalog(grip, out float value, out string msg))
{
if (isLeft)
m_GripButton.transform.localPosition = gripButtonPos + Vector3.right * value * 0.002f;
else
m_GripButton.transform.localPosition = gripButtonPos + Vector3.left * value * 0.002f;
}
}
void OnThumbstick()
{
if (CommonHelper.GetVector2(thumbstick, out Vector2 value, out string msg))
{
m_ThumbstickButton.transform.localRotation = Quaternion.Euler(value.y * -25f, 0, value.x * 25f);
}
}
void OnPrimaryClick()
{
if (CommonHelper.GetAnalog(primaryClick, out float value, out string msg))
{
m_PrimaryButton.transform.localPosition = primaryButtonPos + Vector3.down * (value > 0.5f ? 0.00125f : 0);
}
}
void OnSecondaryClick()
{
if (CommonHelper.GetAnalog(secondaryClick, out float value, out string msg))
{
m_SecondaryButton.transform.localPosition = secondaryButtonPos + Vector3.down * (value > 0.5f ? 0.00125f : 0);
}
}
}
}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 000d651e01f57294aa8d9d71e2b045d3
guid: bbf18798cdf9d414ebcb9eced9f86a96
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@@ -9,19 +9,28 @@ namespace VIVE.OpenXR.Samples
{
public class HideObjectWhenUntracked : MonoBehaviour
{
const string LOG_TAG = "VIVE.OpenXR.Samples.HideObjectWhenUntracked ";
#region Log
const string LOG_TAG = "VIVE.OpenXR.Samples.HideObjectWhenUntracked";
StringBuilder m_sb = null;
StringBuilder sb {
get {
StringBuilder sb
{
get
{
if (m_sb == null) { m_sb = new StringBuilder(); }
return m_sb;
}
}
void DEBUG(StringBuilder msg) { Debug.Log(msg); }
void DEBUG(StringBuilder msg) { Debug.LogFormat("{0} {1}", LOG_TAG, msg); }
int printFrame = 0;
protected bool printIntervalLog = false;
#endregion
#region Inspector
public bool IsLeft = false;
private string hand {
get {
private string hand
{
get
{
return (IsLeft ? " Left " : " Right ");
}
}
@@ -37,13 +46,8 @@ namespace VIVE.OpenXR.Samples
[SerializeField]
private GameObject m_ObjectToHide = null;
public GameObject ObjectToHide { get { return m_ObjectToHide; } set { m_ObjectToHide = value; } }
#endregion
int printFrame = 0;
protected bool printIntervalLog = false;
bool isActive = false;
int trackingState = 0;
bool positionTracked = false, rotationTracked = false;
private void Update()
{
printFrame++;
@@ -53,6 +57,10 @@ namespace VIVE.OpenXR.Samples
if (m_ObjectToHide == null) { return; }
string errMsg = "";
bool isActive = false;
int trackingState = 0;
bool positionTracked = false, rotationTracked = false;
if (OpenXRHelper.VALIDATE(m_IsActive, out errMsg))
{
if (m_IsActive.action.activeControl.valueType == typeof(float))
@@ -62,10 +70,13 @@ namespace VIVE.OpenXR.Samples
}
else
{
isActive = false;
if (printIntervalLog)
{
sb.Clear().Append(LOG_TAG).Append(hand).Append("Update() ").Append(m_IsActive.action.name).Append(", ").Append(errMsg);
sb.Clear().Append("Update() ")
.Append(hand).Append(", ")
.Append(m_ObjectToHide != null ? m_ObjectToHide.name : "").Append(", ")
.Append(m_IsActive.action.name).Append(", ")
.Append(errMsg);
DEBUG(sb);
}
}
@@ -75,17 +86,24 @@ namespace VIVE.OpenXR.Samples
}
else
{
trackingState = 0;
if (printIntervalLog)
{
sb.Clear().Append(LOG_TAG).Append(hand).Append("Update() ").Append(m_TrackingState.action.name).Append(", ").Append(errMsg);
sb.Clear().Append("Update() ")
.Append(hand).Append(", ")
.Append(m_ObjectToHide != null ? m_ObjectToHide.name : "").Append(", ")
.Append(m_TrackingState.action.name).Append(", ")
.Append(errMsg);
DEBUG(sb);
}
}
if (printIntervalLog)
{
sb.Clear().Append(LOG_TAG).Append(hand).Append("Update() isActive: ").Append(isActive).Append(", trackingState: ").Append(trackingState);
sb.Clear().Append("Update() ")
.Append(hand).Append(", ")
.Append(m_ObjectToHide != null ? m_ObjectToHide.name : "").Append(", ")
.Append("isActive: ").Append(isActive).Append(", ")
.Append("trackingState: ").Append(trackingState);
DEBUG(sb);
}

View File

@@ -11,19 +11,25 @@ namespace VIVE.OpenXR.Samples
{
public class HideObjectsWhenUntracked : MonoBehaviour
{
const string LOG_TAG = "VIVE.OpenXR.Samples.HideObjectsWhenUntracked ";
#region Log
const string LOG_TAG = "VIVE.OpenXR.Samples.HideObjectsWhenUntracked";
StringBuilder m_sb = null;
StringBuilder sb {
get {
StringBuilder sb
{
get
{
if (m_sb == null) { m_sb = new StringBuilder(); }
return m_sb;
}
}
void DEBUG(StringBuilder msg) { Debug.Log(msg); }
void DEBUG(StringBuilder msg) { Debug.LogFormat("{0} {1}", LOG_TAG, msg); }
int printFrame = 0;
protected bool printIntervalLog = false;
#endregion
[Serializable]
public class ObjectInfo
{
{
public uint DeviceIndex = 0;
public InputActionReference IsActive;
public InputActionReference TrackingState;
@@ -34,9 +40,6 @@ namespace VIVE.OpenXR.Samples
public List<ObjectInfo> m_ObjectInfos = new List<ObjectInfo>();
public List<ObjectInfo> ObjectInfos { get { return m_ObjectInfos; } set { m_ObjectInfos = value; } }
int printFrame = 0;
protected bool printIntervalLog = false;
private void Update()
{
printFrame++;
@@ -65,8 +68,11 @@ namespace VIVE.OpenXR.Samples
{
if (printIntervalLog)
{
sb.Clear().Append(LOG_TAG).Append(m_ObjectInfos[i].DeviceIndex)
.Append(" Update() ").Append(m_ObjectInfos[i].IsActive.action.name).Append(", ").Append(errMsg);
sb.Clear().Append("Update() ")
.Append(m_ObjectInfos[i].DeviceIndex).Append(", ")
.Append(m_ObjectInfos[i].ObjectToHide != null ? m_ObjectInfos[i].ObjectToHide.name : "").Append(", ")
.Append(m_ObjectInfos[i].IsActive.action.name).Append(", ")
.Append(errMsg);
DEBUG(sb);
}
}
@@ -80,16 +86,22 @@ namespace VIVE.OpenXR.Samples
{
if (printIntervalLog)
{
sb.Clear().Append(LOG_TAG).Append(m_ObjectInfos[i].DeviceIndex)
.Append(" Update() ").Append(m_ObjectInfos[i].TrackingState.action.name).Append(", ").Append(errMsg);
sb.Clear().Append("Update() ")
.Append(m_ObjectInfos[i].DeviceIndex).Append(", ")
.Append(m_ObjectInfos[i].ObjectToHide != null ? m_ObjectInfos[i].ObjectToHide.name : "").Append(", ")
.Append(m_ObjectInfos[i].TrackingState.action.name).Append(", ")
.Append(errMsg);
DEBUG(sb);
}
}
if (printIntervalLog)
{
sb.Clear().Append(LOG_TAG).Append(m_ObjectInfos[i].DeviceIndex)
.Append("Update() isActive: ").Append(isActive).Append(", trackingState: ").Append(trackingState);
sb.Clear().Append("Update() ")
.Append(m_ObjectInfos[i].DeviceIndex).Append(", ")
.Append(m_ObjectInfos[i].ObjectToHide != null ? m_ObjectInfos[i].ObjectToHide.name : "").Append(", ")
.Append("isActive: ").Append(isActive).Append(", ")
.Append("trackingState: ").Append(trackingState);
DEBUG(sb);
}

View File

@@ -1,7 +1,9 @@
using System.Collections;
using System.Collections.Generic;
// Copyright HTC Corporation All Rights Reserved.
using UnityEngine;
using UnityEngine.InputSystem;
[System.Obsolete("This script is deprecated. Please use Focus3ModelAction instead.")]
public class Controller_Reaction : MonoBehaviour
{
public string LorR = "L";

View File

@@ -0,0 +1,809 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1362118411382621196
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7620760859447201340}
- component: {fileID: 397305422008183763}
- component: {fileID: 3570814817491604299}
m_Layer: 0
m_Name: __CM__Thumbstick
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7620760859447201340
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1362118411382621196}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.00059, y: -0.021856, z: 0.033832}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1846845553162964630}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &397305422008183763
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1362118411382621196}
m_Mesh: {fileID: 6699701932830050619, guid: 69136eafdd9edc340af023c0a0e3e31f, type: 3}
--- !u!23 &3570814817491604299
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1362118411382621196}
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: 4d05692348e202a46ab4f273572e77b3, 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!1 &1363043202960561196
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1846845553162964630}
- component: {fileID: 425680634163075597}
m_Layer: 0
m_Name: Focus3AimL
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1846845553162964630
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1363043202960561196}
m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6955983755938899120}
- {fileID: 6064036895781211521}
- {fileID: 7620760859447201340}
- {fileID: 3639168988464743421}
- {fileID: 2627123516683206159}
- {fileID: 6428794570386715633}
- {fileID: 2281541083886668328}
- {fileID: 1602047084299584383}
- {fileID: 2480047339836651949}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
--- !u!114 &425680634163075597
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1363043202960561196}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bbf18798cdf9d414ebcb9eced9f86a96, type: 3}
m_Name:
m_EditorClassIdentifier:
isLeft: 1
actionAsset: {fileID: -944628639613478452, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
trigger: {fileID: 2526168894431210536, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
grip: {fileID: -1289947363739713011, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
thumbstick: {fileID: 7596212294181904713, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
primaryClick: {fileID: 5113088590926889233, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
secondaryClick: {fileID: -631344258065148156, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
--- !u!1 &2225146993692396130
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6955983755938899120}
- component: {fileID: 1108723530934473635}
- component: {fileID: 1805895983918100617}
m_Layer: 0
m_Name: __CM__TriggerKey
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6955983755938899120
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2225146993692396130}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.0016109999, y: -0.036925998, z: 0.012113}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1846845553162964630}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &1108723530934473635
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2225146993692396130}
m_Mesh: {fileID: -2870439426993565530, guid: 69136eafdd9edc340af023c0a0e3e31f, type: 3}
--- !u!23 &1805895983918100617
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2225146993692396130}
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: 4d05692348e202a46ab4f273572e77b3, 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!1 &2442401715662829761
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2627123516683206159}
- component: {fileID: 733589539306074072}
- component: {fileID: 6004902860171069609}
m_Layer: 0
m_Name: __CM__ButtonY
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2627123516683206159
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2442401715662829761}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.020758, y: -0.02237, z: 0.038489997}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1846845553162964630}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &733589539306074072
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2442401715662829761}
m_Mesh: {fileID: -3389035218075753420, guid: 69136eafdd9edc340af023c0a0e3e31f, type: 3}
--- !u!23 &6004902860171069609
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2442401715662829761}
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: 4d05692348e202a46ab4f273572e77b3, 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!1 &3489529599363878107
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6428794570386715633}
- component: {fileID: 486301409415237917}
- component: {fileID: 8764961351682654382}
m_Layer: 0
m_Name: __CM__AppButton
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6428794570386715633
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3489529599363878107}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.00185, y: -0.021932999, z: 0.050890002}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1846845553162964630}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &486301409415237917
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3489529599363878107}
m_Mesh: {fileID: -7724262373863937146, guid: 69136eafdd9edc340af023c0a0e3e31f, type: 3}
--- !u!23 &8764961351682654382
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3489529599363878107}
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: 4d05692348e202a46ab4f273572e77b3, 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!1 &4106297785453700852
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2480047339836651949}
- component: {fileID: 782670327990044658}
- component: {fileID: 373479601357654103}
m_Layer: 0
m_Name: __CM__Emitter
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2480047339836651949
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4106297785453700852}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.01, y: -0.026537735, z: 0.0057997853}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1846845553162964630}
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &782670327990044658
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4106297785453700852}
m_Mesh: {fileID: -4521666590143857035, guid: 69136eafdd9edc340af023c0a0e3e31f, type: 3}
--- !u!23 &373479601357654103
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4106297785453700852}
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: 4d05692348e202a46ab4f273572e77b3, 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!1 &5325550988971686617
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2281541083886668328}
- component: {fileID: 6363565785364456511}
- component: {fileID: 3480005035831149108}
m_Layer: 0
m_Name: __CM__Battery
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2281541083886668328
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5325550988971686617}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.031353053, y: -0.020905372, z: 0.025925392}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1846845553162964630}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &6363565785364456511
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5325550988971686617}
m_Mesh: {fileID: -3454782138029922092, guid: 69136eafdd9edc340af023c0a0e3e31f, type: 3}
--- !u!23 &3480005035831149108
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5325550988971686617}
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: b1b9921a3e91d704f8dd39cd74c1cbc4, 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!1 &5503154473939504838
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1602047084299584383}
- component: {fileID: 2525414136946662829}
- component: {fileID: 7962788650138194500}
m_Layer: 0
m_Name: __CM__Body
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1602047084299584383
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5503154473939504838}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.006947, y: -0.053136, z: 0.074193}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1846845553162964630}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &2525414136946662829
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5503154473939504838}
m_Mesh: {fileID: -5532471787532314371, guid: 69136eafdd9edc340af023c0a0e3e31f, type: 3}
--- !u!23 &7962788650138194500
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5503154473939504838}
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: 4d05692348e202a46ab4f273572e77b3, 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!1 &7169213095299438842
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3639168988464743421}
- component: {fileID: 1194145234174028477}
- component: {fileID: 7385798877202942274}
m_Layer: 0
m_Name: __CM__ButtonX
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3639168988464743421
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7169213095299438842}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.013948999, y: -0.022376, z: 0.049917996}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1846845553162964630}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &1194145234174028477
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7169213095299438842}
m_Mesh: {fileID: 1688988785635390117, guid: 69136eafdd9edc340af023c0a0e3e31f, type: 3}
--- !u!23 &7385798877202942274
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7169213095299438842}
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: 4d05692348e202a46ab4f273572e77b3, 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!1 &7426952056910403168
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6064036895781211521}
- component: {fileID: 361676306762468442}
- component: {fileID: 3771558006421876136}
m_Layer: 0
m_Name: __CM__Grip
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6064036895781211521
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7426952056910403168}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.01429, y: -0.042602, z: 0.071612}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1846845553162964630}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &361676306762468442
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7426952056910403168}
m_Mesh: {fileID: 4793660613219112997, guid: 69136eafdd9edc340af023c0a0e3e31f, type: 3}
--- !u!23 &3771558006421876136
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7426952056910403168}
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: 4d05692348e202a46ab4f273572e77b3, 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}

View File

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

View File

@@ -0,0 +1,809 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &305594621420577414
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8814777613978127444}
- component: {fileID: 1566696300067175239}
- component: {fileID: 275611293776697453}
m_Layer: 0
m_Name: __CM__TriggerKey
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8814777613978127444
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 305594621420577414}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.00161084, y: -0.036926173, z: 0.012112972}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 251550567255680626}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &1566696300067175239
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 305594621420577414}
m_Mesh: {fileID: -2870439426993565530, guid: 03544ef23cfc6b249a6c6e4f461f774c, type: 3}
--- !u!23 &275611293776697453
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 305594621420577414}
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: 4d05692348e202a46ab4f273572e77b3, 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!1 &591800334953938120
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 251550567255680626}
- component: {fileID: 8449616562934790998}
m_Layer: 0
m_Name: Focus3AimR
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &251550567255680626
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 591800334953938120}
m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 8814777613978127444}
- {fileID: 5691202731822130533}
- {fileID: 8295241796168345304}
- {fileID: 4428694667055999525}
- {fileID: 1226568620760064572}
- {fileID: 4901408063943231850}
- {fileID: 393315451420877516}
- {fileID: 929820164704955291}
- {fileID: 4086482560342217033}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
--- !u!114 &8449616562934790998
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 591800334953938120}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bbf18798cdf9d414ebcb9eced9f86a96, type: 3}
m_Name:
m_EditorClassIdentifier:
isLeft: 0
actionAsset: {fileID: -944628639613478452, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
trigger: {fileID: -5684558904543120851, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
grip: {fileID: -5194266436686895582, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
thumbstick: {fileID: 3396702884570900202, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
primaryClick: {fileID: 11711766586467970, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
secondaryClick: {fileID: -1644001223835636349, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
--- !u!1 &593288420602703080
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8295241796168345304}
- component: {fileID: 2260662957609911095}
- component: {fileID: 3121815872395721647}
m_Layer: 0
m_Name: __CM__Thumbstick
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8295241796168345304
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 593288420602703080}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.00059, y: -0.021856, z: 0.033832}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 251550567255680626}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &2260662957609911095
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 593288420602703080}
m_Mesh: {fileID: 6699701932830050619, guid: 03544ef23cfc6b249a6c6e4f461f774c, type: 3}
--- !u!23 &3121815872395721647
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 593288420602703080}
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: 4d05692348e202a46ab4f273572e77b3, 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!1 &2459105871115554320
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4086482560342217033}
- component: {fileID: 1153032910137110294}
- component: {fileID: 2301940161071308979}
m_Layer: 0
m_Name: __CM__Emitter
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4086482560342217033
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2459105871115554320}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.01, y: -0.026537735, z: 0.0057997853}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 251550567255680626}
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &1153032910137110294
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2459105871115554320}
m_Mesh: {fileID: -4521666590143857035, guid: 03544ef23cfc6b249a6c6e4f461f774c, type: 3}
--- !u!23 &2301940161071308979
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2459105871115554320}
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: 4d05692348e202a46ab4f273572e77b3, 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!1 &2755490092119674391
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4901408063943231850}
- component: {fileID: 1653215487655501889}
- component: {fileID: 5671351169048988145}
m_Layer: 0
m_Name: __CM__HomeButton
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4901408063943231850
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2755490092119674391}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.00185, y: -0.021932999, z: 0.050890002}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 251550567255680626}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &1653215487655501889
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2755490092119674391}
m_Mesh: {fileID: 6874284691703473906, guid: 03544ef23cfc6b249a6c6e4f461f774c, type: 3}
--- !u!23 &5671351169048988145
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2755490092119674391}
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: 4d05692348e202a46ab4f273572e77b3, 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!1 &5083371746558774354
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4428694667055999525}
- component: {fileID: 7721435771603728013}
- component: {fileID: 378408418294411932}
m_Layer: 0
m_Name: __CM__ButtonA
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4428694667055999525
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5083371746558774354}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.013948999, y: -0.022376, z: 0.049917996}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 251550567255680626}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &7721435771603728013
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5083371746558774354}
m_Mesh: {fileID: 9104446674093834918, guid: 03544ef23cfc6b249a6c6e4f461f774c, type: 3}
--- !u!23 &378408418294411932
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5083371746558774354}
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: 4d05692348e202a46ab4f273572e77b3, 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!1 &5882343215127454743
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1226568620760064572}
- component: {fileID: 5599848370685244514}
- component: {fileID: 4372203678169923720}
m_Layer: 0
m_Name: __CM__ButtonB
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1226568620760064572
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5882343215127454743}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.020758, y: -0.02237, z: 0.038489997}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 251550567255680626}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &5599848370685244514
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5882343215127454743}
m_Mesh: {fileID: -4190156458390666982, guid: 03544ef23cfc6b249a6c6e4f461f774c, type: 3}
--- !u!23 &4372203678169923720
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5882343215127454743}
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: 4d05692348e202a46ab4f273572e77b3, 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!1 &5995654215819088445
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 393315451420877516}
- component: {fileID: 4797198416799141083}
- component: {fileID: 3069073346945755856}
m_Layer: 0
m_Name: __CM__Battery
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &393315451420877516
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5995654215819088445}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.031353053, y: -0.020905372, z: 0.025925392}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 251550567255680626}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &4797198416799141083
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5995654215819088445}
m_Mesh: {fileID: -3454782138029922092, guid: 03544ef23cfc6b249a6c6e4f461f774c, type: 3}
--- !u!23 &3069073346945755856
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5995654215819088445}
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: b1b9921a3e91d704f8dd39cd74c1cbc4, 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!1 &6234070404690830882
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 929820164704955291}
- component: {fileID: 4166090309843809609}
- component: {fileID: 8384996345154681504}
m_Layer: 0
m_Name: __CM__Body
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &929820164704955291
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6234070404690830882}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.006947, y: -0.053136, z: 0.074193}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 251550567255680626}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &4166090309843809609
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6234070404690830882}
m_Mesh: {fileID: -5532471787532314371, guid: 03544ef23cfc6b249a6c6e4f461f774c, type: 3}
--- !u!23 &8384996345154681504
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6234070404690830882}
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: 4d05692348e202a46ab4f273572e77b3, 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!1 &9064948205751058052
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5691202731822130533}
- component: {fileID: 2294603225549759678}
- component: {fileID: 3353980852044629324}
m_Layer: 0
m_Name: __CM__Grip
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5691202731822130533
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9064948205751058052}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.01429, y: -0.042602, z: 0.071612}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 251550567255680626}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &2294603225549759678
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9064948205751058052}
m_Mesh: {fileID: 4793660613219112997, guid: 03544ef23cfc6b249a6c6e4f461f774c, type: 3}
--- !u!23 &3353980852044629324
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9064948205751058052}
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: 4d05692348e202a46ab4f273572e77b3, 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}

View File

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

View File

@@ -92,7 +92,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1170470780012416826}
- component: {fileID: 6801803549165888840}
- component: {fileID: 898286224179534753}
m_Layer: 0
m_Name: Focus3_Left
m_TagString: Untagged
@@ -124,7 +124,7 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: -30, y: 180, z: 0}
--- !u!114 &6801803549165888840
--- !u!114 &898286224179534753
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -133,16 +133,16 @@ MonoBehaviour:
m_GameObject: {fileID: 1978637512304563584}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b0ce35835b45a8143864400901492ac0, type: 3}
m_Script: {fileID: 11500000, guid: bbf18798cdf9d414ebcb9eced9f86a96, type: 3}
m_Name:
m_EditorClassIdentifier:
LorR: L
Asset: {fileID: -944628639613478452, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
TriggerR: {fileID: 2526168894431210536, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
GripR: {fileID: -1289947363739713011, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
JoyStickR: {fileID: 7596212294181904713, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
Button1R: {fileID: 5113088590926889233, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
Button2R: {fileID: -631344258065148156, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
isLeft: 1
actionAsset: {fileID: -944628639613478452, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
trigger: {fileID: 2526168894431210536, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
grip: {fileID: -1289947363739713011, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
thumbstick: {fileID: 7596212294181904713, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
primaryClick: {fileID: 5113088590926889233, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
secondaryClick: {fileID: -631344258065148156, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
--- !u!1 &1979402120393098656
GameObject:
m_ObjectHideFlags: 0

View File

@@ -175,7 +175,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 568889819745993646}
- component: {fileID: 7095453080020906758}
- component: {fileID: 8204332361121619594}
m_Layer: 0
m_Name: Focus3_Right
m_TagString: Untagged
@@ -207,7 +207,7 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: -30, y: 180, z: 0}
--- !u!114 &7095453080020906758
--- !u!114 &8204332361121619594
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -216,16 +216,16 @@ MonoBehaviour:
m_GameObject: {fileID: 913890882870810900}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b0ce35835b45a8143864400901492ac0, type: 3}
m_Script: {fileID: 11500000, guid: bbf18798cdf9d414ebcb9eced9f86a96, type: 3}
m_Name:
m_EditorClassIdentifier:
LorR: R
Asset: {fileID: -944628639613478452, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
TriggerR: {fileID: -5684558904543120851, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
GripR: {fileID: -5194266436686895582, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
JoyStickR: {fileID: 3396702884570900202, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
Button1R: {fileID: 11711766586467970, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
Button2R: {fileID: -1644001223835636349, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
isLeft: 0
actionAsset: {fileID: -944628639613478452, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
trigger: {fileID: -5684558904543120851, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
grip: {fileID: -5194266436686895582, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
thumbstick: {fileID: 3396702884570900202, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
primaryClick: {fileID: 11711766586467970, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
secondaryClick: {fileID: -1644001223835636349, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
--- !u!1 &2496614930090798027
GameObject:
m_ObjectHideFlags: 0

View File

@@ -0,0 +1,87 @@
%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: Sharpening
m_Shader: {fileID: 10760, guid: 0000000000000000f000000000000000, type: 0}
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: a2e3af03ee1f79f4c84f6ac60c7c0ef4, 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
- _ColorMask: 15
- _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
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _UVSec: 0
- _UseUIAlphaClip: 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

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: c0eddc6f76ea4484b949a7a798f78c38
guid: b58770bab37e36341b943116de1141b1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000

View File

@@ -0,0 +1,801 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &13917561
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 13917562}
- component: {fileID: 13917565}
- component: {fileID: 13917564}
- component: {fileID: 13917563}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &13917562
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 13917561}
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: 1442507266}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &13917563
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 13917561}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5a2a9c34df4095f47b9ca8f975175f5b, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Device: 0
m_PoseSource: 2
m_PoseProviderComponent: {fileID: 0}
m_TrackingType: 0
m_UpdateType: 0
m_UseRelativeTransform: 0
--- !u!81 &13917564
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 13917561}
m_Enabled: 1
--- !u!20 &13917565
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 13917561}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.01
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!1 &561506816
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 561506820}
- component: {fileID: 561506819}
- component: {fileID: 561506818}
- component: {fileID: 561506817}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!65 &561506817
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 561506816}
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!23 &561506818
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 561506816}
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!33 &561506819
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 561506816}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &561506820
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 561506816}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -4.632, y: 2.84, z: -2.186}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &571808867
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 571808869}
- component: {fileID: 571808870}
m_Layer: 0
m_Name: Overlay
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &571808869
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 571808867}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -6.3, y: 0.664, z: -1.424}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &571808870
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 571808867}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 221c4e845ba39fa4396461ac8c3b9e8e, type: 3}
m_Name:
m_EditorClassIdentifier:
isPreviewingCylinder: 0
isPreviewingQuad: 0
generatedPreview: {fileID: 0}
layerType: 1
compositionDepth: 0
layerShape: 0
layerVisibility: 0
m_QuadWidth: 3
m_QuadHeight: 3
m_CylinderHeight: 3
m_CylinderArcLength: 3.6651914
m_CylinderRadius: 3
m_CylinderAngleOfArc: 70
lockMode: 0
isDynamicLayer: 0
isExternalSurface: 0
isCustomRects: 0
customRects: 0
externalSurfaceWidth: 1280
externalSurfaceHeight: 720
applyColorScaleBias: 0
solidEffect: 0
colorScale: {r: 1, g: 1, b: 1, a: 1}
colorBias: {r: 0, g: 0, b: 0, a: 0}
isProtectedSurface: 0
texture: {fileID: 2800000, guid: ec7c645d93308c04d8840982af12101e, type: 3}
textureRight: {fileID: 2800000, guid: 2fd6421f253b4ef1a19526541f9ffc0c, type: 3}
renderPriority: 0
trackingOrigin: {fileID: 1272116173}
generatedUnderlayMesh: {fileID: 0}
generatedFallbackMesh: {fileID: 0}
--- !u!1 &590297843
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 590297845}
- component: {fileID: 590297844}
m_Layer: 0
m_Name: Overlay3
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &590297844
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 590297843}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 221c4e845ba39fa4396461ac8c3b9e8e, type: 3}
m_Name:
m_EditorClassIdentifier:
isPreviewingCylinder: 0
isPreviewingQuad: 0
generatedPreview: {fileID: 0}
layerType: 1
compositionDepth: 0
layerShape: 0
layerVisibility: 0
m_QuadWidth: 5
m_QuadHeight: 2.5
m_CylinderHeight: 1
m_CylinderArcLength: 1
m_CylinderRadius: 1
m_CylinderAngleOfArc: 180
lockMode: 0
isDynamicLayer: 0
isExternalSurface: 0
isCustomRects: 0
customRects: 0
externalSurfaceWidth: 1280
externalSurfaceHeight: 720
applyColorScaleBias: 0
solidEffect: 0
colorScale: {r: 1, g: 1, b: 1, a: 1}
colorBias: {r: 0, g: 0, b: 0, a: 0}
isProtectedSurface: 0
texture: {fileID: 2800000, guid: 5a77defd3f00c104bbf89dca35a81294, type: 3}
textureRight: {fileID: 0}
renderPriority: 0
trackingOrigin: {fileID: 1272116173}
generatedUnderlayMesh: {fileID: 0}
generatedFallbackMesh: {fileID: 0}
--- !u!4 &590297845
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 590297843}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 5.61, y: -0.54, z: -4.07}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &808362803
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 808362805}
- component: {fileID: 808362804}
m_Layer: 0
m_Name: Overlay4
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &808362804
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 808362803}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 221c4e845ba39fa4396461ac8c3b9e8e, type: 3}
m_Name:
m_EditorClassIdentifier:
isPreviewingCylinder: 0
isPreviewingQuad: 0
generatedPreview: {fileID: 0}
layerType: 1
compositionDepth: 0
layerShape: 0
layerVisibility: 0
m_QuadWidth: 3.6
m_QuadHeight: 4.5
m_CylinderHeight: 1
m_CylinderArcLength: 1
m_CylinderRadius: 1
m_CylinderAngleOfArc: 180
lockMode: 0
isDynamicLayer: 0
isExternalSurface: 0
isCustomRects: 1
customRects: 1
externalSurfaceWidth: 1280
externalSurfaceHeight: 720
applyColorScaleBias: 0
solidEffect: 0
colorScale: {r: 1, g: 1, b: 1, a: 1}
colorBias: {r: 0, g: 0, b: 0, a: 0}
isProtectedSurface: 0
texture: {fileID: 2800000, guid: a4b9b85c531c54d42a14c904411403ef, type: 3}
textureRight: {fileID: 0}
renderPriority: 0
trackingOrigin: {fileID: 1272116173}
generatedUnderlayMesh: {fileID: 0}
generatedFallbackMesh: {fileID: 0}
--- !u!4 &808362805
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 808362803}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.03, y: -2.31, z: -4.07}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &828610979
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 828610981}
- component: {fileID: 828610982}
m_Layer: 0
m_Name: Overlay2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &828610981
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 828610979}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.03, y: 1.49, z: -4.07}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &828610982
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 828610979}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 221c4e845ba39fa4396461ac8c3b9e8e, type: 3}
m_Name:
m_EditorClassIdentifier:
isPreviewingCylinder: 0
isPreviewingQuad: 0
generatedPreview: {fileID: 0}
layerType: 1
compositionDepth: 0
layerShape: 0
layerVisibility: 0
m_QuadWidth: 5
m_QuadHeight: 2.5
m_CylinderHeight: 1
m_CylinderArcLength: 1
m_CylinderRadius: 1
m_CylinderAngleOfArc: 180
lockMode: 0
isDynamicLayer: 0
isExternalSurface: 0
isCustomRects: 1
customRects: 2
externalSurfaceWidth: 1280
externalSurfaceHeight: 720
applyColorScaleBias: 0
solidEffect: 0
colorScale: {r: 1, g: 1, b: 1, a: 1}
colorBias: {r: 0, g: 0, b: 0, a: 0}
isProtectedSurface: 0
texture: {fileID: 2800000, guid: d07a4308157d7894c85d61e33c1eb589, type: 3}
textureRight: {fileID: 0}
renderPriority: 0
trackingOrigin: {fileID: 1272116173}
generatedUnderlayMesh: {fileID: 0}
generatedFallbackMesh: {fileID: 0}
--- !u!1 &1272116173
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1272116175}
- component: {fileID: 1272116174}
m_Layer: 0
m_Name: XRRig
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1272116174
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1272116173}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a2483b9bd782f9449a5972b61b7d51a9, type: 3}
m_Name:
m_EditorClassIdentifier:
m_CameraFloorOffsetObject: {fileID: 1442507265}
m_RequestedTrackingMode: 0
m_TrackingOriginMode: 1
m_TrackingSpace: 0
m_CameraYOffset: 1.36144
--- !u!4 &1272116175
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1272116173}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1442507266}
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1419130106
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1419130108}
- component: {fileID: 1419130107}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &1419130107
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1419130106}
m_Enabled: 1
serializedVersion: 10
m_Type: 1
m_Shape: 0
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_UseViewFrustumForShadowCasterCull: 1
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &1419130108
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1419130106}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, 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: 50, y: -30, z: 0}
--- !u!1 &1442507265
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1442507266}
m_Layer: 0
m_Name: Camera Offset
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1442507266
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1442507265}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 1.36144, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 13917562}
m_Father: {fileID: 1272116175}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 80d1cc30b0e730b45bdc75cbc0df513a
guid: c5e7ae8d47e0ebd469828ce687f6fe7d
DefaultImporter:
externalObjects: {}
userData:

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f0f909b2c35aefd4ca006344b5348b17
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,82 @@
// Copyright HTC Corporation All Rights Reserved.
using UnityEngine;
using UnityEngine.UI;
using VIVE.OpenXR.CompositionLayer;
namespace VIVE.OpenXR.Samples.CompositionLayer
{
public class Actions : MonoBehaviour
{
static private XrSharpeningModeHTC mode = XrSharpeningModeHTC.FAST;
static private float level = 1.0f;
static private GameObject button01, button02;
// Start is called before the first frame update
void Start()
{
button01 = GameObject.FindGameObjectWithTag("SharpenMode");
button01.GetComponentInChildren<Text>().text = "Mode : ";
button02 = GameObject.FindGameObjectWithTag("SharpenLevel");
button02.GetComponentInChildren<Text>().text = "Level : ";
}
static public void SetConfig1()
{
mode = XrSharpeningModeHTC.FAST;
button01.GetComponentInChildren<Text>().text = "Mode : " + mode.ToString();
}
static public void SetConfig2()
{
mode = XrSharpeningModeHTC.NORMAL;
button01.GetComponentInChildren<Text>().text = "Mode : " + mode.ToString();
}
static public void SetConfig3()
{
mode = XrSharpeningModeHTC.QUALITY;
button01.GetComponentInChildren<Text>().text = "Mode : " + mode.ToString();
}
static public void SetConfig4()
{
mode = XrSharpeningModeHTC.AUTOMATIC;
button01.GetComponentInChildren<Text>().text = "Mode : " + mode.ToString();
}
static public void SetLevel1()
{
level = 1.0f;
button02.GetComponentInChildren<Text>().text = "Level : " + level.ToString();
}
static public void SetLevel2()
{
level = 0.8f;
button02.GetComponentInChildren<Text>().text = "Level : " + level.ToString();
}
static public void SetLevel3()
{
level = 0.5f;
button02.GetComponentInChildren<Text>().text = "Level : " + level.ToString();
}
static public void SetLevel4()
{
level = 0.2f;
button02.GetComponentInChildren<Text>().text = "Level : " + level.ToString();
}
static public void Disactivate()
{
XR_HTC_composition_layer_extra_settings.Interop.DisableSharpening();
}
static public void Activate()
{
XR_HTC_composition_layer_extra_settings.Interop.EnableSharpening(mode, level);
}
}
}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 24bbc584e3457364087e6bca80f62416
guid: 236ba43e00db447429d508f9ae943b68
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@@ -1,13 +1,15 @@
using System.Collections;
// Copyright HTC Corporation All Rights Reserved.
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.UI;
using UnityEngine.XR.OpenXR;
using VIVE.OpenXR.CompositionLayer;
using VIVE.OpenXR.CompositionLayer.Passthrough;
using VIVE.OpenXR.Passthrough;
using VIVE.OpenXR.Samples;
using XrPassthroughHTC = VIVE.OpenXR.Passthrough.XrPassthroughHTC;
public class PassthroughTest_Manager : MonoBehaviour
{
public GameObject projectedMeshAnchor = null, hmd = null, rigOrigin = null;
@@ -21,7 +23,7 @@ public class PassthroughTest_Manager : MonoBehaviour
{
get
{
List<int> currentLayerIDs = CompositionLayerPassthroughAPI.GetCurrentPassthroughLayerIDs();
List<XrPassthroughHTC> currentLayerIDs = PassthroughAPI.GetCurrentPassthroughLayerIDs();
if (currentLayerIDs != null && currentLayerIDs.Contains(activePassthroughID)) //Layer is active
{
//Debug.Log("passthroughActive: true");
@@ -34,7 +36,7 @@ public class PassthroughTest_Manager : MonoBehaviour
private PassthroughLayerForm currentActiveLayerForm = PassthroughLayerForm.Planar;
private LayerType currentActiveLayerType = LayerType.Overlay;
private ProjectedPassthroughSpaceType currentActiveSpaceType = ProjectedPassthroughSpaceType.Worldlock;
private int activePassthroughID = 0;
private XrPassthroughHTC activePassthroughID = 0;
private float scale = 1f, scaleModifier = 1f, alpha = 1f;
private Vector3[] quadVertices = { new Vector3 (-1f, -1f, 0.0f),
@@ -133,13 +135,13 @@ public class PassthroughTest_Manager : MonoBehaviour
{
if (scaleChanged)
{
CompositionLayerPassthroughAPI.SetProjectedPassthroughScale(activePassthroughID, new Vector3(scale * scaleModifier, scale * scaleModifier, scale * scaleModifier));
PassthroughAPI.SetProjectedPassthroughScale(activePassthroughID, new Vector3(scale * scaleModifier, scale * scaleModifier, scale * scaleModifier));
scaleChanged = false;
}
if (spaceTypeChanged)
{
CompositionLayerPassthroughAPI.SetProjectedPassthroughSpaceType(activePassthroughID, currentActiveSpaceType);
PassthroughAPI.SetProjectedPassthroughSpaceType(activePassthroughID, currentActiveSpaceType);
spaceTypeChanged = false;
}
@@ -149,11 +151,11 @@ public class PassthroughTest_Manager : MonoBehaviour
{
case ProjectedPassthroughSpaceType.Headlock: //Apply HMD offset
Vector3 relativePosition = hmd.transform.InverseTransformPoint(projectedMeshAnchor.transform.position);
CompositionLayerPassthroughAPI.SetProjectedPassthroughMeshPosition(activePassthroughID, relativePosition, false);
PassthroughAPI.SetProjectedPassthroughMeshPosition(activePassthroughID, relativePosition, false);
break;
case ProjectedPassthroughSpaceType.Worldlock:
default:
CompositionLayerPassthroughAPI.SetProjectedPassthroughMeshPosition(activePassthroughID, projectedMeshAnchor.transform.position);
PassthroughAPI.SetProjectedPassthroughMeshPosition(activePassthroughID, projectedMeshAnchor.transform.position);
break;
}
positionChanged = false;
@@ -165,11 +167,11 @@ public class PassthroughTest_Manager : MonoBehaviour
{
case ProjectedPassthroughSpaceType.Headlock: //Apply HMD offset
Quaternion relativeRotation = Quaternion.Inverse(hmd.transform.rotation).normalized * projectedMeshAnchor.transform.rotation.normalized;
CompositionLayerPassthroughAPI.SetProjectedPassthroughMeshOrientation(activePassthroughID, relativeRotation, false);
PassthroughAPI.SetProjectedPassthroughMeshOrientation(activePassthroughID, relativeRotation, false);
break;
case ProjectedPassthroughSpaceType.Worldlock:
default:
CompositionLayerPassthroughAPI.SetProjectedPassthroughMeshOrientation(activePassthroughID, projectedMeshAnchor.transform.rotation);
PassthroughAPI.SetProjectedPassthroughMeshOrientation(activePassthroughID, projectedMeshAnchor.transform.rotation);
break;
}
orientationChanged = false;
@@ -186,7 +188,7 @@ public class PassthroughTest_Manager : MonoBehaviour
{
if (passthroughActive) return;
activePassthroughID = CompositionLayerPassthroughAPI.CreatePlanarPassthrough(layerType, PassthroughSessionDestroyed, alpha);
PassthroughAPI.CreatePlanarPassthrough(out activePassthroughID, layerType, PassthroughSessionDestroyed, alpha);
if (activePassthroughID != 0)
{
@@ -204,7 +206,7 @@ public class PassthroughTest_Manager : MonoBehaviour
{
if (passthroughActive) return;
activePassthroughID = CompositionLayerPassthroughAPI.CreateProjectedPassthrough(layerType, PassthroughSessionDestroyed, alpha);
PassthroughAPI.CreateProjectedPassthrough(out activePassthroughID, layerType, PassthroughSessionDestroyed, alpha);
if (activePassthroughID != 0)
{
@@ -214,9 +216,9 @@ public class PassthroughTest_Manager : MonoBehaviour
}
}
private void PassthroughSessionDestroyed(int passthroughID) //Handle destruction of passthrough layer when OpenXR session is destroyed
private void PassthroughSessionDestroyed(XrPassthroughHTC passthrough) //Handle destruction of passthrough layer when OpenXR session is destroyed
{
CompositionLayerPassthroughAPI.DestroyPassthrough(passthroughID);
PassthroughAPI.DestroyPassthrough(passthrough);
activePassthroughID = 0;
}
@@ -224,17 +226,17 @@ public class PassthroughTest_Manager : MonoBehaviour
{
if (passthroughActive && activePassthroughID != 0 && currentActiveLayerForm == PassthroughLayerForm.Projected)
{
CompositionLayerPassthroughAPI.SetProjectedPassthroughMesh(activePassthroughID, quadVertices, quadIndicies, false);
PassthroughAPI.SetProjectedPassthroughMesh(activePassthroughID, quadVertices, quadIndicies, false);
switch (currentActiveSpaceType)
{
case ProjectedPassthroughSpaceType.Headlock: //Apply HMD offset
Vector3 relativePosition = hmd.transform.InverseTransformPoint(projectedMeshAnchor.transform.position);
Quaternion relativeRotation = Quaternion.Inverse(hmd.transform.rotation).normalized * projectedMeshAnchor.transform.rotation.normalized;
CompositionLayerPassthroughAPI.SetProjectedPassthroughMeshTransform(activePassthroughID, currentActiveSpaceType, relativePosition, relativeRotation, new Vector3(scale * scaleModifier, scale * scaleModifier, scale * scaleModifier), false);
PassthroughAPI.SetProjectedPassthroughMeshTransform(activePassthroughID, currentActiveSpaceType, relativePosition, relativeRotation, new Vector3(scale * scaleModifier, scale * scaleModifier, scale * scaleModifier), false);
break;
case ProjectedPassthroughSpaceType.Worldlock:
default:
CompositionLayerPassthroughAPI.SetProjectedPassthroughMeshTransform(activePassthroughID, currentActiveSpaceType, projectedMeshAnchor.transform.position, projectedMeshAnchor.transform.rotation, new Vector3(scale * scaleModifier, scale * scaleModifier, scale * scaleModifier));
PassthroughAPI.SetProjectedPassthroughMeshTransform(activePassthroughID, currentActiveSpaceType, projectedMeshAnchor.transform.position, projectedMeshAnchor.transform.rotation, new Vector3(scale * scaleModifier, scale * scaleModifier, scale * scaleModifier));
break;
}
}
@@ -244,17 +246,17 @@ public class PassthroughTest_Manager : MonoBehaviour
{
if (passthroughActive && activePassthroughID != 0 && currentActiveLayerForm == PassthroughLayerForm.Projected)
{
CompositionLayerPassthroughAPI.SetProjectedPassthroughMesh(activePassthroughID, mesh.vertices, mesh.triangles, true);
PassthroughAPI.SetProjectedPassthroughMesh(activePassthroughID, mesh.vertices, mesh.triangles, true);
switch (currentActiveSpaceType)
{
case ProjectedPassthroughSpaceType.Headlock: //Apply HMD offset
Vector3 relativePosition = hmd.transform.InverseTransformPoint(projectedMeshAnchor.transform.position);
Quaternion relativeRotation = Quaternion.Inverse(hmd.transform.rotation).normalized * projectedMeshAnchor.transform.rotation.normalized;
CompositionLayerPassthroughAPI.SetProjectedPassthroughMeshTransform(activePassthroughID, currentActiveSpaceType, relativePosition, relativeRotation, new Vector3(scale * scaleModifier, scale * scaleModifier, scale * scaleModifier), false);
PassthroughAPI.SetProjectedPassthroughMeshTransform(activePassthroughID, currentActiveSpaceType, relativePosition, relativeRotation, new Vector3(scale * scaleModifier, scale * scaleModifier, scale * scaleModifier), false);
break;
case ProjectedPassthroughSpaceType.Worldlock:
default:
CompositionLayerPassthroughAPI.SetProjectedPassthroughMeshTransform(activePassthroughID, currentActiveSpaceType, projectedMeshAnchor.transform.position, projectedMeshAnchor.transform.rotation, new Vector3(scale * scaleModifier, scale * scaleModifier, scale * scaleModifier));
PassthroughAPI.SetProjectedPassthroughMeshTransform(activePassthroughID, currentActiveSpaceType, projectedMeshAnchor.transform.position, projectedMeshAnchor.transform.rotation, new Vector3(scale * scaleModifier, scale * scaleModifier, scale * scaleModifier));
break;
}
}
@@ -264,7 +266,7 @@ public class PassthroughTest_Manager : MonoBehaviour
{
if (passthroughActive && activePassthroughID != 0)
{
CompositionLayerPassthroughAPI.SetPassthroughLayerType(activePassthroughID, LayerType.Overlay);
PassthroughAPI.SetPassthroughLayerType(activePassthroughID, LayerType.Overlay);
currentActiveLayerType = LayerType.Overlay;
}
}
@@ -273,7 +275,7 @@ public class PassthroughTest_Manager : MonoBehaviour
{
if (passthroughActive && activePassthroughID != 0)
{
CompositionLayerPassthroughAPI.SetPassthroughLayerType(activePassthroughID, LayerType.Underlay);
PassthroughAPI.SetPassthroughLayerType(activePassthroughID, LayerType.Underlay);
currentActiveLayerType = LayerType.Underlay;
}
}
@@ -282,7 +284,7 @@ public class PassthroughTest_Manager : MonoBehaviour
{
if (passthroughActive && activePassthroughID != 0 && currentActiveLayerForm == PassthroughLayerForm.Projected)
{
if (CompositionLayerPassthroughAPI.SetProjectedPassthroughSpaceType(activePassthroughID, ProjectedPassthroughSpaceType.Headlock))
if (PassthroughAPI.SetProjectedPassthroughSpaceType(activePassthroughID, ProjectedPassthroughSpaceType.Headlock))
{
positionChanged = orientationChanged = spaceTypeChanged = true;
@@ -297,7 +299,7 @@ public class PassthroughTest_Manager : MonoBehaviour
{
if (passthroughActive && activePassthroughID != 0 && currentActiveLayerForm == PassthroughLayerForm.Projected)
{
if (CompositionLayerPassthroughAPI.SetProjectedPassthroughSpaceType(activePassthroughID, ProjectedPassthroughSpaceType.Worldlock))
if (PassthroughAPI.SetProjectedPassthroughSpaceType(activePassthroughID, ProjectedPassthroughSpaceType.Worldlock))
{
positionChanged = orientationChanged = spaceTypeChanged = true;
@@ -312,7 +314,7 @@ public class PassthroughTest_Manager : MonoBehaviour
{
if (passthroughActive && activePassthroughID != 0)
{
CompositionLayerPassthroughAPI.DestroyPassthrough(activePassthroughID);
PassthroughAPI.DestroyPassthrough(activePassthroughID);
activePassthroughID = 0;
}
}
@@ -323,7 +325,7 @@ public class PassthroughTest_Manager : MonoBehaviour
alpha = newAlpha;
if (passthroughActive && activePassthroughID != 0)
{
CompositionLayerPassthroughAPI.SetPassthroughAlpha(activePassthroughID, newAlpha);
PassthroughAPI.SetPassthroughAlpha(activePassthroughID, newAlpha);
}
}

View File

@@ -1,12 +1,12 @@
fileFormatVersion: 2
guid: b6bd01dd07c39324db099768d3508e44
guid: a4b9b85c531c54d42a14c904411403ef
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0

View File

@@ -0,0 +1,135 @@
fileFormatVersion: 2
guid: a2e3af03ee1f79f4c84f6ac60c7c0ef4
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
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: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
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: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
cookieLightType: 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
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
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: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,135 @@
fileFormatVersion: 2
guid: 47a77b2cee8d2284c9c99ba705fa4e40
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
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: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
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: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
cookieLightType: 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
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
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: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,12 +1,12 @@
fileFormatVersion: 2
guid: 158236e8016b54b4fb7002417060e027
guid: 5a77defd3f00c104bbf89dca35a81294
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0

View File

@@ -1,12 +1,12 @@
fileFormatVersion: 2
guid: 6f4d12c56900bf2428f6d5abd2aa8f6e
guid: d07a4308157d7894c85d61e33c1eb589
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0

View File

@@ -14,6 +14,11 @@
"name": "com.unity.textmeshpro",
"expression": "",
"define": "TMPExist"
},
{
"name": "Unity",
"expression": "6000.0.0",
"define": "TMPExist"
}
],
"noEngineReferences": false

View File

@@ -4,11 +4,11 @@ using UnityEngine;
using UnityEngine.UI;
using VIVE.OpenXR.EyeTracker;
namespace VIVE.OpenXR.Samples.OpenXRInput
namespace VIVE.OpenXR.Samples.EyeTracker
{
public class EyeTrackerTest : MonoBehaviour
{
const string LOG_TAG = "VIVE.OpenXR.Samples.OpenXRInput.EyeTrackerText";
const string LOG_TAG = "VIVE.OpenXR.Samples.EyeTracker.EyeTrackerText";
void DEBUG(string msg) { Debug.Log(LOG_TAG + " " + msg); }
public Transform leftGazeTransform = null;
public Transform rightGazeTransform = null;

View File

@@ -31,10 +31,10 @@ namespace VIVE.OpenXR.Samples.FacialTracking
MouthUpperOverturn = XrLipExpressionHTC.XR_LIP_EXPRESSION_MOUTH_UPPER_OVERTURN_HTC,
MouthLowerOverturn = XrLipExpressionHTC.XR_LIP_EXPRESSION_MOUTH_LOWER_OVERTURN_HTC, // 10
MouthPout = XrLipExpressionHTC.XR_LIP_EXPRESSION_MOUTH_POUT_HTC,
MouthSmileRight = XrLipExpressionHTC.XR_LIP_EXPRESSION_MOUTH_SMILE_RIGHT_HTC,
MouthSmileLeft = XrLipExpressionHTC.XR_LIP_EXPRESSION_MOUTH_SMILE_LEFT_HTC,
MouthSadRight = XrLipExpressionHTC.XR_LIP_EXPRESSION_MOUTH_SAD_RIGHT_HTC,
MouthSadLeft = XrLipExpressionHTC.XR_LIP_EXPRESSION_MOUTH_SAD_LEFT_HTC, // 15
MouthRaiserRight = XrLipExpressionHTC.XR_LIP_EXPRESSION_MOUTH_RAISER_RIGHT_HTC,
MouthRaiserLeft = XrLipExpressionHTC.XR_LIP_EXPRESSION_MOUTH_RAISER_LEFT_HTC,
MouthStretcherRight = XrLipExpressionHTC.XR_LIP_EXPRESSION_MOUTH_STRETCHER_RIGHT_HTC,
MouthStretcherLeft = XrLipExpressionHTC.XR_LIP_EXPRESSION_MOUTH_STRETCHER_LEFT_HTC, // 15
CheekPuffRight = XrLipExpressionHTC.XR_LIP_EXPRESSION_CHEEK_PUFF_RIGHT_HTC,
CheekPuffLeft = XrLipExpressionHTC.XR_LIP_EXPRESSION_CHEEK_PUFF_LEFT_HTC,
CheekSuck = XrLipExpressionHTC.XR_LIP_EXPRESSION_CHEEK_SUCK_HTC,

View File

@@ -2206,7 +2206,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 'MouthSmileRight:'
m_Text: 'MouthRaiserRight:'
--- !u!114 &7920586719574310195
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -2253,7 +2253,7 @@ GameObject:
- component: {fileID: 7920586719574310194}
- component: {fileID: 7920586719574310195}
m_Layer: 5
m_Name: MouthSmileRight
m_Name: MouthRaiserRight
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -2488,7 +2488,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 'MouthSmileLeft:'
m_Text: 'MouthRaiserLeft:'
--- !u!114 &7920586719626268234
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -2535,7 +2535,7 @@ GameObject:
- component: {fileID: 7920586719626268233}
- component: {fileID: 7920586719626268234}
m_Layer: 5
m_Name: MouthSmileLeft
m_Name: MouthRaiserLeft
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -4051,7 +4051,7 @@ GameObject:
- component: {fileID: 7920586720091468126}
- component: {fileID: 7920586720091468127}
m_Layer: 5
m_Name: MouthSadLeft
m_Name: MouthStretcherLeft
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -4098,7 +4098,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 'MouthSadLeft:'
m_Text: 'MouthStretcherLeft:'
--- !u!114 &7920586720091468127
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -4961,7 +4961,7 @@ GameObject:
- component: {fileID: 7920586720398776223}
- component: {fileID: 7920586720398776208}
m_Layer: 5
m_Name: MouthSadRight
m_Name: MouthStretcherRight
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -5008,7 +5008,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 'MouthSadRight:'
m_Text: 'MouthStretcherRight:'
--- !u!114 &7920586720406047248
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -7193,6 +7193,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_TrackingType: 0
m_UpdateType: 0
m_IgnoreTrackingState: 0
m_PositionInput:
m_UseReference: 0
m_Action:
@@ -7233,6 +7234,18 @@ MonoBehaviour:
m_Flags: 0
m_Flags: 0
m_Reference: {fileID: 0}
m_TrackingStateInput:
m_UseReference: 0
m_Action:
m_Name:
m_Type: 0
m_ExpectedControlType:
m_Id: 37527834-e56e-4a3b-8e3a-657ba53bc50c
m_Processors:
m_Interactions:
m_SingletonActionBindings: []
m_Flags: 0
m_Reference: {fileID: 0}
m_PositionAction:
m_Name: Position
m_Type: 0
@@ -7267,7 +7280,6 @@ MonoBehaviour:
m_Action: Rotation
m_Flags: 0
m_Flags: 0
m_HasMigratedActions: 1
--- !u!1 &8315893866599987621
GameObject:
m_ObjectHideFlags: 0
@@ -7308,7 +7320,7 @@ LineRenderer:
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 0}
- {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
@@ -7334,7 +7346,7 @@ LineRenderer:
- {x: 0, y: 0, z: 1}
m_Parameters:
serializedVersion: 3
widthMultiplier: 1
widthMultiplier: 0.001
widthCurve:
serializedVersion: 2
m_Curve:
@@ -7449,9 +7461,10 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_CameraOffset: {fileID: 8315893868100911252}
m_CameraObject: {fileID: 0}
m_TrackingOrigin: 1
m_CameraHeight: 0
m_CameraYOffset: 0
m_ActionAsset: {fileID: 0}
--- !u!114 &8315893866959931017
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -7561,6 +7574,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_TrackingType: 0
m_UpdateType: 0
m_IgnoreTrackingState: 0
m_PositionInput:
m_UseReference: 0
m_Action:
@@ -7601,6 +7615,18 @@ MonoBehaviour:
m_Flags: 0
m_Flags: 0
m_Reference: {fileID: 0}
m_TrackingStateInput:
m_UseReference: 0
m_Action:
m_Name:
m_Type: 0
m_ExpectedControlType:
m_Id: 7bcbd21e-bd98-413d-8be6-f2cf4158d439
m_Processors:
m_Interactions:
m_SingletonActionBindings: []
m_Flags: 0
m_Reference: {fileID: 0}
m_PositionAction:
m_Name: Position
m_Type: 0
@@ -7635,7 +7661,6 @@ MonoBehaviour:
m_Action: Rotation
m_Flags: 0
m_Flags: 0
m_HasMigratedActions: 1
--- !u!81 &8315893867055095324
AudioListener:
m_ObjectHideFlags: 0
@@ -8209,7 +8234,7 @@ LineRenderer:
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 0}
- {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
@@ -8235,7 +8260,7 @@ LineRenderer:
- {x: 0, y: 0, z: 1}
m_Parameters:
serializedVersion: 3
widthMultiplier: 1
widthMultiplier: 0.001
widthCurve:
serializedVersion: 2
m_Curve:
@@ -8302,6 +8327,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_TrackingType: 0
m_UpdateType: 0
m_IgnoreTrackingState: 0
m_PositionInput:
m_UseReference: 0
m_Action:
@@ -8342,6 +8368,18 @@ MonoBehaviour:
m_Flags: 0
m_Flags: 0
m_Reference: {fileID: 0}
m_TrackingStateInput:
m_UseReference: 0
m_Action:
m_Name:
m_Type: 0
m_ExpectedControlType:
m_Id: 56d84f34-6b84-4475-aacf-acb4b8c4fff1
m_Processors:
m_Interactions:
m_SingletonActionBindings: []
m_Flags: 0
m_Reference: {fileID: 0}
m_PositionAction:
m_Name: Position
m_Type: 0
@@ -8376,7 +8414,6 @@ MonoBehaviour:
m_Action: Rotation
m_Flags: 0
m_Flags: 0
m_HasMigratedActions: 1
--- !u!114 &8315893868601279389
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@@ -19,10 +19,10 @@ namespace VIVE.OpenXR.Samples.FacialTracking
XR_LIP_SHAPE_MOUTH_UPPER_OVERTURN_HTC = 9,
XR_LIP_SHAPE_MOUTH_LOWER_OVERTURN_HTC = 10,
XR_LIP_SHAPE_MOUTH_POUT_HTC = 11,
XR_LIP_SHAPE_MOUTH_SMILE_RIGHT_HTC = 12,
XR_LIP_SHAPE_MOUTH_SMILE_LEFT_HTC = 13,
XR_LIP_SHAPE_MOUTH_SAD_RIGHT_HTC = 14,
XR_LIP_SHAPE_MOUTH_SAD_LEFT_HTC = 15,
XR_LIP_SHAPE_MOUTH_RAISER_RIGHT_HTC = 12,
XR_LIP_SHAPE_MOUTH_RAISER_LEFT_HTC = 13,
XR_LIP_SHAPE_MOUTH_STRETCHER_RIGHT_HTC = 14,
XR_LIP_SHAPE_MOUTH_STRETCHER_LEFT_HTC = 15,
XR_LIP_SHAPE_CHEEK_PUFF_RIGHT_HTC = 16,
XR_LIP_SHAPE_CHEEK_PUFF_LEFT_HTC = 17,
XR_LIP_SHAPE_CHEEK_SUCK_HTC = 18,
@@ -61,10 +61,10 @@ namespace VIVE.OpenXR.Samples.FacialTracking
Mouth_Upper_Overturn = 9,
Mouth_Lower_Overturn = 10,
Mouth_Pout = 11,
Mouth_Smile_Right = 12,
Mouth_Smile_Left = 13,
Mouth_Sad_Right = 14,
Mouth_Sad_Left = 15,
Mouth_Raiser_Right = 12,
Mouth_Raiser_Left = 13,
Mouth_Stretcher_Right = 14,
Mouth_Stretcher_Left = 15,
Cheek_Puff_Right = 16,
Cheek_Puff_Left = 17,
Cheek_Suck = 18,

View File

@@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_IndirectSpecularColor: {r: 0.00041345108, g: 0.0018249135, b: 0.007063424, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@@ -809,6 +809,88 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 261496586}
m_CullTransparentMesh: 0
--- !u!1 &286458677
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 286458678}
- component: {fileID: 286458680}
- component: {fileID: 286458679}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &286458678
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 286458677}
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: 1569503504}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -0.70000076}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &286458679
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 286458677}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0, b: 0, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 20
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: '04
'
--- !u!222 &286458680
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 286458677}
m_CullTransparentMesh: 0
--- !u!1 &375610618
GameObject:
m_ObjectHideFlags: 0
@@ -1525,7 +1607,7 @@ RectTransform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 598791915}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalPosition: {x: 0, y: 0, z: -0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
@@ -1535,7 +1617,7 @@ RectTransform:
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: -164, y: -10}
m_AnchoredPosition: {x: -164, y: 2}
m_SizeDelta: {x: 160, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &598791917
@@ -2441,7 +2523,7 @@ RectTransform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1032262195}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalPosition: {x: 0, y: 0, z: -0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -2450,7 +2532,7 @@ RectTransform:
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: 32}
m_AnchoredPosition: {x: -0, y: 60}
m_SizeDelta: {x: 200, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1032262197
@@ -2819,7 +2901,7 @@ RectTransform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1156546616}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalPosition: {x: 0, y: 0, z: 0.000014590721}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
@@ -2829,7 +2911,7 @@ RectTransform:
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: -10}
m_AnchoredPosition: {x: 0.000003919316, y: 2.900032}
m_SizeDelta: {x: 160, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1156546618
@@ -3145,11 +3227,175 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1304529720}
m_CullTransparentMesh: 0
--- !u!1 &1311522208
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1311522209}
- component: {fileID: 1311522211}
- component: {fileID: 1311522210}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1311522209
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1311522208}
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: 1500432160}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -0.70000076}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1311522210
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1311522208}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0, b: 0, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 20
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: '02
'
--- !u!222 &1311522211
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1311522208}
m_CullTransparentMesh: 0
--- !u!4 &1340868358 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7207139245002135405, guid: aa6466f3484ac344fb3c59a5b6398f84, type: 3}
m_PrefabInstance: {fileID: 1595761234}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1357737388
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1357737389}
- component: {fileID: 1357737391}
- component: {fileID: 1357737390}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1357737389
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1357737388}
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: 1746006656}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -0.70000076}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1357737390
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1357737388}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0, b: 0, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 20
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: '01
'
--- !u!222 &1357737391
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1357737388}
m_CullTransparentMesh: 0
--- !u!1 &1387899324
GameObject:
m_ObjectHideFlags: 0
@@ -3768,6 +4014,274 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1437512620}
m_CullTransparentMesh: 0
--- !u!1 &1500432159
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1500432160}
- component: {fileID: 1500432163}
- component: {fileID: 1500432162}
- component: {fileID: 1500432161}
m_Layer: 5
m_Name: EnableButton02
m_TagString: EnableButton02
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1500432160
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1500432159}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -0.000050912302}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1311522209}
m_Father: {fileID: 1963012289}
m_RootOrder: 5
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: -1.8000003, y: -59.900047}
m_SizeDelta: {x: 50, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1500432161
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1500432159}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 0
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 0.84313726, g: 0.9529412, b: 0.9529412, a: 1}
m_HighlightedColor: {r: 0.62352943, g: 1, b: 0.8117647, a: 1}
m_PressedColor: {r: 0.6901961, g: 0.6901961, b: 0.6901961, a: 1}
m_SelectedColor: {r: 0.62352943, g: 1, b: 0.8117647, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Highlighted
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1500432162}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 50164868}
m_TargetAssemblyTypeName: MyFoveatedTest, VIVE.OpenXR.Samples
m_MethodName: FoveationIsDynamic_setbit02
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument: FoveationIsEnable
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &1500432162
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1500432159}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1500432163
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1500432159}
m_CullTransparentMesh: 0
--- !u!1 &1569503503
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1569503504}
- component: {fileID: 1569503507}
- component: {fileID: 1569503506}
- component: {fileID: 1569503505}
m_Layer: 5
m_Name: EnableButton03
m_TagString: EnableButton03
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1569503504
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1569503503}
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: 286458678}
m_Father: {fileID: 1963012289}
m_RootOrder: 6
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: 57, y: -60}
m_SizeDelta: {x: 50, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1569503505
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1569503503}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 0
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 0.84313726, g: 0.9529412, b: 0.9529412, a: 1}
m_HighlightedColor: {r: 0.62352943, g: 1, b: 0.8117647, a: 1}
m_PressedColor: {r: 0.6901961, g: 0.6901961, b: 0.6901961, a: 1}
m_SelectedColor: {r: 0.62352943, g: 1, b: 0.8117647, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Highlighted
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1569503506}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 50164868}
m_TargetAssemblyTypeName: MyFoveatedTest, VIVE.OpenXR.Samples
m_MethodName: FoveationIsDynamic_setbit04
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument: FoveationIsEnable
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &1569503506
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1569503503}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1569503507
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1569503503}
m_CullTransparentMesh: 0
--- !u!1 &1579826486
GameObject:
m_ObjectHideFlags: 0
@@ -3796,7 +4310,7 @@ RectTransform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1579826486}
m_LocalRotation: {x: -0.073153175, y: -0.03617139, z: -0.0058424906, w: 0.9966475}
m_LocalPosition: {x: 0, y: 0, z: 2.227}
m_LocalPosition: {x: 0, y: 0, z: 2.189}
m_LocalScale: {x: 0.003, y: 0.003, z: 0.003}
m_ConstrainProportionsScale: 0
m_Children:
@@ -3806,8 +4320,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: -8.409, y: -4.13, z: -0.36800003}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0.024, y: 1.219}
m_SizeDelta: {x: 500, y: 105.5513}
m_AnchoredPosition: {x: 0.028, y: 1.479}
m_SizeDelta: {x: 500, y: 200}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1579826488
MonoBehaviour:
@@ -4435,6 +4949,140 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1732386426}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &1746006655
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1746006656}
- component: {fileID: 1746006659}
- component: {fileID: 1746006658}
- component: {fileID: 1746006657}
m_Layer: 5
m_Name: EnableButton01
m_TagString: EnableButton01
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1746006656
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1746006655}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -0.000050912302}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1357737389}
m_Father: {fileID: 1963012289}
m_RootOrder: 4
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: -58.4, y: -59.900047}
m_SizeDelta: {x: 50, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1746006657
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1746006655}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 0
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 0.84313726, g: 0.9529412, b: 0.9529412, a: 1}
m_HighlightedColor: {r: 0.62352943, g: 1, b: 0.8117647, a: 1}
m_PressedColor: {r: 0.6901961, g: 0.6901961, b: 0.6901961, a: 1}
m_SelectedColor: {r: 0.62352943, g: 1, b: 0.8117647, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Highlighted
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1746006658}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 50164868}
m_TargetAssemblyTypeName: MyFoveatedTest, VIVE.OpenXR.Samples
m_MethodName: FoveationIsDynamic_setbit01
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument: FoveationIsEnable
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &1746006658
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1746006655}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1746006659
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1746006655}
m_CullTransparentMesh: 0
--- !u!20 &1757660637 stripped
Camera:
m_CorrespondingSourceObject: {fileID: 7207139244786812522, guid: aa6466f3484ac344fb3c59a5b6398f84, type: 3}
@@ -4912,7 +5560,7 @@ RectTransform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1817510136}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalPosition: {x: 0, y: 0, z: 0.000014590721}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
@@ -4922,7 +5570,7 @@ RectTransform:
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: 165, y: -10}
m_AnchoredPosition: {x: 165, y: 2.5000305}
m_SizeDelta: {x: 160, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1817510138
@@ -5339,6 +5987,9 @@ RectTransform:
- {fileID: 1156546617}
- {fileID: 1817510137}
- {fileID: 598791916}
- {fileID: 1746006656}
- {fileID: 1500432160}
- {fileID: 1569503504}
m_Father: {fileID: 1579826487}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@@ -1,22 +1,20 @@
// "VIVE SDK
// © 2017 HTC Corporation. All Rights Reserved.
//
// Unless otherwise required by copyright law and practice,
// upon the execution of HTC SDK license agreement,
// HTC grants you access to and use of the VIVE SDK(s).
// You shall fully comply with all of HTCs SDK license agreement terms and
// conditions signed by you and all SDK and API requirements,
// specifications, and documentation provided by HTC to You."
// Copyright HTC Corporation All Rights Reserved.
using System;
using UnityEngine;
using UnityEngine.UI;
using VIVE.OpenXR;
using XrFoveationModeHTC = VIVE.OpenXR.Foveation.XrFoveationModeHTC;
using XrFoveationLevelHTC = VIVE.OpenXR.Foveation.XrFoveationLevelHTC;
using XrFoveationConfigurationHTC = VIVE.OpenXR.Foveation.XrFoveationConfigurationHTC;
public class MyFoveatedTest : MonoBehaviour
{
private float FOVLarge = 57;
private float FOVSmall = 19;
private float FOVMiddle = 38;
private GameObject button01, button02, button03;
public static XrFoveationConfigurationHTC config_left, config_right;
public static XrFoveationConfigurationHTC[] configs = { config_left, config_right };
@@ -33,6 +31,13 @@ public class MyFoveatedTest : MonoBehaviour
configs[1].focalCenterOffset.y = 0.0f;
}
void Start()
{
button01 = GameObject.FindGameObjectWithTag("EnableButton01");
button02 = GameObject.FindGameObjectWithTag("EnableButton02");
button03 = GameObject.FindGameObjectWithTag("EnableButton03");
}
public void FoveationIsDisable()
{
ViveFoveation.ApplyFoveationHTC(XrFoveationModeHTC.XR_FOVEATION_MODE_DISABLE_HTC, 0, null);
@@ -43,11 +48,33 @@ public class MyFoveatedTest : MonoBehaviour
ViveFoveation.ApplyFoveationHTC(XrFoveationModeHTC.XR_FOVEATION_MODE_FIXED_HTC, 0, null);
}
bool FoveationIsDynamic_bit01 = true;
bool FoveationIsDynamic_bit02 = true;
bool FoveationIsDynamic_bit04 = true;
public void FoveationIsDynamic_setbit01(){
FoveationIsDynamic_bit01 = !FoveationIsDynamic_bit01;
if (button01 != null)
button01.GetComponentInChildren<Text>().text = FoveationIsDynamic_bit01 ? "01" : "00";
}
public void FoveationIsDynamic_setbit02(){
FoveationIsDynamic_bit02 = !FoveationIsDynamic_bit02;
if (button02 != null)
button02.GetComponentInChildren<Text>().text = FoveationIsDynamic_bit02 ? "02" : "00";
}
public void FoveationIsDynamic_setbit04(){
FoveationIsDynamic_bit04 = !FoveationIsDynamic_bit04;
if (button03 != null)
button03.GetComponentInChildren<Text>().text = FoveationIsDynamic_bit04 ? "04" : "00";
}
public void FoveationIsDynamic()
{
UInt64 flags = ViveFoveation.XR_FOVEATION_DYNAMIC_CLEAR_FOV_ENABLED_BIT_HTC |
ViveFoveation.XR_FOVEATION_DYNAMIC_FOCAL_CENTER_OFFSET_ENABLED_BIT_HTC |
ViveFoveation.XR_FOVEATION_DYNAMIC_LEVEL_ENABLED_BIT_HTC;
UInt64 flags = (FoveationIsDynamic_bit01 ? ViveFoveation.XR_FOVEATION_DYNAMIC_LEVEL_ENABLED_BIT_HTC : 0x00) |
(FoveationIsDynamic_bit02 ? ViveFoveation.XR_FOVEATION_DYNAMIC_CLEAR_FOV_ENABLED_BIT_HTC : 0x00) |
(FoveationIsDynamic_bit04 ? ViveFoveation.XR_FOVEATION_DYNAMIC_FOCAL_CENTER_OFFSET_ENABLED_BIT_HTC : 0x00);
ViveFoveation.ApplyFoveationHTC(XrFoveationModeHTC.XR_FOVEATION_MODE_DYNAMIC_HTC, 0, null, flags);
}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: ca57a546da07d9146aa710d82ec06e64
guid: 8a5b8b3c975ef694fba0f3acdf5bc0f6
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@@ -0,0 +1,294 @@
// Copyright HTC Corporation All Rights Reserved.
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.UI;
using UnityEngine.XR;
namespace VIVE.OpenXR.Samples.HandInteractionExt
{
[RequireComponent(typeof(Text))]
public class HandInteractionExt : MonoBehaviour
{
public bool isLeft = true;
public InputActionReference pointerPose = null;
public InputActionReference pointerValue = null;
public InputActionReference pointerReady = null;
public InputActionReference gripPose = null;
public InputActionReference gripValue = null;
public InputActionReference gripReady = null;
public InputActionReference pinchPose = null;
public InputActionReference pinchValue = null;
public InputActionReference pinchReady = null;
public InputActionReference pokePose = null;
private Text m_Text = null;
private void Start()
{
m_Text = GetComponent<Text>();
}
void Update()
{
if (m_Text == null) { return; }
m_Text.text = (isLeft ? "Left Pointer: " : "Right Pointer: ");
m_Text.text += "\n isTracked: ";
{
if (CommonHelper.GetPoseIsTracked(pointerPose, out bool value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\n trackingState: ";
{
if (CommonHelper.GetPoseTrackingState(pointerPose, out InputTrackingState value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\n position (";
{
if (CommonHelper.GetPosePosition(pointerPose, out Vector3 value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString();
}
else
{
m_Text.text += msg;
}
}
m_Text.text += ")\n rotation (";
{
if (CommonHelper.GetPoseRotation(pointerPose, out Quaternion value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString() + ", " + value.w.ToString();
}
else
{
m_Text.text += msg;
}
}
m_Text.text += ")\nValue: ";
{
if (CommonHelper.GetAnalog(pointerValue, out float value, out string msg))
{
m_Text.text += value.ToString();
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\nReady: ";
{
if (CommonHelper.GetButton(pointerReady, out bool value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\n\n";
m_Text.text += (isLeft ? "Left Grip: " : "Right Grip: ");
m_Text.text += "\n isTracked: ";
{
if (CommonHelper.GetPoseIsTracked(gripPose, out bool value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\n trackingState: ";
{
if (CommonHelper.GetPoseTrackingState(gripPose, out InputTrackingState value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\n position (";
{
if (CommonHelper.GetPosePosition(gripPose, out Vector3 value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString();
}
else
{
m_Text.text += msg;
}
}
m_Text.text += ")\n rotation (";
{
if (CommonHelper.GetPoseRotation(gripPose, out Quaternion value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString() + ", " + value.w.ToString();
}
else
{
m_Text.text += msg;
}
}
m_Text.text += ")\nValue: ";
{
if (CommonHelper.GetAnalog(gripValue, out float value, out string msg))
{
m_Text.text += value.ToString();
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\nReady: ";
{
if (CommonHelper.GetButton(gripReady, out bool value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\n\n";
m_Text.text += (isLeft ? "Left Pinch: " : "Right Pinch: ");
m_Text.text += "\n isTracked: ";
{
if (CommonHelper.GetPoseIsTracked(pinchPose, out bool value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\n trackingState: ";
{
if (CommonHelper.GetPoseTrackingState(pinchPose, out InputTrackingState value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\n position (";
{
if (CommonHelper.GetPosePosition(pinchPose, out Vector3 value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString();
}
else
{
m_Text.text += msg;
}
}
m_Text.text += ")\n rotation (";
{
if (CommonHelper.GetPoseRotation(pinchPose, out Quaternion value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString() + ", " + value.w.ToString();
}
else
{
m_Text.text += msg;
}
}
m_Text.text += ")\nValue: ";
{
if (CommonHelper.GetAnalog(pinchValue, out float value, out string msg))
{
m_Text.text += value.ToString();
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\nReady: ";
{
if (CommonHelper.GetButton(pinchReady, out bool value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\n\n";
m_Text.text += (isLeft ? "Left Poke: " : "Right Poke: ");
m_Text.text += "\n isTracked: ";
{
if (CommonHelper.GetPoseIsTracked(pokePose, out bool value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\n trackingState: ";
{
if (CommonHelper.GetPoseTrackingState(pokePose, out InputTrackingState value, out string msg))
{
m_Text.text += value;
}
else
{
m_Text.text += msg;
}
}
m_Text.text += "\n position (";
{
if (CommonHelper.GetPosePosition(pokePose, out Vector3 value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString();
}
else
{
m_Text.text += msg;
}
}
m_Text.text += ")\n rotation (";
{
if (CommonHelper.GetPoseRotation(pokePose, out Quaternion value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString() + ", " + value.w.ToString();
}
else
{
m_Text.text += msg;
}
}
m_Text.text += ")";
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: e25dee7271229074b89aeda5179f44dc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,526 @@
{
"name": "HandInteractionExt",
"maps": [
{
"name": "Hand",
"id": "d604bbb9-5521-468f-a4aa-d0caff739814",
"actions": [
{
"name": "isTrackedL",
"type": "Button",
"id": "4af9c851-52d5-4e89-ac40-3a2479ad6205",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "trackingStateL",
"type": "Value",
"id": "a0d0317b-4ad2-429f-9005-8eed4e1e83e0",
"expectedControlType": "Integer",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "isTrackedR",
"type": "Button",
"id": "671ae28c-ae46-4e10-95fa-aa69e01c561e",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "trackingStateR",
"type": "Value",
"id": "161ed295-72c9-4e74-9956-b2ff786d6eb6",
"expectedControlType": "Integer",
"processors": "",
"interactions": "",
"initialStateCheck": true
}
],
"bindings": [
{
"name": "",
"id": "75c0a887-b27b-4bd5-846b-ba5ab1df0a5a",
"path": "<ViveHandInteractionExt>{LeftHand}/isTracked",
"interactions": "",
"processors": "",
"groups": "",
"action": "isTrackedL",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "b605cbf6-38fb-422a-b12d-48e386a67e9a",
"path": "<ViveHandInteractionExt>{RightHand}/isTracked",
"interactions": "",
"processors": "",
"groups": "",
"action": "isTrackedR",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "9535518b-92b1-45ff-9525-624d0c52de13",
"path": "<ViveHandInteractionExt>{RightHand}/trackingState",
"interactions": "",
"processors": "",
"groups": "",
"action": "trackingStateR",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "1ccbb62c-6370-4507-847e-8fda100510e8",
"path": "<ViveHandInteractionExt>{LeftHand}/trackingState",
"interactions": "",
"processors": "",
"groups": "",
"action": "trackingStateL",
"isComposite": false,
"isPartOfComposite": false
}
]
},
{
"name": "HandGrip",
"id": "f132d79b-02f5-4eb6-a752-2c3aa84b1139",
"actions": [
{
"name": "PoseL",
"type": "PassThrough",
"id": "a3ed84bf-b54f-4678-9d6f-abffd735e9e7",
"expectedControlType": "Pose",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "ValueL",
"type": "Value",
"id": "87058d55-27b6-40d1-9630-7594dab6de20",
"expectedControlType": "Axis",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "ReadyL",
"type": "Button",
"id": "3c3aae7e-d51f-4eb5-b6ed-1fb13220d188",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "PoseR",
"type": "PassThrough",
"id": "2dc1f1ce-0d35-4168-9579-1dd7ef6d6ca3",
"expectedControlType": "Pose",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "ValueR",
"type": "Value",
"id": "62ced5a3-0cd7-4ea4-aa15-1d46d39ab5e6",
"expectedControlType": "Axis",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "ReadyR",
"type": "Button",
"id": "4d41e176-1484-4cf3-980e-801a27833c1e",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": true
}
],
"bindings": [
{
"name": "",
"id": "3f8f640a-e097-4061-8658-06dc0ca6d956",
"path": "<ViveHandInteractionExt>{LeftHand}/devicePose",
"interactions": "",
"processors": "",
"groups": "",
"action": "PoseL",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "d41d33db-8b6c-4f21-9459-fd203551d990",
"path": "<ViveHandInteractionExt>{RightHand}/devicePose",
"interactions": "",
"processors": "",
"groups": "",
"action": "PoseR",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "48b33d4f-e9f9-4890-b836-d7303386c8b0",
"path": "<ViveHandInteractionExt>{LeftHand}/graspValue",
"interactions": "",
"processors": "",
"groups": "",
"action": "ValueL",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "e43dc5cd-3e96-4453-b6b2-818250c91436",
"path": "<ViveHandInteractionExt>{RightHand}/graspValue",
"interactions": "",
"processors": "",
"groups": "",
"action": "ValueR",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "3e8a289a-aa43-44fd-bbdf-ed15035ad5ef",
"path": "<ViveHandInteractionExt>{RightHand}/graspReady",
"interactions": "",
"processors": "",
"groups": "",
"action": "ReadyR",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "79e10ffe-7276-4a95-b380-9d244bc2b213",
"path": "<ViveHandInteractionExt>{LeftHand}/graspReady",
"interactions": "",
"processors": "",
"groups": "",
"action": "ReadyL",
"isComposite": false,
"isPartOfComposite": false
}
]
},
{
"name": "HandPointer",
"id": "36692239-474e-4e07-a8bf-7a4467782431",
"actions": [
{
"name": "PoseL",
"type": "PassThrough",
"id": "fc753b1d-edb3-4a34-9af3-31ed9dc68ca3",
"expectedControlType": "Pose",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "ValueL",
"type": "Value",
"id": "475ad15e-1ea0-469f-8ba6-39dbc087f8ba",
"expectedControlType": "Axis",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "ReadyL",
"type": "Button",
"id": "47e8c4a6-2dc9-411f-b9b3-08dd949b4326",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "PoseR",
"type": "PassThrough",
"id": "7d766280-e032-4e9a-bb74-55ab7a57c3e6",
"expectedControlType": "Pose",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "ValueR",
"type": "Value",
"id": "ecc71b87-e471-4bac-a287-a10392a2b90a",
"expectedControlType": "Axis",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "ReadyR",
"type": "Button",
"id": "23dbd4a9-8abd-40bf-a19d-d3c75f8090c2",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": true
}
],
"bindings": [
{
"name": "",
"id": "e14b6395-bf59-44fe-a429-90d3543e328a",
"path": "<ViveHandInteractionExt>{LeftHand}/pointer",
"interactions": "",
"processors": "",
"groups": "",
"action": "PoseL",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "cbaae569-a034-4ce6-8cdd-eef5586aaa7e",
"path": "<ViveHandInteractionExt>{RightHand}/pointer",
"interactions": "",
"processors": "",
"groups": "",
"action": "PoseR",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "514be0ed-99f4-4f3a-a53b-672c0caeb1d5",
"path": "<ViveHandInteractionExt>{LeftHand}/pointerActivateValue",
"interactions": "",
"processors": "",
"groups": "",
"action": "ValueL",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "b3c9d90b-0ad0-42c6-9cda-1ac1d74719a5",
"path": "<ViveHandInteractionExt>{RightHand}/pointerActivateValue",
"interactions": "",
"processors": "",
"groups": "",
"action": "ValueR",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "03ca7d96-43df-406f-8b41-c3b8168cbcbc",
"path": "<ViveHandInteractionExt>{RightHand}/pointerActivateReady",
"interactions": "",
"processors": "",
"groups": "",
"action": "ReadyR",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "0f20788a-3543-4fd0-8e4e-9ad56108877e",
"path": "<ViveHandInteractionExt>{LeftHand}/pointerActivateReady",
"interactions": "",
"processors": "",
"groups": "",
"action": "ReadyL",
"isComposite": false,
"isPartOfComposite": false
}
]
},
{
"name": "HandPinch",
"id": "73e09043-36b0-4cec-bda2-c1c5b861b792",
"actions": [
{
"name": "PoseL",
"type": "PassThrough",
"id": "8c32c730-5a57-4777-940f-89a87509cc55",
"expectedControlType": "Pose",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "ValueL",
"type": "Value",
"id": "6540a9fa-617c-4002-b2e3-88f570d80cdf",
"expectedControlType": "Axis",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "ReadyL",
"type": "Button",
"id": "9db1cd9a-767f-4c73-b5b4-a456d29222ef",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "PoseR",
"type": "PassThrough",
"id": "0cfeb9fc-a2ea-4d3a-bef2-16b09aae7701",
"expectedControlType": "Pose",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "ValueR",
"type": "Value",
"id": "8bd29d21-773b-48ed-83e8-f271af3ec869",
"expectedControlType": "Axis",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
{
"name": "ReadyR",
"type": "Button",
"id": "7aa30173-4639-4222-afe7-9233088036c9",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": true
}
],
"bindings": [
{
"name": "",
"id": "8b2b329b-db08-4841-a1e6-df36cb6318bc",
"path": "<ViveHandInteractionExt>{LeftHand}/pinchPose",
"interactions": "",
"processors": "",
"groups": "",
"action": "PoseL",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "92e779f7-ba6f-417d-9f4c-9d5f81790686",
"path": "<ViveHandInteractionExt>{RightHand}/pinchPose",
"interactions": "",
"processors": "",
"groups": "",
"action": "PoseR",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "f5f748fd-da48-423b-864a-340e9934041f",
"path": "<ViveHandInteractionExt>{LeftHand}/pinchValue",
"interactions": "",
"processors": "",
"groups": "",
"action": "ValueL",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "838dbd9a-6c54-4959-9a92-0168b20d3632",
"path": "<ViveHandInteractionExt>{RightHand}/pinchValue",
"interactions": "",
"processors": "",
"groups": "",
"action": "ValueR",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "30bc3116-8581-42b7-9a73-8f4ce570083e",
"path": "<ViveHandInteractionExt>{RightHand}/pinchReady",
"interactions": "",
"processors": "",
"groups": "",
"action": "ReadyR",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "9591b4cc-cf0b-4096-91ae-848358b0f366",
"path": "<ViveHandInteractionExt>{LeftHand}/pinchReady",
"interactions": "",
"processors": "",
"groups": "",
"action": "ReadyL",
"isComposite": false,
"isPartOfComposite": false
}
]
},
{
"name": "HandPoke",
"id": "a4cfc781-c114-4451-96d5-857c3a9385fa",
"actions": [
{
"name": "PoseL",
"type": "PassThrough",
"id": "e9feeab8-c68c-47d7-8560-8f3b2c44d2bf",
"expectedControlType": "Pose",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "PoseR",
"type": "PassThrough",
"id": "1bac4e9e-ce3d-4218-bbca-255ef780cf6c",
"expectedControlType": "Pose",
"processors": "",
"interactions": "",
"initialStateCheck": false
}
],
"bindings": [
{
"name": "",
"id": "efd73d26-df7d-4b90-93c2-202a5f70c05c",
"path": "<ViveHandInteractionExt>{LeftHand}/pokePose",
"interactions": "",
"processors": "",
"groups": "",
"action": "PoseL",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "124f3c45-0d83-4302-9f2a-cb945f7c268e",
"path": "<ViveHandInteractionExt>{RightHand}/pokePose",
"interactions": "",
"processors": "",
"groups": "",
"action": "PoseR",
"isComposite": false,
"isPartOfComposite": false
}
]
}
],
"controlSchemes": []
}

View File

@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: a3cf112ff75fe4944a9c9f651df874b7
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3}
generateWrapperCode: 0
wrapperCodePath:
wrapperClassName:
wrapperCodeNamespace:

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8e89ffc8806723b4798400329dd5e852
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -3,7 +3,12 @@ guid: 407031a402781d048945abb5156739ad
ModelImporter:
serializedVersion: 21300
internalIDToNameTable: []
externalObjects: {}
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Vive_UltimateTracker1
second: {fileID: 2100000, guid: 059b53ad53194a842b6db98a2ec57e27, type: 2}
materials:
materialImportMode: 2
materialName: 0

View File

@@ -1,78 +1,80 @@
%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: Black
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.05660379, g: 0.055268794, b: 0.055268794, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
%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: Vive_Ultimate_Tracker_BaseMap
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
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: 690c418cfde810e448d3fdc5756be4e1, 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.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: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: ad898bf3866892e46a7dfe774004a22d
guid: 059b53ad53194a842b6db98a2ec57e27
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000

View File

@@ -61,7 +61,7 @@ MeshRenderer:
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 5904567748361503788, guid: 407031a402781d048945abb5156739ad, type: 3}
- {fileID: 2100000, guid: 059b53ad53194a842b6db98a2ec57e27, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0

View File

@@ -4,6 +4,7 @@ using UnityEngine;
using UnityEngine.UI;
using UnityEngine.XR;
using VIVE.OpenXR;
using VIVE.OpenXR.DisplayRefreshRate;
namespace UnityEngine.XR.OpenXR.Samples.ControllerSample
{
@@ -64,10 +65,18 @@ namespace UnityEngine.XR.OpenXR.Samples.ControllerSample
m_LastRecenteredTime = Time.time;
}*/
static private void OnDisplayRateChanged(float fromRate, float toRate)
{
Debug.Log("DisplayRefreshRate fromRate = " + fromRate);
Debug.Log("DisplayRefreshRate toRate = " + toRate);
}
public void OnDesiredSelectionChanged(int newValue)
{
desiredTrackingOriginMode = (TrackingOriginModeFlags)(newValue == 0 ? 0 : (1 << (newValue - 1)));
#if UNITY_ANDROID
ViveDisplayRefreshRateChanged.Listen(OnDisplayRateChanged);
if (desiredTrackingOriginMode == TrackingOriginModeFlags.Device)
{
float value;
@@ -103,6 +112,7 @@ namespace UnityEngine.XR.OpenXR.Samples.ControllerSample
}
}
#endif
}
private void TrackingOriginUpdated(TrackingOriginModeFlags mode)

View File

@@ -35,20 +35,8 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
public bool UseInputAction { get { return m_UseInputAction; } set { m_UseInputAction = value; } }
[SerializeField]
private InputActionReference m_IsTracked = null;
public InputActionReference IsTracked { get { return m_IsTracked; } set { m_IsTracked = value; } }
[SerializeField]
private InputActionReference m_TrackingState = null;
public InputActionReference TrackingState { get { return m_TrackingState; } set { m_TrackingState = value; } }
[SerializeField]
private InputActionReference m_Position = null;
public InputActionReference Position { get { return m_Position; } set { m_Position = value; } }
[SerializeField]
private InputActionReference m_Rotation = null;
public InputActionReference Rotation { get { return m_Rotation; } set { m_Rotation = value; } }
private InputActionReference m_DevicePose = null;
public InputActionReference DevicePose { get { return m_DevicePose; } set { m_DevicePose = value; } }
#endif
/// <summary> VIVE Left Controller Characteristics </summary>
public const InputDeviceCharacteristics kControllerLeftCharacteristics = (
@@ -200,7 +188,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
{
m_Text.text += "isTracked: ";
{
if (Utils.GetButton(m_IsTracked, out bool value, out string msg))
if (CommonHelper.GetPoseIsTracked(m_DevicePose, out bool value, out string msg))
{
m_Text.text += value;
}
@@ -212,7 +200,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
m_Text.text += "\n";
m_Text.text += "trackingState: ";
{
if (Utils.GetInteger(m_TrackingState, out InputTrackingState value, out string msg))
if (CommonHelper.GetPoseTrackingState(m_DevicePose, out InputTrackingState value, out string msg))
{
m_Text.text += value;
}
@@ -224,7 +212,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
m_Text.text += "\n";
m_Text.text += "position (";
{
if (Utils.GetVector3(m_Position, out Vector3 value, out string msg))
if (CommonHelper.GetPosePosition(m_DevicePose, out Vector3 value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString();
}
@@ -236,7 +224,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
m_Text.text += ")\n";
m_Text.text += "rotation (";
{
if (Utils.GetQuaternion(m_Rotation, out Quaternion value, out string msg))
if (CommonHelper.GetPoseRotation(m_DevicePose, out Quaternion value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString() + ", " + value.w.ToString();
}

View File

@@ -30,20 +30,8 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
#if ENABLE_INPUT_SYSTEM
[SerializeField]
private InputActionReference m_IsTracked = null;
public InputActionReference IsTracked { get { return m_IsTracked; } set { m_IsTracked = value; } }
[SerializeField]
private InputActionReference m_TrackingState = null;
public InputActionReference TrackingState { get { return m_TrackingState; } set { m_TrackingState = value; } }
[SerializeField]
private InputActionReference m_Position = null;
public InputActionReference Position { get { return m_Position; } set { m_Position = value; } }
[SerializeField]
private InputActionReference m_Rotation = null;
public InputActionReference Rotation { get { return m_Rotation; } set { m_Rotation = value; } }
private InputActionReference m_GripPose = null;
public InputActionReference GripPose { get { return m_GripPose; } set { m_GripPose = value; } }
[SerializeField]
private InputActionReference m_Strength = null;
@@ -72,7 +60,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
#if ENABLE_INPUT_SYSTEM
m_Text.text += "\nisTracked: ";
{
if (Utils.GetButton(m_IsTracked, out bool value, out string msg))
if (CommonHelper.GetPoseIsTracked(m_GripPose, out bool value, out string msg))
{
m_Text.text += value;
}
@@ -83,7 +71,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
}
m_Text.text += "\ntrackingState: ";
{
if (Utils.GetInteger(m_TrackingState, out InputTrackingState value, out string msg))
if (CommonHelper.GetPoseTrackingState(m_GripPose, out InputTrackingState value, out string msg))
{
m_Text.text += value;
}
@@ -94,7 +82,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
}
m_Text.text += "\nposition (";
{
if (Utils.GetVector3(m_Position, out Vector3 value, out string msg))
if (CommonHelper.GetPosePosition(m_GripPose, out Vector3 value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString();
}
@@ -105,7 +93,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
}
m_Text.text += ")\nrotation (";
{
if (Utils.GetQuaternion(m_Rotation, out Quaternion value, out string msg))
if (CommonHelper.GetPoseRotation(m_GripPose, out Quaternion value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString() + ", " + value.w.ToString();
}
@@ -116,7 +104,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
}
m_Text.text += ")\nstrength: ";
{
if (Utils.GetAnalog(m_Strength, out float value, out string msg))
if (CommonHelper.GetAnalog(m_Strength, out float value, out string msg))
{
m_Text.text += value.ToString();
}
@@ -131,7 +119,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
#if ENABLE_INPUT_SYSTEM
m_Text.text += "\nisTracked: ";
{
if (Utils.GetPoseIsTracked(m_AimPose, out bool value, out string msg))
if (CommonHelper.GetPoseIsTracked(m_AimPose, out bool value, out string msg))
{
m_Text.text += value;
}
@@ -142,7 +130,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
}
m_Text.text += "\ntrackingState: ";
{
if (Utils.GetPoseTrackingState(m_AimPose, out InputTrackingState value, out string msg))
if (CommonHelper.GetPoseTrackingState(m_AimPose, out InputTrackingState value, out string msg))
{
m_Text.text += value;
}
@@ -153,7 +141,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
}
m_Text.text += "\nposition (";
{
if (Utils.GetPosePosition(m_AimPose, out Vector3 value, out string msg))
if (CommonHelper.GetPosePosition(m_AimPose, out Vector3 value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString();
}
@@ -164,7 +152,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
}
m_Text.text += ")\nrotation (";
{
if (Utils.GetPoseRotation(m_AimPose, out Quaternion value, out string msg))
if (CommonHelper.GetPoseRotation(m_AimPose, out Quaternion value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString() + ", " + value.w.ToString();
}
@@ -176,7 +164,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
m_Text.text += ")\n";
m_Text.text += "select: ";
{
if (Utils.GetAnalog(m_SelectValue, out float value, out string msg))
if (CommonHelper.GetAnalog(m_SelectValue, out float value, out string msg))
{
m_Text.text += value;
}

View File

@@ -21,11 +21,11 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
if (m_DevicePose == null) { return; }
string msg = "";
if (Utils.GetPosePosition(m_DevicePose, out Vector3 pos, out msg))
if (CommonHelper.GetPosePosition(m_DevicePose, out Vector3 pos, out msg))
{
transform.localPosition = pos;
}
if (Utils.GetPoseRotation(m_DevicePose, out Quaternion rot, out msg))
if (CommonHelper.GetPoseRotation(m_DevicePose, out Quaternion rot, out msg))
{
transform.localRotation = rot;
}

View File

@@ -172,16 +172,20 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
if (getButton(m_Menu))
DEBUG("Update() " + m_Menu.name + " is pressed.");
if (tracked)
#if !UNITY_XR_OPENXR_1_6_0
if (tracked) // The isTracked value of Pose will always be flase in OpenXR 1.6.0
#endif
{
transform.localPosition = position;
transform.localRotation = rotation;
}
#if !UNITY_XR_OPENXR_1_6_0
else
{
if (printIntervalLog)
DEBUG("Update() Tracker is not tracked.");
}
#endif
}
}
}

View File

@@ -59,20 +59,20 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
m_Text.text = "Left Tracker ";
{ // Tracked
if (Utils.GetButton(m_TrackedL, out bool value, out string msg))
if (CommonHelper.GetButton(m_TrackedL, out bool value, out string msg))
{
m_Text.text += "tracked: " + value + ", ";
}
}
{ // trackingState
if (Utils.GetInteger(m_TrackingStateL, out InputTrackingState value, out string msg))
if (CommonHelper.GetInteger(m_TrackingStateL, out InputTrackingState value, out string msg))
{
m_Text.text += "state: " + value + ", ";
}
}
{ // Left X
if (Utils.GetButton(m_LeftX, out bool value, out string msg))
if (CommonHelper.GetButton(m_LeftX, out bool value, out string msg))
{
if (value)
{
@@ -82,7 +82,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
}
}
{ // Left Menu
if (Utils.GetButton(m_LeftMenu, out bool value, out string msg))
if (CommonHelper.GetButton(m_LeftMenu, out bool value, out string msg))
{
if (value)
{
@@ -96,20 +96,20 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
m_Text.text += "\nRight Tracker ";
{ // Tracked
if (Utils.GetButton(m_TrackedR, out bool value, out string msg))
if (CommonHelper.GetButton(m_TrackedR, out bool value, out string msg))
{
m_Text.text += "tracked: " + value + ", ";
}
}
{ // trackingState
if (Utils.GetInteger(m_TrackingStateR, out InputTrackingState value, out string msg))
if (CommonHelper.GetInteger(m_TrackingStateR, out InputTrackingState value, out string msg))
{
m_Text.text += "state: " + value + ", ";
}
}
{ // Right A
if (Utils.GetButton(m_RightA, out bool value, out string msg))
if (CommonHelper.GetButton(m_RightA, out bool value, out string msg))
{
if (value)
{

View File

@@ -64,10 +64,6 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
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()
{
@@ -82,7 +78,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
m_Text.text += " isTracked: ";
{
if (Utils.GetButton(m_IsTracked, out bool value, out string msg))
if (CommonHelper.GetButton(m_IsTracked, out bool value, out string msg))
{
m_Text.text += value;
}
@@ -94,7 +90,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
m_Text.text += "\n";
m_Text.text += "trackingState: ";
{
if (Utils.GetInteger(m_TrackingState, out InputTrackingState value, out string msg))
if (CommonHelper.GetInteger(m_TrackingState, out InputTrackingState value, out string msg))
{
m_Text.text += value;
}
@@ -106,7 +102,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
m_Text.text += "\n";
m_Text.text += "position (";
{
if (Utils.GetVector3(m_Position, out Vector3 value, out string msg))
if (CommonHelper.GetVector3(m_Position, out Vector3 value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString();
}
@@ -118,7 +114,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
m_Text.text += ")\n";
m_Text.text += "rotation (";
{
if (Utils.GetQuaternion(m_Rotation, out Quaternion value, out string msg))
if (CommonHelper.GetQuaternion(m_Rotation, out Quaternion value, out string msg))
{
m_Text.text += value.x.ToString() + ", " + value.y.ToString() + ", " + value.z.ToString() + ", " + value.w.ToString();
}
@@ -130,7 +126,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
m_Text.text += ")";
m_Text.text += "\nmenu: ";
{
if (Utils.GetButton(m_Menu, out bool value, out string msg))
if (CommonHelper.GetButton(m_Menu, out bool value, out string msg))
{
m_Text.text += value;
}
@@ -141,7 +137,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
}
m_Text.text += "\ngrip: ";
{
if (Utils.GetButton(m_GripPress, out bool value, out string msg))
if (CommonHelper.GetButton(m_GripPress, out bool value, out string msg))
{
m_Text.text += value;
}
@@ -152,11 +148,11 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
}
m_Text.text += "\ntrigger press: ";
{
if (Utils.GetButton(m_TriggerPress, out bool value, out string msg))
if (CommonHelper.GetButton(m_TriggerPress, out bool value, out string msg))
{
m_Text.text += value;
if (Utils.PerformHaptic(m_TriggerPress, out msg))
if (CommonHelper.PerformHaptic(m_TriggerPress, out msg))
{
m_Text.text += ", Vibrate";
}
@@ -172,18 +168,7 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
}
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))
if (CommonHelper.GetButton(m_TrackpadPress, out bool value, out string msg))
{
m_Text.text += value;
}

View File

@@ -0,0 +1,56 @@
// Copyright HTC Corporation All Rights Reserved.
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.XR.OpenXR;
/*#if ENABLE_INPUT_SYSTEM
using UnityEngine.InputSystem;
#endif*/
using VIVE.OpenXR.FrameSynchronization;
namespace VIVE.OpenXR.Samples.OpenXRInput
{
[RequireComponent(typeof(Text))]
public class UserPresence : MonoBehaviour
{
private Text m_Text = null;
private void Awake()
{
m_Text = GetComponent<Text>();
}
private void OnEnable()
{
GetFrameSynchronizationMode();
}
private void Update()
{
if (m_Text == null) { return; }
m_Text.text = "User is " + (IsUserPresent() ? "Present" : "Away") + ", " + m_FrameSynchronizationMode;
//Debug.LogFormat("VIVE.OpenXR.Samples.OpenXRInput.UserPresence Update() {0}", m_Text.text);
}
public bool IsUserPresent()
{
/*#if UNITY_ANDROID && ENABLE_INPUT_SYSTEM
if (ProximitySensor.current != null)
{
if (!ProximitySensor.current.IsActuated())
InputSystem.EnableDevice(ProximitySensor.current);
return ProximitySensor.current.distance.ReadValue() < 1; // near p-sensor < 1cm
}
#endif*/
return XR_EXT_user_presence.Interop.IsUserPresent();
}
private string m_FrameSynchronizationMode = "No FS";
private void GetFrameSynchronizationMode()
{
ViveFrameSynchronization feature = OpenXRSettings.Instance.GetFeature<ViveFrameSynchronization>();
m_FrameSynchronizationMode = feature ? feature.GetSynchronizationMode().ToString() : "No FS";
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 06fce22bc702c664fb91ec6da2adb7a6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -10,6 +10,7 @@ using UnityEngine.InputSystem;
namespace VIVE.OpenXR.Samples.OpenXRInput
{
[Obsolete("This class is deprecated. Please use VIVE.OpenXR.Samples.CommonHelper instead.")]
public static class Utils
{
public enum DeviceTypes : UInt32
@@ -219,7 +220,6 @@ namespace VIVE.OpenXR.Samples.OpenXRInput
if (actionReference.action.activeControl.valueType == typeof(Quaternion))
value = actionReference.action.ReadValue<Quaternion>();
Vector3 direction = value * Vector3.forward;
return true;
}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: c8e962475ab40f34aad32fd01175ff0c
guid: 1d1b5a4bac3a8e8459f99444077e1e38
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

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

View File

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

View File

@@ -1,12 +1,12 @@
fileFormatVersion: 2
guid: 6260676f62ad32845bd83a0adbf6fd05
guid: 690c418cfde810e448d3fdc5756be4e1
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0

View File

@@ -0,0 +1,135 @@
fileFormatVersion: 2
guid: cd516ae3f4d095d478df46d9a9e9c22e
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
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
cookieLightType: 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
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
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,135 @@
fileFormatVersion: 2
guid: f31b44eca29026147b23252265a9b1e0
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
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
cookieLightType: 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
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
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,135 @@
fileFormatVersion: 2
guid: bb13cb3ee9ec8c442a11650dd48df614
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
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
cookieLightType: 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
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
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,7 @@
fileFormatVersion: 2
guid: 37fafa14ce44e084c9515a88ebfae47c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,23 +1,19 @@
using System.Collections;
using System.Collections.Generic;
// Copyright HTC Corporation All Rights Reserved.
using UnityEngine;
using VIVE.OpenXR.CompositionLayer;
using VIVE.OpenXR.CompositionLayer.Passthrough;
using VIVE.OpenXR.Passthrough;
using VIVE.OpenXR.Samples;
namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
{
public class PassthroughSample_Planar : MonoBehaviour
{
private int activePassthroughID = 0;
private OpenXR.Passthrough.XrPassthroughHTC activePassthroughID = 0;
private LayerType currentActiveLayerType = LayerType.Underlay;
private void Update()
{
if (VRSInputManager.instance.GetButtonDown(VRSButtonReference.B)) //Set Passthrough as Overlay
{
SetPassthroughToOverlay();
@@ -37,7 +33,7 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
{
if(activePassthroughID != 0)
{
CompositionLayerPassthroughAPI.DestroyPassthrough(activePassthroughID);
PassthroughAPI.DestroyPassthrough(activePassthroughID);
activePassthroughID = 0;
}
}
@@ -47,7 +43,7 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
{
if (activePassthroughID != 0)
{
CompositionLayerPassthroughAPI.SetPassthroughLayerType(activePassthroughID, LayerType.Overlay);
PassthroughAPI.SetPassthroughLayerType(activePassthroughID, LayerType.Overlay);
currentActiveLayerType = LayerType.Overlay;
}
}
@@ -56,19 +52,19 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
{
if (activePassthroughID != 0)
{
CompositionLayerPassthroughAPI.SetPassthroughLayerType(activePassthroughID, LayerType.Underlay);
PassthroughAPI.SetPassthroughLayerType(activePassthroughID, LayerType.Underlay);
currentActiveLayerType = LayerType.Underlay;
}
}
void StartPassthrough()
{
activePassthroughID = CompositionLayerPassthroughAPI.CreatePlanarPassthrough(currentActiveLayerType, OnDestroyPassthroughFeatureSession);
PassthroughAPI.CreatePlanarPassthrough(out activePassthroughID, currentActiveLayerType, OnDestroyPassthroughFeatureSession);
}
void OnDestroyPassthroughFeatureSession(int passthroughID)
void OnDestroyPassthroughFeatureSession(OpenXR.Passthrough.XrPassthroughHTC passthroughID)
{
CompositionLayerPassthroughAPI.DestroyPassthrough(passthroughID);
PassthroughAPI.DestroyPassthrough(passthroughID);
activePassthroughID = 0;
}
}

View File

@@ -1,10 +1,9 @@
using System.Collections;
using System.Collections.Generic;
// Copyright HTC Corporation All Rights Reserved.
using UnityEngine;
using UnityEngine.UI;
using VIVE.OpenXR.CompositionLayer;
using VIVE.OpenXR.CompositionLayer.Passthrough;
using VIVE.OpenXR.Passthrough;
using VIVE.OpenXR.Samples;
namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
@@ -21,7 +20,7 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
private Vector3 scale = Vector3.one;
private float scaleModifier = 1f;
private int activePassthroughID = 0;
private OpenXR.Passthrough.XrPassthroughHTC activePassthroughID = 0;
private LayerType currentActiveLayerType = LayerType.Underlay;
private ProjectedPassthroughSpaceType currentActiveSpaceType = ProjectedPassthroughSpaceType.Worldlock;
@@ -69,7 +68,7 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
{
if (activePassthroughID != 0)
{
CompositionLayerPassthroughAPI.DestroyPassthrough(activePassthroughID);
PassthroughAPI.DestroyPassthrough(activePassthroughID);
activePassthroughID = 0;
}
}
@@ -79,7 +78,7 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
{
if (activePassthroughID != 0)
{
CompositionLayerPassthroughAPI.SetPassthroughLayerType(activePassthroughID, LayerType.Overlay);
PassthroughAPI.SetPassthroughLayerType(activePassthroughID, LayerType.Overlay);
currentActiveLayerType = LayerType.Overlay;
}
}
@@ -88,7 +87,7 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
{
if (activePassthroughID != 0)
{
CompositionLayerPassthroughAPI.SetPassthroughLayerType(activePassthroughID, LayerType.Underlay);
PassthroughAPI.SetPassthroughLayerType(activePassthroughID, LayerType.Underlay);
currentActiveLayerType = LayerType.Underlay;
}
}
@@ -97,7 +96,7 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
{
if (activePassthroughID != 0)
{
if (CompositionLayerPassthroughAPI.SetProjectedPassthroughSpaceType(activePassthroughID, ProjectedPassthroughSpaceType.Headlock))
if (PassthroughAPI.SetProjectedPassthroughSpaceType(activePassthroughID, ProjectedPassthroughSpaceType.Headlock))
{
passthroughMeshTransform.SetParent(hmd.transform);
@@ -110,7 +109,7 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
{
if (activePassthroughID != 0)
{
if (CompositionLayerPassthroughAPI.SetProjectedPassthroughSpaceType(activePassthroughID, ProjectedPassthroughSpaceType.Worldlock))
if (PassthroughAPI.SetProjectedPassthroughSpaceType(activePassthroughID, ProjectedPassthroughSpaceType.Worldlock))
{
passthroughMeshTransform.SetParent(null);
@@ -131,30 +130,30 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
void StartPassthrough()
{
activePassthroughID = CompositionLayerPassthroughAPI.CreateProjectedPassthrough(currentActiveLayerType, OnDestroyPassthroughFeatureSession);
PassthroughAPI.CreateProjectedPassthrough(out activePassthroughID, currentActiveLayerType, OnDestroyPassthroughFeatureSession);
SetPassthroughMesh();
}
void SetPassthroughMesh()
{
CompositionLayerPassthroughAPI.SetProjectedPassthroughMesh(activePassthroughID, passthroughMesh.vertices, passthroughMesh.triangles);
PassthroughAPI.SetProjectedPassthroughMesh(activePassthroughID, passthroughMesh.vertices, passthroughMesh.triangles);
switch (currentActiveSpaceType)
{
case ProjectedPassthroughSpaceType.Headlock: //Apply HMD offset
Vector3 relativePosition = hmd.transform.InverseTransformPoint(passthroughMeshTransform.transform.position);
Quaternion relativeRotation = Quaternion.Inverse(hmd.transform.rotation).normalized * passthroughMeshTransform.transform.rotation.normalized;
CompositionLayerPassthroughAPI.SetProjectedPassthroughMeshTransform(activePassthroughID, currentActiveSpaceType, relativePosition, relativeRotation, scale * scaleModifier, false);
PassthroughAPI.SetProjectedPassthroughMeshTransform(activePassthroughID, currentActiveSpaceType, relativePosition, relativeRotation, scale * scaleModifier, false);
break;
case ProjectedPassthroughSpaceType.Worldlock:
default:
CompositionLayerPassthroughAPI.SetProjectedPassthroughMeshTransform(activePassthroughID, currentActiveSpaceType, passthroughMeshTransform.transform.position, passthroughMeshTransform.transform.rotation, scale * scaleModifier);
PassthroughAPI.SetProjectedPassthroughMeshTransform(activePassthroughID, currentActiveSpaceType, passthroughMeshTransform.transform.position, passthroughMeshTransform.transform.rotation, scale * scaleModifier);
break;
}
}
void OnDestroyPassthroughFeatureSession(int passthroughID)
void OnDestroyPassthroughFeatureSession(OpenXR.Passthrough.XrPassthroughHTC passthrough)
{
CompositionLayerPassthroughAPI.DestroyPassthrough(passthroughID);
PassthroughAPI.DestroyPassthrough(passthrough);
activePassthroughID = 0;
}
}

View File

@@ -0,0 +1,243 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using VIVE.OpenXR;
using VIVE.OpenXR.CompositionLayer;
using VIVE.OpenXR.Passthrough;
public class Passthrough_manager : MonoBehaviour
{
public TMP_Dropdown dropdown;
//public Slider slider;
private VIVE.OpenXR.Passthrough.XrPassthroughHTC activePassthroughID = 0;
private LayerType currentActiveLayerType = LayerType.Underlay;
static UInt32 count = 0;
static XrPassthroughConfigurationImageRateHTC[] arrays = new XrPassthroughConfigurationImageRateHTC[2];
static XrPassthroughConfigurationImageRateHTC config_rate = new XrPassthroughConfigurationImageRateHTC();
static XrPassthroughConfigurationImageQualityHTC config_quality = new XrPassthroughConfigurationImageQualityHTC();
static bool inited = false;
// Start is called before the first frame update
void Start()
{
Debug.Log("Passthrough_manager EnumeratePassthroughImageRatesHTC");
XrResult result = XR_HTC_passthrough_configuration.EnumeratePassthroughImageRatesHTC(imageRateCapacityInput: 0, imageRateCountOutput: ref count, imageRates: arrays);
Debug.Log("Passthrough_manager EnumeratePassthroughImageRatesHTC = " + count);
if (result == XrResult.XR_SUCCESS)
{
Array.Resize(ref arrays, (int)count);
List<String> Options = new List<String>();
result = XR_HTC_passthrough_configuration.EnumeratePassthroughImageRatesHTC(imageRateCapacityInput: count, imageRateCountOutput: ref count, imageRates: arrays);
if (result == XrResult.XR_SUCCESS)
{
for (int i = 0; i < count; i++)
{
Debug.Log("Passthrough_manager EnumeratePassthroughImageRatesHTC index " + i + " srcImageRate = " + arrays[i].srcImageRate);
Debug.Log("Passthrough_manager EnumeratePassthroughImageRatesHTC index " + i + " dstImageRate = " + arrays[i].dstImageRate);
Options.Add(new String(arrays[i].srcImageRate + "/" + arrays[i].dstImageRate));
}
}
dropdown.ClearOptions();
dropdown.AddOptions(Options);
Debug.Log("Passthrough_manager count = " + dropdown.options.Count);
}
else
{
Debug.Log("Passthrough_manager EnumeratePassthroughImageRatesHTC result = " + result);
}
config_rate.type = XrStructureType.XR_TYPE_PASSTHROUGH_CONFIGURATION_IMAGE_RATE_HTC;
config_rate.next = IntPtr.Zero;
int size = Marshal.SizeOf(typeof(XrPassthroughConfigurationImageRateHTC));
IntPtr ptr = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr(config_rate, ptr, false);
if (XR_HTC_passthrough_configuration.GetPassthroughConfigurationHTC(ptr) == XrResult.XR_SUCCESS)
{
config_rate = (XrPassthroughConfigurationImageRateHTC)Marshal.PtrToStructure(ptr, typeof(XrPassthroughConfigurationImageRateHTC));
Debug.Log("Passthrough_manager get srcImageRate = " + config_rate.srcImageRate);
Debug.Log("Passthrough_manager get dstImageRate = " + config_rate.dstImageRate);
}
Marshal.FreeHGlobal(ptr);
config_quality.type = XrStructureType.XR_TYPE_PASSTHROUGH_CONFIGURATION_IMAGE_QUALITY_HTC;
config_quality.next = IntPtr.Zero;
int size2 = Marshal.SizeOf(typeof(XrPassthroughConfigurationImageQualityHTC));
IntPtr ptr2 = Marshal.AllocHGlobal(size2);
Marshal.StructureToPtr(config_quality, ptr2, false);
if (XR_HTC_passthrough_configuration.GetPassthroughConfigurationHTC(ptr2) == XrResult.XR_SUCCESS)
{
config_quality = (XrPassthroughConfigurationImageQualityHTC)Marshal.PtrToStructure(ptr2, typeof(XrPassthroughConfigurationImageQualityHTC));
Debug.Log("Passthrough_manager get scale = " + config_quality.scale);
}
Marshal.FreeHGlobal(ptr2);
//slider.value = config_quality.scale;
dropdown.onValueChanged.AddListener(DropdownValueChanged);
}
static private void OnImageQualityChanged(float fromQuality, float toQuality)
{
Debug.Log("Passthrough_manager from scale = " + fromQuality);
Debug.Log("Passthrough_manager to scale = " + toQuality);
}
static private void OnImageRateChanged(float fromSrcImageRate, float fromDestImageRate, float toSrcImageRate, float toDestImageRate)
{
Debug.Log("Passthrough_manager fromSrcImageRate = " + fromSrcImageRate);
Debug.Log("Passthrough_manager fromDestImageRate = " + fromDestImageRate);
Debug.Log("Passthrough_manager toSrcImageRate = " + toSrcImageRate);
Debug.Log("Passthrough_manager toDestImageRate = " + toDestImageRate);
}
static public void Set_Quality1()
{
VivePassthroughImageQualityChanged.Listen(OnImageQualityChanged);
XrPassthroughConfigurationImageQualityHTC config = new XrPassthroughConfigurationImageQualityHTC();
config.type = XrStructureType.XR_TYPE_PASSTHROUGH_CONFIGURATION_IMAGE_QUALITY_HTC;
config.next = IntPtr.Zero;
config.scale = 0.25f;
int size = Marshal.SizeOf(typeof(XrPassthroughConfigurationImageQualityHTC));
IntPtr ptr = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr(config, ptr, false);
if (XR_HTC_passthrough_configuration.SetPassthroughConfigurationHTC(ptr) == XrResult.XR_SUCCESS)
{
Debug.Log("Passthrough_manager set scale = " + config.scale);
}
Marshal.FreeHGlobal(ptr);
}
static public void Set_Quality2()
{
VivePassthroughImageQualityChanged.Listen(OnImageQualityChanged);
XrPassthroughConfigurationImageQualityHTC config = new XrPassthroughConfigurationImageQualityHTC();
config.type = XrStructureType.XR_TYPE_PASSTHROUGH_CONFIGURATION_IMAGE_QUALITY_HTC;
config.next = IntPtr.Zero;
config.scale = 0.50f;
int size = Marshal.SizeOf(typeof(XrPassthroughConfigurationImageQualityHTC));
IntPtr ptr = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr(config, ptr, false);
if (XR_HTC_passthrough_configuration.SetPassthroughConfigurationHTC(ptr) == XrResult.XR_SUCCESS)
{
Debug.Log("Passthrough_manager set scale = " + config.scale);
}
Marshal.FreeHGlobal(ptr);
}
static public void Set_Quality3()
{
VivePassthroughImageQualityChanged.Listen(OnImageQualityChanged);
XrPassthroughConfigurationImageQualityHTC config = new XrPassthroughConfigurationImageQualityHTC();
config.type = XrStructureType.XR_TYPE_PASSTHROUGH_CONFIGURATION_IMAGE_QUALITY_HTC;
config.next = IntPtr.Zero;
config.scale = 0.75f;
int size = Marshal.SizeOf(typeof(XrPassthroughConfigurationImageQualityHTC));
IntPtr ptr = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr(config, ptr, false);
if (XR_HTC_passthrough_configuration.SetPassthroughConfigurationHTC(ptr) == XrResult.XR_SUCCESS)
{
Debug.Log("Passthrough_manager set scale = " + config.scale);
}
Marshal.FreeHGlobal(ptr);
}
static public void Set_Quality4()
{
VivePassthroughImageQualityChanged.Listen(OnImageQualityChanged);
XrPassthroughConfigurationImageQualityHTC config = new XrPassthroughConfigurationImageQualityHTC();
config.type = XrStructureType.XR_TYPE_PASSTHROUGH_CONFIGURATION_IMAGE_QUALITY_HTC;
config.next = IntPtr.Zero;
config.scale = 1.00f;
int size = Marshal.SizeOf(typeof(XrPassthroughConfigurationImageQualityHTC));
IntPtr ptr = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr(config, ptr, false);
if (XR_HTC_passthrough_configuration.SetPassthroughConfigurationHTC(ptr) == XrResult.XR_SUCCESS)
{
Debug.Log("Passthrough_manager set scale = " + config.scale);
}
Marshal.FreeHGlobal(ptr);
}
static public void DropdownValueChanged(int idx)
{
VivePassthroughImageRateChanged.Listen(OnImageRateChanged);
Debug.Log("Passthrough_manager dropdown value = " + idx);
XrPassthroughConfigurationImageRateHTC config = new XrPassthroughConfigurationImageRateHTC();
config.type = XrStructureType.XR_TYPE_PASSTHROUGH_CONFIGURATION_IMAGE_RATE_HTC;
config.next = IntPtr.Zero;
config.srcImageRate = arrays[idx].srcImageRate;
config.dstImageRate = arrays[idx].dstImageRate;
int size = Marshal.SizeOf(typeof(XrPassthroughConfigurationImageRateHTC));
IntPtr ptr = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr(config, ptr, false);
if (XR_HTC_passthrough_configuration.SetPassthroughConfigurationHTC(ptr) == XrResult.XR_SUCCESS)
{
Debug.Log("Passthrough_manager set srcImageRate = " + config.srcImageRate);
Debug.Log("Passthrough_manager set dstImageRate = " + config.dstImageRate);
}
Marshal.FreeHGlobal(ptr);
}
// Update is called once per frame
void Update()
{
if (!inited)
{
inited = true;
}
}
void StartPassthrough()
{
PassthroughAPI.CreatePlanarPassthrough(out activePassthroughID, currentActiveLayerType, OnDestroyPassthroughFeatureSession);
}
void OnDestroyPassthroughFeatureSession(VIVE.OpenXR.Passthrough.XrPassthroughHTC passthroughID)
{
PassthroughAPI.DestroyPassthrough(passthroughID);
activePassthroughID = 0;
}
public void EnablePassthrough()
{
if (activePassthroughID == 0)
{
StartPassthrough();
}
}
public void DisablePassthrough()
{
if (activePassthroughID != 0)
{
PassthroughAPI.DestroyPassthrough(activePassthroughID);
activePassthroughID = 0;
}
//dropdown.onValueChanged.RemoveListener(DropdownValueChanged);
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 58d2ddb40a3cc7d4c932f869f43073c2
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