version 2.0.0

This commit is contained in:
srl87
2023-09-14 18:17:47 +08:00
parent 13e9d00b37
commit ca21423a06
953 changed files with 125887 additions and 21229 deletions

View File

@@ -0,0 +1,71 @@
// ===================== 2022 HTC Corporation. All Rights Reserved. ===================
using UnityEngine;
using UnityEngine.XR.OpenXR;
using VIVE.OpenXR.FacialTracking;
namespace VIVE.OpenXR
{
public class XR_HTC_facial_tracking_impls : XR_HTC_facial_tracking_defs
{
const string LOG_TAG = "VIVE.OpenXR.Android.XR_HTC_facial_tracking_impls";
void DEBUG(string msg) { Debug.Log(LOG_TAG + " " + msg); }
private ViveFacialTracking feature = null;
private void ASSERT_FEATURE() {
if (feature == null) { feature = OpenXRSettings.Instance.GetFeature<ViveFacialTracking>(); }
}
public override XrResult xrCreateFacialTrackerHTC(XrFacialTrackerCreateInfoHTC createInfo, out ulong facialTracker)
{
DEBUG("xrCreateFacialTrackerHTC");
XrResult result = XrResult.XR_ERROR_VALIDATION_FAILURE;
facialTracker = 0;
ASSERT_FEATURE();
if (feature)
{
result = (XrResult)feature.CreateFacialTracker(createInfo, out XrFacialTrackerHTC value);
if (result == XrResult.XR_SUCCESS) { facialTracker = value; }
}
return result;
}
public override XrResult xrDestroyFacialTrackerHTC(ulong facialTracker)
{
DEBUG("xrDestroyFacialTrackerHTC");
ASSERT_FEATURE();
if (feature) { return (XrResult)feature.DestroyFacialTracker(facialTracker); }
return XrResult.XR_ERROR_VALIDATION_FAILURE;
}
public override XrResult xrGetFacialExpressionsHTC(ulong facialTracker, out XrFacialExpressionsHTC facialExpressions)
{
InitializeFacialExpressions();
facialExpressions = m_FacialExpressions;
XrResult result = XrResult.XR_ERROR_VALIDATION_FAILURE;
ASSERT_FEATURE();
if (feature)
{
result = (XrResult)feature.GetFacialExpressions(facialTracker, out XrFacialExpressionsHTC exps);
if (result == XrResult.XR_SUCCESS) { facialExpressions = exps; }
}
return result;
}
public override bool GetExpressionWeightings(XrFacialTrackingTypeHTC facialTrackingType, out float[] expressionWeightings)
{
ASSERT_FEATURE();
if (feature) { return feature.GetFacialExpressions((XrFacialTrackingTypeHTC)facialTrackingType, out expressionWeightings); }
expressionWeightings = s_ExpressionWeightings[facialTrackingType];
return false;
}
}
}