Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions com.unity.render-pipelines.high-definition/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ The version number for this package has increased due to a version update of a r
- Fixed issue that caused non-static object to not render at times in OnEnable reflection probes.
- Baked reflection probes now correctly use static sky for ambient lighting.
- Use draggable fields for float scalable settings
- Fixed undo after enabling compositor.

### Changed
- Preparation pass for RTSSShadows to be supported by render graph.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ void Update()

}
}

}

void OnGUI()
Expand Down Expand Up @@ -108,10 +107,14 @@ void OnGUI()
compositor.SetupCompositionMaterial();
CompositionUtils.SetDefaultCamera(compositor);
CompositionUtils.SetDefaultLayers(compositor);
}

if (compositor)
Undo.RegisterCreatedObjectUndo(compositor.outputCamera.gameObject, "Create Compositor");
Undo.RegisterCreatedObjectUndo(go, "Create Compositor");
}
else if (compositor)
{
string message = enableCompositor ? "Enable Compositor" : "Disable Compositor";
Undo.RecordObject(compositor, message);
compositor.enabled = enableCompositor;
}
else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ public static CompositorLayer CreateStackLayer(LayerType type = CompositorLayer.
var newLayer = new CompositorLayer();
newLayer.m_LayerName = layerName;
newLayer.m_Type = type;
newLayer.m_Camera = CompositionManager.GetSceceCamera();
newLayer.m_Camera = CompositionManager.GetSceneCamera();
newLayer.m_CullingMask = newLayer.m_Camera? newLayer.m_Camera.cullingMask : 0; //LayerMask.GetMask("None");
newLayer.m_OutputTarget = CompositorLayer.OutputTarget.CameraStack;
newLayer.m_ClearDepth = true;
Expand Down Expand Up @@ -187,6 +187,15 @@ static float EnumToScale(ResolutionScale scale)
return 1.0f / (int)scale;
}

static T AddComponent<T>(GameObject go) where T : Component
{
#if UNITY_EDITOR
return UnityEditor.Undo.AddComponent<T>(go);
#else
return go.AddComponent<T>();
#endif
}

public int pixelWidth
{
get
Expand Down Expand Up @@ -222,7 +231,7 @@ public void Init(string layerID = "")
// Note: Movie & image layers are rendered at the output resolution (and not the movie/image resolution). This is required to have post-processing effects like film grain at full res.
if (m_Camera == null)
{
m_Camera = CompositionManager.GetSceceCamera();
m_Camera = CompositionManager.GetSceneCamera();
}

var compositor = CompositionManager.GetInstance();
Expand Down Expand Up @@ -340,13 +349,15 @@ public void Init(string layerID = "")
if (m_LayerCamera)
{
m_LayerCamera.enabled = m_Show;
var cameraData = m_LayerCamera.GetComponent<HDAdditionalCameraData>();
var cameraData = m_LayerCamera.GetComponent<HDAdditionalCameraData>()
?? AddComponent<HDAdditionalCameraData>(m_LayerCamera.gameObject);

var layerData = m_LayerCamera.GetComponent<AdditionalCompositorData>();
{
// create the component if it is required and does not exist
if (layerData == null)
{
layerData = m_LayerCamera.gameObject.AddComponent<AdditionalCompositorData>();
layerData = AddComponent<AdditionalCompositorData>(m_LayerCamera.gameObject);
layerData.hideFlags = HideFlags.HideAndDontSave | HideFlags.HideInInspector;
}
// Reset the layer params (in case we cloned a camera which already had AdditionalCompositorData)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -826,15 +826,15 @@ internal bool IsThisCameraShared(Camera camera)
return count > 1;
}

static public Camera GetSceceCamera()
static public Camera GetSceneCamera()
{
if (Camera.main != null)
{
return Camera.main;
}
foreach (var camera in Camera.allCameras)
{
if (camera.name != "MainCompositorCamera")
if (camera != CompositionManager.GetInstance().outputCamera)
{
return camera;
}
Expand Down