浏览代码

pr feedback

/1.5-preview
Jimmy Alamparambil 6 年前
当前提交
d57bcd5e
共有 2 个文件被更改,包括 30 次插入10 次删除
  1. 4
      Assets/Prefabs/FaceBlendShapes.prefab
  2. 36
      Assets/Scripts/ARFaceArkitBlendShapeVisualizer.cs

4
Assets/Prefabs/FaceBlendShapes.prefab


m_Script: {fileID: 11500000, guid: 77136493c3caf4805ac5a602f75072e0, type: 3}
m_Name:
m_EditorClassIdentifier:
coefficientScale: 100
skinnedMeshRenderer: {fileID: 137740007780104604}
m_CoefficientScale: 100
m_SkinnedMeshRenderer: {fileID: 137740007780104604}
--- !u!1 &1342913298729328
GameObject:
m_ObjectHideFlags: 0

36
Assets/Scripts/ARFaceArkitBlendShapeVisualizer.cs


using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Experimental.XR;
using UnityEngine.Serialization;
using UnityEngine.XR.ARFoundation;
using UnityEngine.XR.ARKit;

public class ARFaceArkitBlendShapeVisualizer : MonoBehaviour
{
[SerializeField]
float coefficientScale = 100.0f;
float m_CoefficientScale = 100.0f;
SkinnedMeshRenderer skinnedMeshRenderer = null;
SkinnedMeshRenderer m_SkinnedMeshRenderer;
ARKitFaceSubsystem arkitFaceSubsystem;
ARKitFaceSubsystem m_ArkitFaceSubsystem;
public SkinnedMeshRenderer skinnedMeshRenderer
{
get
{
return m_SkinnedMeshRenderer;
}
set
{
m_SkinnedMeshRenderer = value;
CreateFeatureBlendMapping();
}
}
public float coefficientScale
{
get { return m_CoefficientScale; }
set { m_CoefficientScale = value; }
}
void Awake()
{
s_FaceArkitBlendShapeCoefficients = new List<XRFaceArkitBlendShapeCoefficient>();

void OnEnable()
{
arkitFaceSubsystem = (ARKitFaceSubsystem) ARSubsystemManager.faceSubsystem;
if (arkitFaceSubsystem == null )
m_ArkitFaceSubsystem = (ARKitFaceSubsystem) ARSubsystemManager.faceSubsystem;
if (m_ArkitFaceSubsystem == null )
{
return;
}

void UpdateFaceFeatures()
{
if (skinnedMeshRenderer == null || !skinnedMeshRenderer.enabled)
if (skinnedMeshRenderer == null || !skinnedMeshRenderer.enabled || skinnedMeshRenderer.sharedMesh == null)
if (!arkitFaceSubsystem.TryGetFaceARKitBlendShapeCoefficients(m_Face.xrFace.trackableId,s_FaceArkitBlendShapeCoefficients))
if (!m_ArkitFaceSubsystem.TryGetFaceARKitBlendShapeCoefficients(m_Face.xrFace.trackableId,s_FaceArkitBlendShapeCoefficients))
{
return;
}

正在加载...
取消
保存