Tanoda
LipSyncMappingEditor.cs
Go to the documentation of this file.
1using TriLibCore.General;
2using UnityEditor;
3using UnityEngine;
4
5namespace TriLibCore.Editor
6{
7 [CustomEditor(typeof(LipSyncMapping))]
8 public class LipSyncMappingEditor : UnityEditor.Editor
9 {
10 private SkinnedMeshRenderer _skinnedMeshRenderer;
11
12 private void OnEnable()
13 {
14 _skinnedMeshRenderer = ((LipSyncMapping) target).GetComponent<SkinnedMeshRenderer>();
15 }
16
17 private void OnDisable()
18 {
19 _skinnedMeshRenderer = null;
20 }
21
22 public override void OnInspectorGUI()
23 {
24 if (_skinnedMeshRenderer == null)
25 {
26 base.OnInspectorGUI();
27 return;
28 }
29 GUI.enabled = false;
30 var visemeToBlendShapeTargets = serializedObject.FindProperty("VisemeToBlendTargets");
31 for (var i = 0; i < 14; i++)
32 {
33 EditorGUILayout.TextField(((LipSyncViseme) i).ToString(), _skinnedMeshRenderer.sharedMesh.GetBlendShapeName(visemeToBlendShapeTargets.GetArrayElementAtIndex(i).intValue));
34 }
35 GUI.enabled = true;
36 }
37 }
38}
Represents the Viseme to Blend-Shape Keys mapped indices. The indices are generated from the Lip Sync...