#2463 でコンストラクターで Singleton 確保したのが仇に。

This commit is contained in:
ousttrue 2024-10-24 16:43:30 +09:00
parent 53028c82f8
commit 0e4bf5da06
4 changed files with 74 additions and 1 deletions

View File

@ -0,0 +1,44 @@
using System.Threading.Tasks;
using UniGLTF;
using UniGLTF.SpringBoneJobs.Blittables;
using UnityEngine;
namespace UniVRM10
{
/// <summary>
/// SpcriptedImporter 経由の import 向け。
/// NativeArray の確保や DontDestroyOnLoad を回避。
/// </summary>
public class Vrm10NopSpringboneRuntime : IVrm10SpringBoneRuntime
{
public void Dispose()
{
}
public Task InitializeAsync(Vrm10Instance instance, IAwaitCaller awaitCaller)
{
return Task.CompletedTask;
}
public void Process()
{
}
public bool ReconstructSpringBone()
{
return false;
}
public void RestoreInitialTransform()
{
}
public void SetJointLevel(Transform joint, BlittableJointMutable jointSettings)
{
}
public void SetModelLevel(Transform modelRoot, BlittableModelLevel modelSettings)
{
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b58249c702cd4054480f69562b43b0b7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -54,7 +54,24 @@ namespace UniVRM10
m_externalMap = new Dictionary<SubAssetKey, UnityEngine.Object>();
}
m_springboneRuntime = springboneRuntime ?? new Vrm10FastSpringboneRuntime();
m_springboneRuntime = MakeDefaultRuntime(springboneRuntime, isAssetImport);
}
static IVrm10SpringBoneRuntime MakeDefaultRuntime(IVrm10SpringBoneRuntime runtime, bool isAssetImport)
{
if (runtime != null)
{
return runtime;
}
if (isAssetImport)
{
// 何もしない dummy
return new Vrm10NopSpringboneRuntime();
}
// Vrm10Instance.MakeRuntime に移譲
return null;
}
static void AssignHumanoid(List<VrmLib.Node> nodes, UniGLTF.Extensions.VRMC_vrm.HumanBone humanBone, VrmLib.HumanoidBones key)

View File

@ -230,6 +230,7 @@ QualitySettings:
PSM: 5
PSP2: 2
Samsung TV: 2
Server: 0
Standalone: 5
Switch: 5
Tizen: 2