AR Foundation演示项目,使用 AR Foundation 4.1.7 并围绕某些功能演示更高级功能。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

85 行
2.1 KiB

using System;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.XR.ARFoundation;
public class BodyRecordingUIManager : MonoBehaviour
{
[SerializeField]
[Tooltip("Human body manager reference")]
ARHumanBodyManager m_HumanBodyManager;
public ARHumanBodyManager humanBodyManager
{
get => m_HumanBodyManager;
set => m_HumanBodyManager = value;
}
[SerializeField]
[Tooltip("Body tracking UI reference")]
GameObject m_BodyTrackingUI;
public GameObject bodyTrackingUI
{
get => m_BodyTrackingUI;
set => m_BodyTrackingUI = value;
}
[SerializeField]
[Tooltip("World tracking UI reference")]
GameObject m_WorldTrackingUI;
public GameObject worldTrackingUI
{
get => m_WorldTrackingUI;
set => m_WorldTrackingUI = value;
}
[SerializeField]
[Tooltip("Button for playing back captured animation")]
Button m_AnimationPlayButton;
public Button animationPlayButton
{
get => m_AnimationPlayButton;
set => m_AnimationPlayButton = value;
}
BodyPlayback m_BodyPlayback;
void OnEnable()
{
m_HumanBodyManager.humanBodiesChanged += HumanBodyManagerOnhumanHumanBodiesChanged;
PlaceObjectsOnPlane.onPlacedObject += PlacedObject;
}
void OnDisable()
{
m_HumanBodyManager.humanBodiesChanged -= HumanBodyManagerOnhumanHumanBodiesChanged;
PlaceObjectsOnPlane.onPlacedObject -= PlacedObject;
}
void HumanBodyManagerOnhumanHumanBodiesChanged(ARHumanBodiesChangedEventArgs obj)
{
}
void PlacedObject()
{
m_BodyPlayback = FindObjectOfType<BodyPlayback>();
m_AnimationPlayButton.onClick.AddListener(m_BodyPlayback.AnimationToggle);
}
public void ShowWorldTrackingUI()
{
m_BodyTrackingUI.SetActive(false);
m_WorldTrackingUI.SetActive(true);
}
public void ShowBodyTrackingUI()
{
m_WorldTrackingUI.SetActive(false);
m_BodyTrackingUI.SetActive(true);
}
}