private void UpdateSkeletonOptimization(Astra.BodyStream bodyStream) { if (ToggleOptimizationAccuracy != null && ToggleOptimizationBalanced != null && ToggleOptimizationMemory != null && SliderOptimization != null) { int targetOptimizationValue = (int)_previousSkeletonOptimization; if (ToggleOptimizationAccuracy.isOn) { targetOptimizationValue = (int)Astra.SkeletonOptimization.BestAccuracy; } else if (ToggleOptimizationBalanced.isOn) { targetOptimizationValue = (int)Astra.SkeletonOptimization.Balanced; } else if (ToggleOptimizationMemory.isOn) { targetOptimizationValue = (int)Astra.SkeletonOptimization.MinimizeMemory; } if (targetOptimizationValue != (int)_previousSkeletonOptimization) { Debug.Log("Set optimization slider: " + targetOptimizationValue); SliderOptimization.value = targetOptimizationValue; } Astra.SkeletonOptimization targetSkeletonOptimization = Astra.SkeletonOptimization.Balanced; int sliderValue = (int)SliderOptimization.value; switch (sliderValue) { case 1: targetSkeletonOptimization = Astra.SkeletonOptimization.Optimization1; break; case 2: targetSkeletonOptimization = Astra.SkeletonOptimization.Optimization2; break; case 3: targetSkeletonOptimization = Astra.SkeletonOptimization.Optimization3; break; case 4: targetSkeletonOptimization = Astra.SkeletonOptimization.Optimization4; break; case 5: targetSkeletonOptimization = Astra.SkeletonOptimization.Optimization5; break; case 6: targetSkeletonOptimization = Astra.SkeletonOptimization.Optimization6; break; case 7: targetSkeletonOptimization = Astra.SkeletonOptimization.Optimization7; break; case 8: targetSkeletonOptimization = Astra.SkeletonOptimization.Optimization8; break; case 9: targetSkeletonOptimization = Astra.SkeletonOptimization.Optimization9; break; default: targetSkeletonOptimization = Astra.SkeletonOptimization.Optimization9; SliderOptimization.value = 9; break; } if (targetSkeletonOptimization != _previousSkeletonOptimization) { UpdateOptimizationToggles(targetSkeletonOptimization); Debug.Log("SetSkeletonOptimization: " + targetSkeletonOptimization); _previousSkeletonOptimization = targetSkeletonOptimization; bodyStream.SetSkeletonOptimization(targetSkeletonOptimization); } } }
private void UpdateOptimizationToggles(Astra.SkeletonOptimization optimization) { ToggleOptimizationMemory.isOn = optimization == Astra.SkeletonOptimization.MinimizeMemory; ToggleOptimizationBalanced.isOn = optimization == Astra.SkeletonOptimization.Balanced; ToggleOptimizationAccuracy.isOn = optimization == Astra.SkeletonOptimization.BestAccuracy; }
private void OnSkeletonOptimizationChanged(Astra.SkeletonOptimization optimization) { AstraManager.Instance.BodyStream.SetSkeletonOptimization(optimization); }