Code cleanups

This commit is contained in:
ousttrue 2018-07-30 15:52:06 +09:00
parent 063343f855
commit 92501ae8ab
3 changed files with 17 additions and 20 deletions

View File

@ -47,11 +47,12 @@ namespace VRM
private static void ExportFromMenu()
{
var go = Selection.activeObject as GameObject;
Undo.RecordObjects(go.transform.Traverse().ToArray(), "before normalize");
var normalized = VRM.BoneNormalizer.Execute(go, true);
VRMExportSettings.CopyVRMComponents(go, normalized.Root, normalized.BoneMap);
Undo.PerformUndo();
Selection.activeGameObject = normalized.Root;
Undo.RegisterCreatedObjectUndo(normalized.Root, "normalize");
}
}
}

View File

@ -121,24 +121,20 @@ namespace VRM
}
/// <summary>
/// 各メッシュから回転・スケールを取り除いてBinding行列を再計算する
/// srcのSkinnedMeshRendererを正規化して、dstにアタッチする
/// </summary>
/// <param name="src"></param>
/// <param name="dst"></param>
/// <param name="boneMap"></param>
/// <param name="src">正規化前のSkinnedMeshRendererのTransform</param>
/// <param name="dst">正規化後のSkinnedMeshRendererのTransform</param>
/// <param name="boneMap">正規化前のボーンから正規化後のボーンを得る</param>
static void NormalizeSkinnedMesh(Transform src, Transform dst, Dictionary<Transform, Transform> boneMap)
{
//
// SkinnedMesh
//
var srcRenderer = src.GetComponent<SkinnedMeshRenderer>();
if (srcRenderer != null && srcRenderer.enabled
&& srcRenderer.sharedMesh != null
&& srcRenderer.sharedMesh.vertexCount > 0)
{
}
else
if (srcRenderer == null
|| !srcRenderer.enabled
|| srcRenderer.sharedMesh == null
|| srcRenderer.sharedMesh.vertexCount == 0)
{
// 有効なSkinnedMeshRendererが無かった
return;
}
@ -149,12 +145,9 @@ namespace VRM
srcRenderer.SetBlendShapeWeight(i, 0);
}
var mesh = new Mesh();
// BakeMesh
var mesh = srcMesh.Copy();
mesh.name = srcMesh.name + ".baked";
#if UNITY_2017_3_OR_NEWER
mesh.indexFormat = srcMesh.indexFormat;
#endif
srcRenderer.BakeMesh(mesh);
//var m = src.localToWorldMatrix;

View File

@ -10,6 +10,9 @@ namespace VRM
{
var dst = new Mesh();
dst.name = src.name + "(copy)";
#if UNITY_2017_3_OR_NEWER
dst.indexFormat = src.indexFormat;
#endif
dst.vertices = src.vertices;
dst.normals = src.normals;