public override Extension Deserialize(GLTFRoot root, JProperty extensionToken) { var extension = new Sein_rendererExtension(); if (extensionToken != null) { extension.castShadows = (bool)extensionToken.Value["castShadows"]; extension.receiveShadows = (bool)extensionToken.Value["receiveShadows"]; } return(new Sein_rendererExtension()); }
public override Extension Deserialize(GLTFRoot root, JProperty extensionToken) { var extension = new Sein_rendererExtension(); if (extensionToken.Value["castShadows"] == null) { extension.gammaCorrection = (bool)extensionToken.Value["gammaCorrection"]; extension.useHDR = (bool)extensionToken.Value["useHDR"]; extension.exposure = (float)extensionToken.Value["exposure"]; } else { extension.castShadows = (bool)extensionToken.Value["castShadows"]; extension.receiveShadows = (bool)extensionToken.Value["receiveShadows"]; } return(new Sein_rendererExtension()); }
public override void Serialize(ExporterEntry entry, Dictionary <string, Extension> extensions, UnityEngine.Object component = null, object options = null) { Sein_rendererExtension extension; if (component == null) { extension = new Sein_rendererExtension { isGlobal = true, gammaCorrection = PlayerSettings.colorSpace == ColorSpace.Linear, //@todo: support hdr useHDR = false, exposure = 0 }; } else { extension = new Sein_rendererExtension { isGlobal = false }; var mr = component as Renderer; var lightmapIndex = mr.lightmapIndex; if (ExporterSettings.Lighting.lightMap && lightmapIndex > -1) { Vector4 lightmapScaleOffset = mr.lightmapScaleOffset; var lightData = LightmapSettings.lightmaps[lightmapIndex]; var lightTexture = lightData.lightmapColor; var lightTextureIndex = entry.SaveTexture(lightTexture, maxSize: ExporterSettings.Lighting.lightMapSize); extension.uvScale = new Vector2(lightmapScaleOffset.x, lightmapScaleOffset.y); extension.uvOffset = new Vector2(lightmapScaleOffset.z, lightmapScaleOffset.w); extension.lightMapIndex = lightTextureIndex.Id; } extension.castShadows = mr.shadowCastingMode == UnityEngine.Rendering.ShadowCastingMode.On; extension.receiveShadows = mr.receiveShadows; } AddExtension(extensions, extension); }
public override void Serialize(ExporterEntry entry, Dictionary <string, Extension> extensions, UnityEngine.Object component = null) { var extension = new Sein_rendererExtension(); var mr = component as Renderer; var lightmapIndex = mr.lightmapIndex; if (ExporterSettings.Lighting.lightMap && lightmapIndex > -1) { Vector4 lightmapScaleOffset = mr.lightmapScaleOffset; var lightData = LightmapSettings.lightmaps[lightmapIndex]; var lightTexture = lightData.lightmapColor; var lightTextureIndex = entry.SaveTextureHDR(lightTexture, ExporterSettings.Lighting.lightMapType, ExporterSettings.Lighting.lightMapSize); extension.uvScale = new Vector2(lightmapScaleOffset.x, lightmapScaleOffset.y); extension.uvOffset = new Vector2(lightmapScaleOffset.z, lightmapScaleOffset.w); extension.lightMapIndex = lightTextureIndex.Id; } extension.castShadows = mr.shadowCastingMode == UnityEngine.Rendering.ShadowCastingMode.On; extension.receiveShadows = mr.receiveShadows; extension.gammaCorrection = PlayerSettings.colorSpace == ColorSpace.Linear; AddExtension(extensions, extension); }