mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-10-01 15:22:53 -05:00
add fold
This commit is contained in:
@@ -58,6 +58,7 @@ namespace VRM
|
||||
CurrentClip = m_target.Clips[0];
|
||||
}
|
||||
|
||||
List<bool> m_meshFolds = new List<bool>();
|
||||
int m_preset;
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
@@ -121,24 +122,36 @@ namespace VRM
|
||||
|
||||
// sliders
|
||||
bool changed = false;
|
||||
int foldIndex = 0;
|
||||
foreach (var item in PreviewSceneManager.EnumRenderItems.Where(x => x.SkinnedMeshRenderer!=null))
|
||||
{
|
||||
var mesh = item.SkinnedMeshRenderer.sharedMesh;
|
||||
if (mesh != null)
|
||||
if (mesh != null && mesh.blendShapeCount>0)
|
||||
{
|
||||
//var relativePath = UniGLTF.UnityExtensions.RelativePathFrom(renderer.transform, m_target.transform);
|
||||
EditorGUILayout.LabelField(m_target.name + "/" + item.Path);
|
||||
//EditorGUILayout.LabelField(m_target.name + "/" + item.Path);
|
||||
|
||||
for (int i = 0; i < mesh.blendShapeCount; ++i)
|
||||
if (foldIndex >= m_meshFolds.Count)
|
||||
{
|
||||
var src = item.SkinnedMeshRenderer.GetBlendShapeWeight(i);
|
||||
var dst = EditorGUILayout.Slider(mesh.GetBlendShapeName(i), src, 0, 100.0f);
|
||||
if (dst != src)
|
||||
{
|
||||
item.SkinnedMeshRenderer.SetBlendShapeWeight(i, dst);
|
||||
changed = true;
|
||||
}
|
||||
m_meshFolds.Add(false);
|
||||
}
|
||||
m_meshFolds[foldIndex] = EditorGUILayout.Foldout(m_meshFolds[foldIndex], item.SkinnedMeshRenderer.name);
|
||||
if (m_meshFolds[foldIndex])
|
||||
{
|
||||
//EditorGUI.indentLevel += 1;
|
||||
for (int i = 0; i < mesh.blendShapeCount; ++i)
|
||||
{
|
||||
var src = item.SkinnedMeshRenderer.GetBlendShapeWeight(i);
|
||||
var dst = EditorGUILayout.Slider(mesh.GetBlendShapeName(i), src, 0, 100.0f);
|
||||
if (dst != src)
|
||||
{
|
||||
item.SkinnedMeshRenderer.SetBlendShapeWeight(i, dst);
|
||||
changed = true;
|
||||
}
|
||||
}
|
||||
//EditorGUI.indentLevel -= 1;
|
||||
}
|
||||
++foldIndex;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user