Skip to content

Commit 88530b1

Browse files
committed
[Automated] Merged dev into main
2 parents ff414cc + c655dad commit 88530b1

File tree

573 files changed

+157994
-17
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

573 files changed

+157994
-17
lines changed

CHANGELOG.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## [74.0.0]
2+
- Fixed MovementBodyTrackingForFitness scene so that the UI in the scene is visible to cameras.
3+
- Updated Project Setup Tool to enable audio-based face tracking when using A2E, and enable face tracking visemes output when using visemes.
4+
- Fixed bug in VisemeDriver where it was returning if the OVRFaceExpressions reference wasn't null.
5+
- Updated BlendshapeMappingExample's body mesh, mirrored or not, to animate based on body tracking movements when not visible.
6+
17
## [72.0.0]
28
- Updated sample scenes to use OpenXRHands.
39
- Fixed readme, documentation links and UI path.
@@ -9,9 +15,7 @@
915
- New networking sample shows how to efficiently network body movement by compressing the joint-related movement information for transmission and is compatible with common network providers.
1016
- New Audio To Expressions (A2E) Lina sample, BlendshapeMapping (ARKit) character and other characters modified to support A2E.
1117

12-
1318
## [69.0.0]
14-
1519
- Fixed bug in ISDK scene where controllers were not able to be used
1620
- Improved performance and removed garbage creation when drawing the debug skeleton
1721
- Added HMD remount + restart tracking feature via HMDRemountRestartTracking.cs

Editor/Utils/OVRProjectSetupMovementSDKSamples.cs

Lines changed: 56 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
// Copyright (c) Meta Platforms, Inc. and affiliates.
22

3+
using System.Linq;
4+
using Meta.XR.Movement.FaceTracking;
5+
using Meta.XR.Movement.FaceTracking.Samples;
36
using UnityEditor;
47
using UnityEngine;
8+
using UnityEngine.SceneManagement;
59

