internal void SetupRenderPipelinePreviewLight(Light light) { HDLightTypeAndShape hdLightTypeAndShape = (light.type == LightType.Point) ? HDLightTypeAndShape.Point : HDLightTypeAndShape.ConeSpot; HDAdditionalLightData hdLight = GameObjectExtension.AddHDLight(light.gameObject, hdLightTypeAndShape); hdLight.SetIntensity(20000f, LightUnit.Lumen); hdLight.affectDiffuse = true; hdLight.affectSpecular = false; hdLight.affectsVolumetric = false; }
internal void SetupRenderPipelinePrefabLight(IESEngine engine, Light light, Texture ies) { HDLightTypeAndShape hdLightTypeAndShape = (light.type == LightType.Point) ? HDLightTypeAndShape.Point : HDLightTypeAndShape.ConeSpot; HDAdditionalLightData hdLight = GameObjectExtension.AddHDLight(light.gameObject, hdLightTypeAndShape); if (commonIESImporter.iesMetaData.UseIESMaximumIntensity) { LightUnit lightUnit = (commonIESImporter.iesMetaData.IESMaximumIntensityUnit == "Lumens") ? LightUnit.Lumen : LightUnit.Candela; hdLight.SetIntensity(commonIESImporter.iesMetaData.IESMaximumIntensity, lightUnit); if (light.type == LightType.Point) { hdLight.IESPoint = ies; } else { hdLight.IESSpot = ies; } } }
/// <summary> /// Describe how to create an Prefab for the current SRP, have to be reimplemented for each SRP. /// </summary> /// <param name="ctx">Context used from the asset importer</param> /// <param name="iesFileName">Filename of the current IES file</param> /// <param name="useIESMaximumIntensity">True if uses the internal Intensity from the file</param> /// <param name="iesMaximumIntensityUnit">The string of the units described by the intensity</param> /// <param name="iesMaximumIntensity">Intensity</param> /// <param name="light">Light used for the prefab</param> /// <param name="ies">Texture used for the prefab</param> /// <returns></returns> static public void CreateRenderPipelinePrefabLight(AssetImportContext ctx, string iesFileName, bool useIESMaximumIntensity, string iesMaximumIntensityUnit, float iesMaximumIntensity, Light light, Texture ies) { HDLightTypeAndShape hdLightTypeAndShape = (light.type == LightType.Point) ? HDLightTypeAndShape.Point : HDLightTypeAndShape.ConeSpot; HDAdditionalLightData hdLight = GameObjectExtension.AddHDLight(light.gameObject, hdLightTypeAndShape); if (useIESMaximumIntensity) { LightUnit lightUnit = (iesMaximumIntensityUnit == "Lumens") ? LightUnit.Lumen : LightUnit.Candela; hdLight.SetIntensity(iesMaximumIntensity, lightUnit); if (light.type == LightType.Point) { hdLight.IESPoint = ies; } else { hdLight.IESSpot = ies; } } // The light object will be automatically converted into a prefab. ctx.AddObjectToAsset(iesFileName + "-HDRP", light.gameObject); }