mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-09-12 13:59:21 -05:00
LoadVrmThumbnailAsync
This commit is contained in:
@@ -306,6 +306,24 @@ namespace UniVRM10
|
||||
return clip;
|
||||
}
|
||||
|
||||
public async Task<Texture2D> LoadVrmThumbnailAsync(IAwaitCaller awaitCaller = null)
|
||||
{
|
||||
if (awaitCaller == null)
|
||||
{
|
||||
awaitCaller = new TaskCaller();
|
||||
}
|
||||
|
||||
if (Vrm10TextureDescriptorGenerator.TryGetMetaThumbnailTextureImportParam(Data, m_vrm.VrmExtension, out (SubAssetKey, VRMShaders.TextureDescriptor Param) kv))
|
||||
{
|
||||
var texture = await TextureFactory.GetTextureAsync(kv.Param, awaitCaller);
|
||||
return texture as Texture2D;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
async Task<VRM10Object> LoadVrmAsync(IAwaitCaller awaitCaller, UniGLTF.Extensions.VRMC_vrm.VRMC_vrm vrmExtension)
|
||||
{
|
||||
if (m_externalMap.TryGetValue(VRM10Object.SubAssetKey, out UnityEngine.Object obj) && obj is VRM10Object vrm)
|
||||
@@ -347,13 +365,11 @@ namespace UniVRM10
|
||||
{
|
||||
meta.Authors.AddRange(src.Authors);
|
||||
}
|
||||
if (Vrm10TextureDescriptorGenerator.TryGetMetaThumbnailTextureImportParam(Data, vrmExtension, out (SubAssetKey, VRMShaders.TextureDescriptor Param) kv))
|
||||
|
||||
var tex2D = await LoadVrmThumbnailAsync(awaitCaller);
|
||||
if (tex2D != null)
|
||||
{
|
||||
var texture = await TextureFactory.GetTextureAsync(kv.Param, awaitCaller);
|
||||
if (texture is Texture2D tex2D)
|
||||
{
|
||||
meta.Thumbnail = tex2D;
|
||||
}
|
||||
meta.Thumbnail = tex2D;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -439,11 +439,7 @@ namespace UniVRM10.VRM10Viewer
|
||||
using (var loader = new Vrm10Importer(vrm, materialGenerator: GetVrmMaterialDescriptorGenerator(m_useUrpMaterial.isOn)))
|
||||
{
|
||||
// migrate しても thumbnail は同じ
|
||||
Texture2D thumbnail = null;
|
||||
if (Vrm10TextureDescriptorGenerator.TryGetMetaThumbnailTextureImportParam(data, vrm.VrmExtension, out (SubAssetKey, VRMShaders.TextureDescriptor Param) kv))
|
||||
{
|
||||
thumbnail = await loader.TextureFactory.GetTextureAsync(kv.Param, new TaskCaller()) as Texture2D;
|
||||
}
|
||||
var thumbnail = await loader.LoadVrmThumbnailAsync();
|
||||
|
||||
if (vrm.OldMeta != null)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user