private void Awake() { if (_ghostProvider == null) { HandGhostProvider.TryGetDefault(out _ghostProvider); } }
private void DrawGhostMenu(HandPose handPose, bool forceCreate) { GUIStyle boldStyle = new GUIStyle(GUI.skin.label) { fontStyle = FontStyle.Bold }; EditorGUILayout.LabelField("Interactive Edition", boldStyle); HandGhostProvider provider = EditorGUILayout.ObjectField("Ghost Provider", _ghostVisualsProvider, typeof(HandGhostProvider), false) as HandGhostProvider; if (forceCreate || provider != _ghostVisualsProvider || _handGhost == null || _lastHandedness != handPose.Handedness) { RegenerateGhost(provider); } _lastHandedness = handPose.Handedness; if (_handGrabPoint.SnapSurface == null) { _editingFingers = true; } else if (GUILayout.Button(_editingFingers ? "Follow Surface" : "Edit fingers")) { _editingFingers = !_editingFingers; } }
private void AssignMissingGhostProvider() { if (_ghostVisualsProvider != null) { return; } HandGhostProvider.TryGetDefault(out _ghostVisualsProvider); }
private void RegenerateGhost(HandGhostProvider provider) { _ghostVisualsProvider = provider; DestroyGhost(); CreateGhost(); }