demo scene hierarchy reference
This document lists each GameObject in the Demo Shadow Capture Studio scene and its purpose. Hierarchy is from the scene root down.
Scene roots (top-level)
Shadow Capture Studio Camera
Main camera (tag: MainCamera). Renders the player view; has Camera, AudioListener, URP camera data, and Physics Raycaster. Referenced by Shadow Capture Studio and Shadow Match System.
EventSystem
Handles UI and input using new Input System:. ShadowMatchInputManager (wires input actions for rotate/tilt/reset/quit).
Directional Light
General scene fill/ambient directional light (low intensity, no shadows). Separate from the shadow-projector light.
Shadow Capture Studio
Holds ShadowCaptureStudio component: level data, source camera, shadow catcher quad, shadow light, interactable for capture, Shadow Match System, display preview, frame bounds, and baking config. Parent of all studio geometry and UI canvas.
Under Shadow Capture Studio
Canvas
Main UI Canvas (Screen Space – Overlay). Canvas Scaler (reference resolution 1920×1080), GraphicRaycaster. Child: Safe Canvas.
Shadow Match System
Core gameplay: ShadowMatchSystem script – level config, interactable, target shadow display quad, main camera, UI view, shadow catcher quad, shadow capture camera, comparison compute shader, main display RawImage, visualizer material. Runs puzzle state (Idle/Active/Solved) and pixel comparison. Child: Pixel Comparison Camera.
Wall with the frame
Static wall plane that the picture frame sits on;
Wall with no frame
Static wall plane without frame;
Floor
Large floor plane
Interactable Object Wrapper - CAT
Prefab variant instance. The object the player rotates to match the target shadow; has ShadowMatchInteractable. Referenced as “interactable” by Shadow Match System and Shadow Capture Studio.
Directional Realtime Light (Projector for the shadow)
Directional light that casts the shadow onto the shadow catcher. Position/orientation define shadow direction.
fancy_picture_frame_01_capture_canvas
Prefab instance (picture frame with canvas). Contains the frame mesh and Quad Display Canvas Baked; used for baked shadow display and frame snapshot/capture.
Shadow Catcher Quad (Required For Baking and Gameplay)
Quad with Shadow Catcher material; receives realtime shadows for baking and for pixel comparison in gameplay. Referenced by Shadow Capture Studio and Shadow Match System.
Captured Shadow Display Quad
Quad in world space that shows the captured/target shadow in your desired color (e.g. baked result). MeshRenderer; referenced as _targetShadowDisplay by Shadow Match System and as _displayQuadPreview by Shadow Capture Studio. (You can give your target shadow more contrast if you have this enabled along with your frame's baked canvas, but it's not required active if the baked canvas is active.)
Under Shadow Match System
Pixel Comparison Camera
Camera used to render the shadow catcher into a render texture for GPU pixel comparison (source vs target). Referenced by Shadow Match System. (Must be inactive during gameplay)
Under fancy_picture_frame_01_capture_canvas (prefab)
fancy_picture_frame_01
The frame's mesh
fancy_picture_frame_01_capture_canvas
The frame's canvas mesh
Quad Display Canvas Baked
Quad that displays the baked shadow texture on the frame. Referenced as _frameSnapshotMeshFilter by Shadow Capture Studio for frame snapshot export. (Activate this and assign the frame export texture to its material to display. It's useful if you want to take your frame export texture into photoshop, design a nice picture around the target shadow, then bring that back into Unity!)
Under Canvas → Safe Canvas
If you want to build for mobile, I recommend to use this asset -> https://assetstore.unity.com/packages/tools/gui/safe-area-helper-130488 Place the SafeArea script onto the Safe Canvas gameobject.
Shadow Match UI Screen
Prefab instance. Main game UI (e.g. match feedback, fade, optional buttons). Holds ShadowMatchView; referenced as _ui by Shadow Match System. Contains rotation percentage tmp for showing match percentage.
Controls Panel
Semi-transparent panel (Image) anchored to bottom-right; contains Controls TMP.
Source target parent
UI container for the “Source vs. Target” label and the comparison image.
Under Source target parent
Source Label
Labels the comparison area.
Comparison RawImage
RawImage showing the source-vs-target comparison (e.g. from the pixel comparison pipeline). Referenced as _mainDisplay by Shadow Match System.
Under Controls Panel
Controls TMP
TextMeshProUGUI listing keyboard and controller bindings (rotate, tilt, reset, quit).
Summary by role
Rendering: Shadow Capture Studio Camera, Pixel Comparison Camera, Directional Light, Directional Realtime Light.
Shadow pipeline: Shadow Catcher Quad, Captured Shadow Display Quad, Quad Display Canvas Baked, Directional Realtime Light, Target Interactable Object.
Gameplay: Shadow Match System, Interactable Object Wrapper - CAT, Shadow Match UI Screen.
Authoring / baking: Shadow Capture Studio, Target Object Wrapper Realtime Shadow Caster, fancy_picture_frame_01_capture_canvas.
UI: Canvas, Safe Canvas, Shadow Match UI Screen, Controls Panel, Controls TMP, Source target parent, Source Label, Comparison RawImage, rotation percentage tmp.
Input: EventSystem (with ShadowMatchInputManager).
Environment: Floor, Wall with the frame, Wall with no frame.
Last updated