Fixed division by zero error when downloading assets

Fixed exporting multiple MMD models
This commit is contained in:
katboi01
2025-03-27 13:12:01 +01:00
parent 7eb8de69df
commit c8554e500c
8 changed files with 269 additions and 352 deletions
+14
View File
@@ -38,6 +38,7 @@ public class ModelExporter
writer.Close();
fileStream.Close();
ClearBlendShape(container);
UmaViewerUI.Instance.ShowMessage($"PMX Save at {path}", UIMessageType.Success);
}
@@ -153,6 +154,19 @@ public class ModelExporter
facial.ChangeMorph();
}
private static void ClearBlendShape(UmaContainerCharacter container)
{
if (!container.FaceDrivenKeyTarget) return;
//assuming base meshes do not have any blend shapes
foreach (SkinnedMeshRenderer s in container.GetComponentsInChildren<SkinnedMeshRenderer>())
{
if (s.name.Contains("M_Face") || s.name.Contains("M_Mayu") || s.name.Contains("M_Hair"))
{
s.sharedMesh.ClearBlendShapes();
}
}
}
private static Morph[] ReadMorph(List<Renderer> renderers)
{
List<Morph> morphs = new List<Morph>();
+1 -1
View File
@@ -76,7 +76,7 @@ public class UmaSceneController:MonoBehaviour
{
LoadingProgressPanel.SetActive(false);
}
else
else if (target > 0)
{
LoadingProgressPanel.SetActive(true);
LoadingProgressSlider.value = (float)curren / target;
+1 -1
View File
@@ -69,7 +69,7 @@ public class UmaViewerDownload : MonoBehaviour
entries = entries.Where(e => !File.Exists(e.Path)).ToList();
if (entries.Count == 0) yield break;
callback?.Invoke(0, entries.Count, "DownLoading");
var percent_num = entries.Count / 100;
var percent_num = (float)entries.Count / 100;
for(int i = 0; i < entries.Count; i++)
{
var entry = entries[i];