void IDataProvider.FirstInitScene(StageRuntimeInterface SRI) { Camera camera = SRI.camera; camera.allowHDR = true; var additionalData = camera.gameObject.AddComponent <HDAdditionalCameraData>(); additionalData.clearColorMode = HDAdditionalCameraData.ClearColorMode.Color; additionalData.clearDepth = true; additionalData.backgroundColorHDR = camera.backgroundColor; additionalData.volumeAnchorOverride = camera.transform; additionalData.volumeLayerMask = 1 << 31; //31 is the culling layer used in LookDev GameObject volumeGO = SRI.AddGameObject(persistent: true); volumeGO.name = "SkyManagementVolume"; Volume volume = volumeGO.AddComponent <Volume>(); volume.isGlobal = true; volume.priority = float.MaxValue; VolumeProfile profile = ScriptableObject.CreateInstance <VolumeProfile>(); volume.profile = profile; VisualEnvironment visualEnvironment = profile.Add <VisualEnvironment>(); HDRISky sky = profile.Add <HDRISky>(); SRI.SRPData = new LookDevDataForHDRP() { additionalCameraData = additionalData, visualEnvironment = visualEnvironment, sky = sky, volume = volume }; //temp for debug: show component in scene hierarchy //UnityEngine.SceneManagement.SceneManager.MoveGameObjectToScene(camera.gameObject, GameObject.Find("Main Camera").scene); //camera.gameObject.hideFlags = HideFlags.None; //UnityEngine.SceneManagement.SceneManager.MoveGameObjectToScene(volumeGO, GameObject.Find("Main Camera").scene); //volumeGO.hideFlags = HideFlags.None; }
public HDRISkyRenderer(HDRISky hdriSkyParams) { m_HdriSkyParams = hdriSkyParams; m_PropertyBlock = new MaterialPropertyBlock(); }