MaterialDescriptorGenerator を constructor 経由にした

This commit is contained in:
ousttrue 2021-09-01 21:44:03 +09:00
parent be20d1ce96
commit 5dd603f4fc
2 changed files with 9 additions and 2 deletions

View File

@ -19,6 +19,14 @@ namespace UniGLTF
public AnimationClipFactory AnimationClipFactory { get; }
public IReadOnlyDictionary<SubAssetKey, UnityEngine.Object> ExternalObjectMap;
/// <summary>
/// UnityObject の 生成(LoadAsync) と 破棄(Dispose) を行う。
/// LoadAsync が成功した場合、返り値(RuntimeGltfInstance) に破棄する責務を移動させる。
/// </summary>
/// <param name="data">Jsonからデシリアライズされた GLTF 情報など</param>
/// <param name="externalObjectMap">外部オブジェクトのリスト(主にScriptedImporterのRemapで使う)</param>
/// <param name="textureDeserializer">Textureロードをカスタマイズする</param>
/// <param name="materialGenerator">Materialロードをカスタマイズする(URP向け)</param>
public ImporterContext(
GltfData data,
IReadOnlyDictionary<SubAssetKey, UnityEngine.Object> externalObjectMap = null,

View File

@ -26,11 +26,10 @@ namespace VRM
IReadOnlyDictionary<SubAssetKey, Object> externalObjectMap = null,
ITextureDeserializer textureDeserializer = null,
IMaterialDescriptorGenerator materialGenerator = null)
: base(data.Data, externalObjectMap, textureDeserializer)
: base(data.Data, externalObjectMap, textureDeserializer, materialGenerator ?? new VRMMaterialDescriptorGenerator(data.VrmExtensions))
{
_data = data;
TextureDescriptorGenerator = new VrmTextureDescriptorGenerator(Data, VRM);
MaterialDescriptorGenerator = materialGenerator ?? new VRMMaterialDescriptorGenerator(VRM);
}
#region OnLoad