AzureKinect를 Unity Humanoid에 연결하는 방법
18092 단어 AzureKinectHumanoidUnity
AzureKinect 자체의 환경 구축은 별도 기사.
Azure-Kinect-Samples에 Unity 외, BodyTracking계의 다양한 샘플 프로그램이 저장되어 있기 때문에 클론
Azure-Kinect-Samples/body-tracking-samples/sample_unity_bodytracking에서 README.md를 읽는 동안 Unity 프로젝트의 환경 구축. 사전에 AzureKinect 자체의 환경 구축이 필요.
3) MoveLibraryFiles.bat를 실행하는 동안 두 개의 파일을 찾을 수없는 오류가 발생하지만 문제가 없었다.
자신의 경우, 몇개의 파일이 리스트대로 배치되지 않는 것도 있었으므로 리스트와 눈 grep하면서 문제가 없는지 확인한다.
Unity를 시작하고 프로젝트 폴더를 열고 Kinect4AzureSampleScene을 실행하면 rtx30계에 기인하는 에러가 토출되었다. SkeletalTrackingProvider.cs의 46행,
SkeletalTrackingProviders.cs(46)
using (Tracker tracker = Tracker.Create(deviceCalibration, new TrackerConfiguration() { ProcessingMode = TrackerProcessingMode.Gpu, SensorOrientation = SensorOrientation.Default }))
를
TrackerProcessingMode.Cuda
로 변경하여 해결했습니다.도움이 된 이슈
이제 움직였다.
골격이 제대로 표시되면 OK
그런 다음 AzureKinect의 BoneId를 Unity의 Humanoid의 Id에 연결하여 위치를 연결합니다. 각 Id는 아래 참조.
htps : // / cs. 미 c 로소 ft. 코 m / 쟈 jp / 아즈레 / 키네 ctdk / 보 dy - 조 웬 ts
htps : // / cs. 글쎄, ty3d. 이 m/Sc 리 pt 레후렌센/후만보 dy 흐림 s. HTML
HumanBodyBones enum의 내용은 이하(기술이 중복인 것은 애교...)
#region アセンブリ UnityEngine.AnimationModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// C:\Program Files\Unity\Hub\Editor\2021.1.15f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll
#endregion
namespace UnityEngine
{
//
// 概要:
// Human Body Bones.
public enum HumanBodyBones
{
//
// 概要:
// This is the Hips bone.
Hips = 0,
//
// 概要:
// This is the Left Upper Leg bone.
LeftUpperLeg = 1,
//
// 概要:
// This is the Right Upper Leg bone.
RightUpperLeg = 2,
//
// 概要:
// This is the Left Knee bone.
LeftLowerLeg = 3,
//
// 概要:
// This is the Right Knee bone.
RightLowerLeg = 4,
//
// 概要:
// This is the Left Ankle bone.
LeftFoot = 5,
//
// 概要:
// This is the Right Ankle bone.
RightFoot = 6,
//
// 概要:
// This is the first Spine bone.
Spine = 7,
//
// 概要:
// This is the Chest bone.
Chest = 8,
//
// 概要:
// This is the Neck bone.
Neck = 9,
//
// 概要:
// This is the Head bone.
Head = 10,
//
// 概要:
// This is the Left Shoulder bone.
LeftShoulder = 11,
//
// 概要:
// This is the Right Shoulder bone.
RightShoulder = 12,
//
// 概要:
// This is the Left Upper Arm bone.
LeftUpperArm = 13,
//
// 概要:
// This is the Right Upper Arm bone.
RightUpperArm = 14,
//
// 概要:
// This is the Left Elbow bone.
LeftLowerArm = 15,
//
// 概要:
// This is the Right Elbow bone.
RightLowerArm = 16,
//
// 概要:
// This is the Left Wrist bone.
LeftHand = 17,
//
// 概要:
// This is the Right Wrist bone.
RightHand = 18,
//
// 概要:
// This is the Left Toes bone.
LeftToes = 19,
//
// 概要:
// This is the Right Toes bone.
RightToes = 20,
//
// 概要:
// This is the Left Eye bone.
LeftEye = 21,
//
// 概要:
// This is the Right Eye bone.
RightEye = 22,
//
// 概要:
// This is the Jaw bone.
Jaw = 23,
//
// 概要:
// This is the left thumb 1st phalange.
LeftThumbProximal = 24,
//
// 概要:
// This is the left thumb 2nd phalange.
LeftThumbIntermediate = 25,
//
// 概要:
// This is the left thumb 3rd phalange.
LeftThumbDistal = 26,
//
// 概要:
// This is the left index 1st phalange.
LeftIndexProximal = 27,
//
// 概要:
// This is the left index 2nd phalange.
LeftIndexIntermediate = 28,
//
// 概要:
// This is the left index 3rd phalange.
LeftIndexDistal = 29,
//
// 概要:
// This is the left middle 1st phalange.
LeftMiddleProximal = 30,
//
// 概要:
// This is the left middle 2nd phalange.
LeftMiddleIntermediate = 31,
//
// 概要:
// This is the left middle 3rd phalange.
LeftMiddleDistal = 32,
//
// 概要:
// This is the left ring 1st phalange.
LeftRingProximal = 33,
//
// 概要:
// This is the left ring 2nd phalange.
LeftRingIntermediate = 34,
//
// 概要:
// This is the left ring 3rd phalange.
LeftRingDistal = 35,
//
// 概要:
// This is the left little 1st phalange.
LeftLittleProximal = 36,
//
// 概要:
// This is the left little 2nd phalange.
LeftLittleIntermediate = 37,
//
// 概要:
// This is the left little 3rd phalange.
LeftLittleDistal = 38,
//
// 概要:
// This is the right thumb 1st phalange.
RightThumbProximal = 39,
//
// 概要:
// This is the right thumb 2nd phalange.
RightThumbIntermediate = 40,
//
// 概要:
// This is the right thumb 3rd phalange.
RightThumbDistal = 41,
//
// 概要:
// This is the right index 1st phalange.
RightIndexProximal = 42,
//
// 概要:
// This is the right index 2nd phalange.
RightIndexIntermediate = 43,
//
// 概要:
// This is the right index 3rd phalange.
RightIndexDistal = 44,
//
// 概要:
// This is the right middle 1st phalange.
RightMiddleProximal = 45,
//
// 概要:
// This is the right middle 2nd phalange.
RightMiddleIntermediate = 46,
//
// 概要:
// This is the right middle 3rd phalange.
RightMiddleDistal = 47,
//
// 概要:
// This is the right ring 1st phalange.
RightRingProximal = 48,
//
// 概要:
// This is the right ring 2nd phalange.
RightRingIntermediate = 49,
//
// 概要:
// This is the right ring 3rd phalange.
RightRingDistal = 50,
//
// 概要:
// This is the right little 1st phalange.
RightLittleProximal = 51,
//
// 概要:
// This is the right little 2nd phalange.
RightLittleIntermediate = 52,
//
// 概要:
// This is the right little 3rd phalange.
RightLittleDistal = 53,
//
// 概要:
// This is the Upper Chest bone.
UpperChest = 54,
//
// 概要:
// This is the Last bone index delimiter.
LastBone = 55
}
}
이상을 바탕으로 각각을 부착할 필요가 있다는 것을 알 수 있다.
구체적으로는, 이하의 기사를 참고로 해, 실장했다.
일단 여기까지 실행할 수 있다.
Reference
이 문제에 관하여(AzureKinect를 Unity Humanoid에 연결하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/CitronSeason/items/e50cb7e01d9c8079ecf9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)