diff --git a/Editor/HumanoidControl/Targets/FootTarget_Editor.cs b/Editor/HumanoidControl/Targets/FootTarget_Editor.cs index 6df0505..ca2d9d4 100644 --- a/Editor/HumanoidControl/Targets/FootTarget_Editor.cs +++ b/Editor/HumanoidControl/Targets/FootTarget_Editor.cs @@ -33,7 +33,7 @@ namespace Passer { private void InitEditors() { allProps = new TargetProps[] { -#if hOPENVR && hVIVETRACKER && (UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX) +#if hVIVETRACKER new ViveTracker_Editor.FootTargetProps(serializedObject, footTarget), #endif #if hKINECT1 diff --git a/Editor/PasserVR.HumanoidControl.Editor.asmdef b/Editor/PasserVR.HumanoidControl.Editor.asmdef index 6b5decb..28698d3 100644 --- a/Editor/PasserVR.HumanoidControl.Editor.asmdef +++ b/Editor/PasserVR.HumanoidControl.Editor.asmdef @@ -7,7 +7,8 @@ "PhotonVoice", "PhotonVoice.PUN", "PhotonRealtime", - "PhotonVoice.API" + "PhotonVoice.API", + "SteamVR" ], "includePlatforms": [ "Editor" diff --git a/Runtime/HumanoidControl/Readme.txt b/Runtime/HumanoidControl/Readme.txt deleted file mode 100644 index abf0cc7..0000000 --- a/Runtime/HumanoidControl/Readme.txt +++ /dev/null @@ -1,13 +0,0 @@ -Humanoid Control -Version: 4.0 beta 3 - -Improvements -- Support for hand tracking (Oculus, Leap & Vive) -- Support for startup.json in persistentData on Android -- Add Enter Site URL for Desktop Visitor -- Add site loading message -- Add Visitor Name -- Switch to Assembly Definitions -- Support for Unity 2021.2+ -- Interaction pointer color is now default orange -- Visitor pointing with hand tracking support \ No newline at end of file diff --git a/Runtime/HumanoidControl/Readme.txt.meta b/Runtime/HumanoidControl/Readme.txt.meta deleted file mode 100644 index 7529b12..0000000 --- a/Runtime/HumanoidControl/Readme.txt.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a4d5a0f617cc7a04194adb993af84560 -timeCreated: 1487237018 -licenseType: Free -TextScriptImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/HumanoidControl/Scripts/Extensions/ArmSensor.cs b/Runtime/HumanoidControl/Scripts/Extensions/ArmSensor.cs index e61c5cc..20196bb 100644 --- a/Runtime/HumanoidControl/Scripts/Extensions/ArmSensor.cs +++ b/Runtime/HumanoidControl/Scripts/Extensions/ArmSensor.cs @@ -12,11 +12,10 @@ namespace Passer.Humanoid { get { return target as HandTarget; } } - protected HumanoidControl humanoid { - get { return handTarget.humanoid; } - } + protected HumanoidControl humanoid => handTarget.humanoid; - protected new Humanoid.Tracking.ArmSensor sensor; + public SensorComponent sensorComponent; + protected new Tracking.ArmSensor sensor; public HandSkeleton handSkeleton; @@ -41,8 +40,8 @@ namespace Passer.Humanoid { if (this.handTarget == null) return; - if (this.tracker == null) - this.tracker = tracker; + //if (this.tracker == null) + // this.tracker = tracker; if (enabled && tracker.enabled) { if (handSkeleton == null) { diff --git a/Runtime/HumanoidControl/Scripts/Extensions/HeadSensor.cs b/Runtime/HumanoidControl/Scripts/Extensions/HeadSensor.cs index 5c19597..ba1a859 100644 --- a/Runtime/HumanoidControl/Scripts/Extensions/HeadSensor.cs +++ b/Runtime/HumanoidControl/Scripts/Extensions/HeadSensor.cs @@ -11,13 +11,11 @@ namespace Passer.Humanoid { get { return target as HeadTarget; } } - protected HumanoidControl humanoid { - get { return headTarget.humanoid; } - } - - protected new Humanoid.Tracking.HeadSensor sensor; + protected HumanoidControl humanoid => headTarget.humanoid; public SensorComponent sensorComponent; + protected new Tracking.HeadSensor sensor; + #region Manage @@ -26,7 +24,7 @@ namespace Passer.Humanoid { this.target = headTarget; } - #endregion + #endregion Manage #region Start public virtual void Init(HeadTarget headTarget) { diff --git a/Runtime/HumanoidControl/Scripts/Extensions/HumanoidSensor.cs b/Runtime/HumanoidControl/Scripts/Extensions/HumanoidSensor.cs index 720c107..037afc0 100644 --- a/Runtime/HumanoidControl/Scripts/Extensions/HumanoidSensor.cs +++ b/Runtime/HumanoidControl/Scripts/Extensions/HumanoidSensor.cs @@ -10,7 +10,8 @@ namespace Passer.Humanoid { enabled = true; } - public new HumanoidTracker tracker; + //public new HumanoidTracker tracker; + public new virtual HumanoidTracker tracker => null; protected Tracking.Sensor sensor; @@ -24,9 +25,9 @@ namespace Passer.Humanoid { public Quaternion sensor2TargetRotation; #region Start - public virtual void Init(HumanoidTracker _tracker) { - tracker = _tracker; - } + //public virtual void Init(HumanoidTracker _tracker) { + // tracker = _tracker; + //} public virtual void Start(HumanoidControl _humanoid, Transform targetTransform) { target = targetTransform.GetComponent(); diff --git a/Runtime/HumanoidControl/Scripts/Extensions/LegSensor.cs b/Runtime/HumanoidControl/Scripts/Extensions/LegSensor.cs index 1bce1b8..25355c0 100644 --- a/Runtime/HumanoidControl/Scripts/Extensions/LegSensor.cs +++ b/Runtime/HumanoidControl/Scripts/Extensions/LegSensor.cs @@ -4,12 +4,24 @@ using UnityEditor; #endif namespace Passer.Humanoid { + using Passer.Tracking; public class LegSensor : HumanoidSensor { - protected FootTarget footTarget { - get { return (FootTarget)target; } + protected FootTarget footTarget => target as FootTarget; + + protected HumanoidControl humanoid => footTarget.humanoid; + + public SensorComponent sensorComponent; + //protected new Tracking.LegSensor sensor; + + #region Manage + + public virtual void CheckSensor(FootTarget footTarget) { + if (this.footTarget == null) + this.target = footTarget; } - protected new Humanoid.Tracking.LegSensor sensor; + + #endregion Manage #region Start public virtual void Init(FootTarget footTarget) { diff --git a/Runtime/HumanoidControl/Scripts/Extensions/TorsoSensor.cs b/Runtime/HumanoidControl/Scripts/Extensions/TorsoSensor.cs index 5b87771..f12efa7 100644 --- a/Runtime/HumanoidControl/Scripts/Extensions/TorsoSensor.cs +++ b/Runtime/HumanoidControl/Scripts/Extensions/TorsoSensor.cs @@ -4,13 +4,27 @@ using UnityEditor; #endif namespace Passer.Humanoid { + using Passer.Tracking; public class TorsoSensor : HumanoidSensor { - //protected HipsTarget hipsTarget; + protected HipsTarget hipsTarget { get { return (HipsTarget)target; } } - protected new Humanoid.Tracking.TorsoSensor sensor; + + protected HumanoidControl humanoid => hipsTarget.humanoid; + + public SensorComponent sensorComponent; + protected new Tracking.TorsoSensor sensor; + + #region Manage + + public virtual void CheckSensor(HipsTarget hipsTarget) { + if (this.hipsTarget == null) + this.target = hipsTarget; + } + + #endregion Manage #region Start public virtual void Init(HipsTarget hipsTarget) { diff --git a/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHand.cs b/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHand.cs index 7671fd9..0ca2df3 100644 --- a/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHand.cs +++ b/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHand.cs @@ -8,6 +8,10 @@ namespace Passer.Humanoid { #if pUNITYXR public override string name => "Unity XR"; +#if hCUSTOM + public override HumanoidTracker tracker => humanoid.unityXR; +#endif + protected UnityXRTracker unityXR => humanoid.unityXR; #region Manage @@ -66,7 +70,7 @@ namespace Passer.Humanoid { public override void Start(HumanoidControl _humanoid, Transform targetTransform) { base.Start(_humanoid, targetTransform); - tracker = handTarget.humanoid.unityXR; + //tracker = handTarget.humanoid.unityXR; if (tracker == null || tracker.enabled == false) return; diff --git a/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHead.cs b/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHead.cs index d2036ae..c5037c2 100644 --- a/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHead.cs +++ b/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRHead.cs @@ -10,6 +10,10 @@ namespace Passer.Humanoid { get { return "Unity XR"; } } +#if hCUSTOM + public override HumanoidTracker tracker => humanoid.unityXR; +#endif + protected UnityXRTracker unityXR { get { return humanoid.unityXR; } } @@ -58,7 +62,7 @@ namespace Passer.Humanoid { public override void Start(HumanoidControl _humanoid, Transform targetTransform) { base.Start(_humanoid, targetTransform); - tracker = headTarget.humanoid.unityXR; + //tracker = headTarget.humanoid.unityXR; if (tracker == null || !tracker.enabled || !enabled) return; diff --git a/Runtime/HumanoidControl/Scripts/HumanoidControl_Doc.cs b/Runtime/HumanoidControl/Scripts/HumanoidControl_Doc.cs index ccde0b1..2df2f8b 100644 --- a/Runtime/HumanoidControl/Scripts/HumanoidControl_Doc.cs +++ b/Runtime/HumanoidControl/Scripts/HumanoidControl_Doc.cs @@ -16,6 +16,7 @@ /// ------- /// * \ref UnityXRTracker "UnityXR" /// * \ref LeapTracker "Leap Motion" + /// * \ref ViveTrackerComponent "Vive Tracker" /// /// Input /// ----- diff --git a/Runtime/HumanoidControl/Scripts/Targets/FootTarget.cs b/Runtime/HumanoidControl/Scripts/Targets/FootTarget.cs index 235ddbc..38a9c18 100644 --- a/Runtime/HumanoidControl/Scripts/Targets/FootTarget.cs +++ b/Runtime/HumanoidControl/Scripts/Targets/FootTarget.cs @@ -137,7 +137,7 @@ namespace Passer.Humanoid { if (sensors == null) { sensors = new LegSensor[] { legAnimator, -#if hOPENVR && hVIVETRACKER && (UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX) +#if hVIVETRACKER viveTracker, #endif #if hKINECT1 diff --git a/Runtime/PasserVR.HumanoidControl.asmdef b/Runtime/PasserVR.HumanoidControl.asmdef index c12bd74..128a67c 100644 --- a/Runtime/PasserVR.HumanoidControl.asmdef +++ b/Runtime/PasserVR.HumanoidControl.asmdef @@ -11,7 +11,8 @@ "PhotonVoice.API", "LeapMotion", "LeapMotion.LeapCSharp", - "SteamVR" + "SteamVR", + "Unity.XR.OpenVR" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Samples~/GroceryStore/Models/Characters/Materials/MakeHuman_ClassicShoes.mat b/Samples~/GroceryStore/Models/Characters/Materials/MakeHuman_ClassicShoes.mat index 34fab9a..6fcdaec 100644 --- a/Samples~/GroceryStore/Models/Characters/Materials/MakeHuman_ClassicShoes.mat +++ b/Samples~/GroceryStore/Models/Characters/Materials/MakeHuman_ClassicShoes.mat @@ -13,8 +13,9 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3 diff --git a/Samples~/GroceryStore/Models/Characters/Materials/MakeHuman_Longsleeve.mat b/Samples~/GroceryStore/Models/Characters/Materials/MakeHuman_Longsleeve.mat index f2bece5..b5b7a49 100644 --- a/Samples~/GroceryStore/Models/Characters/Materials/MakeHuman_Longsleeve.mat +++ b/Samples~/GroceryStore/Models/Characters/Materials/MakeHuman_Longsleeve.mat @@ -13,8 +13,9 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3 diff --git a/Samples~/GroceryStore/Models/Characters/Materials/MakeHuman_Skin.mat b/Samples~/GroceryStore/Models/Characters/Materials/MakeHuman_Skin.mat index b60adf2..00e2f7a 100644 --- a/Samples~/GroceryStore/Models/Characters/Materials/MakeHuman_Skin.mat +++ b/Samples~/GroceryStore/Models/Characters/Materials/MakeHuman_Skin.mat @@ -13,8 +13,9 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3