610
namespace Oculus.Movement.Utils
711
{
@@ -15,10 +19,7 @@ internal static class OVRProjectSetupMovementSDKSamplesTasks
1519
/// All character and mirrored character layers should exist based on their indices.
1620
/// That is because the scene assets are assigned based on layer index.
1721
/// </summary>
18-
private static readonly int[] _expectedLayersIndices =
19-
{
20-
10, 11
21-
};
22+
private static readonly int[] _expectedLayersIndices = { 10, 11 };
2223

2324
/// <summary>
2425
/// The HiddenMesh layer is required for RecalculateNormals to function correctly.
@@ -35,7 +36,7 @@ static OVRProjectSetupMovementSDKSamplesTasks()
3536
group: _group,
3637
platform: BuildTargetGroup.Android,
3738
isDone: group => QualitySettings.skinWeights == SkinWeights.FourBones,
38-
message: "You should use four skin weights to avoid skinning problems",
39+
message: "Four skin weights should be used to avoid skinning problems.",
3940
fix: group =>
4041
{
4142
QualitySettings.skinWeights = SkinWeights.FourBones;
@@ -48,7 +49,8 @@ static OVRProjectSetupMovementSDKSamplesTasks()
4849
level: OVRProjectSetup.TaskLevel.Required,
4950
group: _group,
5051
platform: BuildTargetGroup.Android,
51-
isDone: group => OVRRuntimeSettings.Instance.BodyTrackingFidelity == OVRPlugin.BodyTrackingFidelity2.High,
52+
isDone: group =>
53+
OVRRuntimeSettings.Instance.BodyTrackingFidelity == OVRPlugin.BodyTrackingFidelity2.High,
5254
message: "Body Tracking Fidelity should be set to High.",
5355
fix: group =>
5456
{
@@ -62,7 +64,8 @@ static OVRProjectSetupMovementSDKSamplesTasks()
6264
level: OVRProjectSetup.TaskLevel.Required,
6365
group: _group,
6466
platform: BuildTargetGroup.Android,
65-
isDone: group => OVRRuntimeSettings.GetRuntimeSettings().BodyTrackingJointSet == OVRPlugin.BodyJointSet.FullBody,
67+
isDone: group =>
68+
OVRRuntimeSettings.GetRuntimeSettings().BodyTrackingJointSet == OVRPlugin.BodyJointSet.FullBody,
6669
message: "Body Tracking Joint Set should be set to Full Body.",
6770
fix: group =>
6871
{
@@ -72,13 +75,46 @@ static OVRProjectSetupMovementSDKSamplesTasks()
7275
fixMessage: "Set OVRRuntimeSettings.BodyTrackingJointSet = FullBody"
7376
);
7477

78+
// Face tracking settings.
79+
OVRProjectSetup.AddTask(
80+
level: OVRProjectSetup.TaskLevel.Required,
81+
group: _group,
82+
platform: BuildTargetGroup.Android,
83+
isDone: group => FindComponentInScene<FaceDriver>() == null ||
84+
OVRRuntimeSettings.GetRuntimeSettings().RequestsAudioFaceTracking,
85+
message: "The audio to expression feature should be enabled.",
86+
fix: group =>
87+
{
88+
OVRRuntimeSettings.Instance.RequestsAudioFaceTracking = true;
89+
OVRRuntimeSettings.CommitRuntimeSettings(OVRRuntimeSettings.Instance);
90+
},
91+
fixMessage: "Set OVRRuntimeSettings.RequestsAudioFaceTracking = true"
92+
);
93+
94+
OVRProjectSetup.AddTask(
95+
level: OVRProjectSetup.TaskLevel.Required,
96+
group: _group,
97+
platform: BuildTargetGroup.Android,
98+
isDone: group => FindComponentInScene<VisemeDriver>() == null ||
99+
OVRRuntimeSettings.GetRuntimeSettings().EnableFaceTrackingVisemesOutput,
100+
message: "The visemes feature should be enabled.",
101+
fix: group =>
102+
{
103+
OVRRuntimeSettings.Instance.RequestsAudioFaceTracking = true;
104+
OVRRuntimeSettings.Instance.EnableFaceTrackingVisemesOutput = true;
105+
OVRRuntimeSettings.CommitRuntimeSettings(OVRRuntimeSettings.Instance);
106+
},
107+
fixMessage: "Set OVRRuntimeSettings.EnableFaceTrackingVisemesOutput = true"
108+
);
109+
75110
// Test layers.
76111
OVRProjectSetup.AddTask(
77112
level: OVRProjectSetup.TaskLevel.Recommended,
78113
group: _group,
79114
platform: BuildTargetGroup.Android,
80115
isDone: group => LayerMask.NameToLayer(_hiddenMeshLayerName) != -1,
81-
message: $"The layer '{_hiddenMeshLayerName}' needs to exist for Recalculate Normals to function properly.",
116+
message:
117+
$"The layer '{_hiddenMeshLayerName}' needs to exist for Recalculate Normals to function properly.",
82118
fix: group =>
83119
{
84120
int unusedLayer = -1;
@@ -90,6 +126,7 @@ static OVRProjectSetupMovementSDKSamplesTasks()
90126
break;
91127
}
92128
}
129+
93130
if (LayerMask.NameToLayer(_hiddenMeshLayerName) == -1)
94131
{
95132
if (unusedLayer == -1)
@@ -117,6 +154,7 @@ static OVRProjectSetupMovementSDKSamplesTasks()
117154
return false;
118155
}
119156
}
157+
120158
return true;
121159
},
122160
message: "Layers 10 and 11 must be indexed for the samples to display correctly.",
@@ -138,7 +176,8 @@ static OVRProjectSetupMovementSDKSamplesTasks()
138176

139177
private static void SetLayerName(int layer, string name)
140178
{
141-
SerializedObject tagManager = new SerializedObject(AssetDatabase.LoadAssetAtPath<Object>("ProjectSettings/TagManager.asset"));
179+
SerializedObject tagManager =
180+
new SerializedObject(AssetDatabase.LoadAssetAtPath<Object>("ProjectSettings/TagManager.asset"));
142181

143182
SerializedProperty it = tagManager.GetIterator();
144183
while (it.NextVisible(true))
@@ -149,7 +188,15 @@ private static void SetLayerName(int layer, string name)
149188
break;
150189
}
151190
}
191+
152192
tagManager.ApplyModifiedProperties();
153193
}
194+
195+
private static T FindComponentInScene<T>() where T : Component
196+
{
197+
var scene = SceneManager.GetActiveScene();
198+
var rootGameObjects = scene.GetRootGameObjects();
199+
return rootGameObjects.FirstOrDefault(go => go.GetComponentInChildren<T>())?.GetComponentInChildren<T>();
200+
}
154201
}
155202
}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ The Unity-Movement package is released under the [Oculus License](https://github
99
- 2021.3.26f1 (2021 LTS or newer)
1010
- 2022.3.11f2 (2022 LTS or newer)
1111
- Unity 6 or newer
12-
- v72.0 or newer of the Meta XR SDK. You will need the [Meta XR Core SDK](https://assetstore.unity.com/packages/tools/integration/meta-xr-core-sdk-269169) and the [Meta XR Interaction SDK](https://assetstore.unity.com/packages/tools/integration/meta-xr-interaction-sdk-265014) packages found [on this page](https://assetstore.unity.com/publishers/25353).
12+
- v74.0 or newer of the Meta XR SDK. You will need the [Meta XR Core SDK](https://assetstore.unity.com/packages/tools/integration/meta-xr-core-sdk-269169) and the [Meta XR Interaction SDK](https://assetstore.unity.com/packages/tools/integration/meta-xr-interaction-sdk-265014) packages found [on this page](https://assetstore.unity.com/publishers/25353).
1313
- A project set up with these [steps](https://developers.meta.com/horizon/documentation/unity/move-unity-getting-started#unity-project-setup).
1414

1515

Runtime/Scripts/Tracking/Viseme/VisemeDriver.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ private FaceViseme GetClosestViseme(string blendshapeName)
140140

141141
private void UpdateVisemes()
142142
{
143-
if (_mesh == null || _visemeMapping.Length == 0 || _ovrFaceExpressions != null)
143+
if (_mesh == null || _visemeMapping.Length == 0 || _ovrFaceExpressions == null)
144144
{
145145
return;
146146
}

Samples.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Samples/AdvancedSamples.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Samples/AdvancedSamples/BodyTrackingForFitness.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Samples/AdvancedSamples/BodyTrackingForFitness/Models.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
o TaperedCube
2+
v -0.380732 -0.437500 0.000000
3+
v -0.437500 -0.380732 0.000000
4+
v -0.432565 -0.489226 0.061564
5+
v -0.489226 -0.432565 0.061564
6+
v -0.437500 0.380732 0.000000
7+
v -0.380732 0.437500 0.000000
8+
v -0.489226 0.432565 0.061564
9+
v -0.432565 0.489226 0.061564
10+
v 0.437500 -0.380732 0.000000
11+
v 0.380732 -0.437500 0.000000
12+
v 0.489226 -0.432565 0.061564
13+
v 0.432565 -0.489226 0.061564
14+
v 0.432565 0.489226 0.061564
15+
v 0.489226 0.432565 0.061564
16+
v 0.380732 0.437500 0.000000
17+
v 0.437500 0.380732 0.000000
18+
v -0.335774 -0.279035 0.938436
19+
v -0.279035 -0.335774 0.938436
20+
v -0.262500 -0.205522 1.000000
21+
v -0.205522 -0.262500 1.000000
22+
v -0.205522 0.262500 1.000000
23+
v -0.262500 0.205522 1.000000
24+
v -0.279035 0.335774 0.938436
25+
v -0.335774 0.279035 0.938436
26+
v 0.205522 -0.262500 1.000000
27+
v 0.262500 -0.205522 1.000000
28+
v 0.279035 -0.335774 0.938436
29+
v 0.335774 -0.279035 0.938436
30+
v 0.335774 0.279035 0.938436
31+
v 0.279035 0.335774 0.938436
32+
v 0.262500 0.205522 1.000000
33+
v 0.205522 0.262500 1.000000
34+
vn -0.9850 -0.0000 0.1724
35+
vn -0.0000 -0.6433 0.7656
36+
vn -0.0000 0.7656 -0.6433
37+
vn -0.0000 0.6433 0.7656
38+
vn -0.0000 -0.7656 -0.6433
39+
vn -0.0000 -0.0000 -1.0000
40+
vn -0.0000 0.9850 0.1724
41+
vn 0.9850 -0.0000 0.1724
42+
vn 0.7656 -0.0000 -0.6433
43+
vn -0.0000 -0.0000 1.0000
44+
vn -0.6433 -0.0000 0.7656
45+
vn 0.6433 -0.0000 0.7656
46+
vn -0.0000 -0.9850 0.1724
47+
vn -0.4550 0.4550 -0.7654
48+
vn -0.4550 -0.4550 -0.7654
49+
vn 0.4550 -0.4550 -0.7654
50+
vn 0.4550 0.4550 -0.7654
51+
vn -0.3607 -0.3607 0.8601
52+
vn -0.3607 0.3607 0.8601
53+
vn 0.3607 0.3607 0.8601
54+
vn 0.3607 -0.3607 0.8601
55+
vn -0.6864 -0.6864 0.2403
56+
vn -0.6864 0.6864 0.2403
57+
vn 0.6864 -0.6864 0.2403
58+
vn 0.6864 0.6864 0.2403
59+
vn -0.7656 -0.0000 -0.6433
60+
vt 0.396122 0.015391
61+
vt 0.603878 0.015391
62+
vt 0.610523 0.234609
63+
vt 0.389477 0.234609
64+
vt 0.375000 0.978878
65+
vt 0.375000 0.771122
66+
vt 0.399038 0.795953
67+
vt 0.399038 0.954047
68+
vt 0.625000 0.266859
69+
vt 0.625000 0.483141
70+
vt 0.609375 0.470183
71+
vt 0.609375 0.279817
72+
vt 0.625000 0.771122
73+
vt 0.625000 0.978878
74+
vt 0.600962 0.954047
75+
vt 0.600962 0.795953
76+
vt 0.375000 0.483141
77+
vt 0.375000 0.266859
78+
vt 0.390625 0.279817
79+
vt 0.390625 0.470183
80+
vt 0.404817 0.265625
81+
vt 0.595183 0.265625
82+
vt 0.609375 0.279817
83+
vt 0.609375 0.470183
84+
vt 0.595183 0.484375
85+
vt 0.404817 0.484375
86+
vt 0.639477 0.515391
87+
vt 0.860523 0.515391
88+
vt 0.853878 0.734609
89+
vt 0.646122 0.734609
90+
vt 0.389477 0.515391
91+
vt 0.610523 0.515391
92+
vt 0.603878 0.734609
93+
vt 0.396122 0.734609
94+
vt 0.610523 0.515391
95+
vt 0.389477 0.515391
96+
vt 0.420953 0.774039
97+
vt 0.579047 0.774039
98+
vt 0.579047 0.975962
99+
vt 0.420953 0.975962
100+
vt 0.579047 0.975962
101+
vt 0.603878 1.000000
102+
vt 0.396122 1.000000
103+
vt 0.579047 0.774039
104+
vt 0.396122 0.734609
105+
vt 0.603878 0.734609
106+
vt 0.139477 0.515391
107+
vt 0.360523 0.515391
108+
vt 0.353878 0.734609
109+
vt 0.146122 0.734609
110+
vt 0.619990 0.244553
111+
vt 0.609375 0.265625
112+
vt 0.380010 0.256839
113+
vt 0.390625 0.265625
114+
vt 0.390625 0.484375
115+
vt 0.380010 0.493160
116+
vt 0.609375 0.484375
117+
vt 0.619990 0.505447
118+
vt 0.618121 0.745892
119+
vt 0.600962 0.774039
120+
vt 0.381879 0.756879
121+
vt 0.399038 0.774039
122+
vt 0.125000 0.734609
123+
vt 0.125000 0.517727
124+
vt 0.625000 0.015391
125+
vt 0.625000 0.232273
126+
vt 0.389477 0.234609
127+
s 1
128+
f 17/1/1 24/2/1 7/3/1 4/4/1
129+
f 18/5/2 27/6/2 25/7/2 20/8/2
130+
f 8/9/3 13/10/3 15/11/3 6/12/3
131+
f 30/13/4 23/14/4 21/15/4 32/16/4
132+
f 12/17/5 3/18/5 1/19/5 10/20/5
133+
f 1/19/6 2/21/6 5/22/6 6/23/6 15/24/6 16/25/6 9/26/6 10/20/6
134+
f 13/27/7 8/28/7 23/29/7 30/30/7
135+
f 11/31/8 14/32/8 29/33/8 28/34/8
136+
f 14/35/9 11/36/9 9/26/9 16/25/9
137+
f 25/7/10 26/37/10 31/38/10 32/16/10 21/15/10 22/39/10 19/40/10 20/8/10
138+
f 19/40/11 22/41/11 24/42/11 17/43/11
139+
f 31/44/12 26/37/12 28/45/12 29/46/12
140+
f 3/47/13 12/48/13 27/49/13 18/50/13
141+
f 8/51/14 6/52/14 5/22/14 7/3/14
142+
f 1/19/15 3/18/15 4/53/15 2/54/15
143+
f 9/55/16 11/56/16 12/17/16 10/20/16
144+
f 14/35/17 16/25/17 15/57/17 13/58/17
145+
f 18/5/18 20/8/18 19/40/18 17/43/18
146+
f 21/15/19 23/14/19 24/42/19 22/41/19
147+
f 30/59/20 32/60/20 31/44/20 29/46/20
148+
f 25/7/21 27/6/21 28/61/21 26/62/21
149+
f 3/47/22 18/50/22 17/63/22 4/64/22
150+
f 23/65/23 8/66/23 7/3/23 24/2/23
151+
f 11/31/24 28/34/24 27/49/24 12/48/24
152+
f 29/33/25 14/32/25 13/27/25 30/30/25
153+
f 5/22/26 2/21/26 4/67/26 7/3/26

0 commit comments

Comments
 (0)