static IMaterialDescriptorGenerator GetVrmMaterialGenerator(bool useUrp, VRM.glTF_VRM_extensions vrm) { if (useUrp) { return(new VRM.VRMUrpMaterialDescriptorGenerator(vrm)); } else { return(new VRM.VRMMaterialDescriptorGenerator(vrm)); } }
public VRMImporterContext(GltfParser parser) : base(parser) { // parse VRM part if (glTF_VRM_extensions.TryDeserilize(GLTF.extensions, out glTF_VRM_extensions vrm)) { VRM = vrm; // override material importer MaterialFactory.CreateMaterialAsync = new VRMMaterialImporter(VRM.materialProperties).CreateMaterial; } else { throw new KeyNotFoundException("not vrm0"); } }
public override void ParseJson(string json, IStorage storage) { // parse GLTF part(core + unlit, textureTransform, targetNames) base.ParseJson(json, storage); // parse VRM part if (glTF_VRM_extensions.TryDeserilize(GLTF.extensions, out glTF_VRM_extensions vrm)) { VRM = vrm; } // override material importer SetMaterialImporter(new VRMMaterialImporter(this, VRM.materialProperties)); }
public override void ParseJson(string json, IStorage storage) { // parse GLTF part(core + unlit, textureTransform, targetNames) base.ParseJson(json, storage); // parse VRM part if (glTF_VRM_extensions.TryDeserilize(GLTF.extensions, out glTF_VRM_extensions vrm)) { VRM = vrm; // override material importer MaterialFactory.MaterialImporter = new VRMMaterialImporter(VRM.materialProperties).CreateMaterial; } else { throw new KeyNotFoundException("not vrm0"); } }
public VRMImporterContext( GltfData data, IReadOnlyDictionary <SubAssetKey, Object> externalObjectMap = null, ITextureDeserializer textureDeserializer = null) : base(data, externalObjectMap, textureDeserializer) { // parse VRM part if (glTF_VRM_extensions.TryDeserialize(GLTF.extensions, out glTF_VRM_extensions vrm)) { VRM = vrm; TextureDescriptorGenerator = new VrmTextureDescriptorGenerator(Data, VRM); MaterialDescriptorGenerator = new VRMMaterialDescriptorGenerator(VRM); } else { throw new NotVrm0Exception(); } }