mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-09-12 13:59:21 -05:00
Remove clearBlendShape argument. Because it is always false.
This commit is contained in:
@@ -222,7 +222,7 @@ namespace MeshUtility
|
||||
/// <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, bool clearBlendShape)
|
||||
static void NormalizeSkinnedMesh(Transform src, Transform dst, Dictionary<Transform, Transform> boneMap)
|
||||
{
|
||||
var srcRenderer = src.GetComponent<SkinnedMeshRenderer>();
|
||||
if (srcRenderer == null
|
||||
@@ -237,15 +237,6 @@ namespace MeshUtility
|
||||
var srcMesh = srcRenderer.sharedMesh;
|
||||
var originalSrcMesh = srcMesh;
|
||||
|
||||
if (clearBlendShape)
|
||||
{
|
||||
// clear blendShape if not bake current blendshape
|
||||
for (int i = 0; i < srcMesh.blendShapeCount; ++i)
|
||||
{
|
||||
srcRenderer.SetBlendShapeWeight(i, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// 元の Transform[] bones から、無効なboneを取り除いて前に詰めた配列を作る
|
||||
var dstBones = srcRenderer.bones
|
||||
.Where(x => x != null && boneMap.ContainsKey(x))
|
||||
@@ -307,8 +298,10 @@ namespace MeshUtility
|
||||
//
|
||||
|
||||
// clear blendShape always
|
||||
var backcup = new List<float>();
|
||||
for (int i = 0; i < srcMesh.blendShapeCount; ++i)
|
||||
{
|
||||
backcup.Add(srcRenderer.GetBlendShapeWeight(i));
|
||||
srcRenderer.SetBlendShapeWeight(i, 0);
|
||||
}
|
||||
|
||||
@@ -442,6 +435,11 @@ namespace MeshUtility
|
||||
srcRenderer.bones = new Transform[] { };
|
||||
srcRenderer.sharedMesh = originalSrcMesh;
|
||||
}
|
||||
// restore blendshape weights
|
||||
for (int i = 0; i < backcup.Count; ++i)
|
||||
{
|
||||
srcRenderer.SetBlendShapeWeight(i, backcup[i]);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -481,11 +479,10 @@ namespace MeshUtility
|
||||
/// 回転とスケールを除去したヒエラルキーのコピーを作成する(MeshをBakeする)
|
||||
/// </summary>
|
||||
/// <param name="go">対象のヒエラルキーのルート</param>
|
||||
/// <param name="clearBlendShapeBeforeNormalize">BlendShapeを0クリアするか否か。false の場合 BlendShape の現状を Bake する</param>
|
||||
/// <param name="bakeCurrentBlendShape">BlendShapeを0クリアするか否か。false の場合 BlendShape の現状を Bake する</param>
|
||||
/// <param name="createAvatar">Avatarを作る関数</param>
|
||||
/// <returns></returns>
|
||||
public static (GameObject, Dictionary<Transform, Transform>) Execute(GameObject go,
|
||||
bool clearBlendShapeBeforeNormalize, CreateAvatarFunc createAvatar)
|
||||
public static (GameObject, Dictionary<Transform, Transform>) Execute(GameObject go, CreateAvatarFunc createAvatar)
|
||||
{
|
||||
//
|
||||
// 正規化されたヒエラルキーを作る
|
||||
@@ -503,7 +500,7 @@ namespace MeshUtility
|
||||
continue;
|
||||
}
|
||||
|
||||
NormalizeSkinnedMesh(src, dst, boneMap, clearBlendShapeBeforeNormalize);
|
||||
NormalizeSkinnedMesh(src, dst, boneMap);
|
||||
|
||||
NormalizeNoneSkinnedMesh(src, dst);
|
||||
}
|
||||
|
||||
@@ -196,7 +196,7 @@ namespace VRM
|
||||
if (settings.PoseFreeze)
|
||||
{
|
||||
// BoneNormalizer.Execute は Copy を作って正規化する。UNDO無用
|
||||
target = VRMBoneNormalizer.Execute(target, settings.ForceTPose, false);
|
||||
target = VRMBoneNormalizer.Execute(target, settings.ForceTPose);
|
||||
destroy.Add(target);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ namespace VRM
|
||||
var go = Selection.activeObject as GameObject;
|
||||
|
||||
// BoneNormalizer.Execute はコピーを正規化する。UNDO無用
|
||||
Selection.activeGameObject = VRMBoneNormalizer.Execute(go, true, false);
|
||||
Selection.activeGameObject = VRMBoneNormalizer.Execute(go, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace VRM
|
||||
/// <param name="go">対象モデルのルート</param>
|
||||
/// <param name="forceTPose">強制的にT-Pose化するか</param>
|
||||
/// <returns>正規化済みのモデル</returns>
|
||||
public static GameObject Execute(GameObject go, bool forceTPose, bool clearBlendShapeBeforeNormalize)
|
||||
public static GameObject Execute(GameObject go, bool forceTPose)
|
||||
{
|
||||
//
|
||||
// T-Poseにする
|
||||
@@ -66,7 +66,7 @@ namespace VRM
|
||||
//
|
||||
// 正規化されたヒエラルキーを作る
|
||||
//
|
||||
var (normalized, bMap) = MeshUtility.BoneNormalizer.Execute(go, clearBlendShapeBeforeNormalize, (_src, dst, boneMap) =>
|
||||
var (normalized, bMap) = MeshUtility.BoneNormalizer.Execute(go, (_src, dst, boneMap) =>
|
||||
{
|
||||
var src = _src.GetComponent<Animator>();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user