# 5. Blends, Custom Blends, Cut vs Ease Part of [[Cinemachine 3]]. Prev: [[4.Impulse Noise and Extensions]]. Next: [[6.Worked Example Third-Person and Cutaway]]. **Docs:** [Cinemachine Blender Settings](https://docs.unity3d.com/Packages/[email protected]/manual/CinemachineBlending.html) · [CinemachineBrain](https://docs.unity3d.com/Packages/[email protected]/manual/CinemachineBrain.html) · [[Timeline Basics]] ## 5.1 How a transition is chosen When the live camera changes: 1. Brain looks in the **Custom Blends** asset for a matching **From → To** (name-based, not object references). 2. Strongest specificity wins (`CamA→CamB` beats `CamA→ANY CAMERA`). 3. If none match → **Default Blend** on the Brain. 4. Equal specificity → first matching entry applies. Reserved name: **`ANY CAMERA`**. ## 5.2 Blend styles (docs) | Style | Feel | |---|---| | **Cut** | Zero-length; instant. | | **Ease In Out** | S-curve; gentle. | | **Ease In** | Linear out, ease into incoming. | | **Ease Out** | Ease out of outgoing, linear into incoming. | | **Hard In** | Ease out, accelerate into incoming. | | **Hard Out** | Accelerate out, ease into incoming. | | **Linear** | Mechanical linear. | | **Custom** | Draw your own curve. | **Time** = duration in seconds (ignored meaningfully for Cut). ## 5.3 Author a Custom Blends asset 1. Create a **Cinemachine Blender Settings** asset (Package / Create menus — name it e.g. `CameraBlends`). 2. On **Cinemachine Brain → Custom Blends**, assign it. 3. Add rows: | From | To | Style | Time | |---|---|---|---| | `CM_Gameplay` | `CM_Cutaway` | Ease In Out | 0.6 | | `CM_Cutaway` | `CM_Gameplay` | Ease Out | 0.4 | | `CM_Gameplay` | `CM_ADS` | Cut | 0 | | `ANY CAMERA` | `CM_Death` | Ease In | 1.2 | **Names must match GameObject / camera names** used by Cinemachine. Yellow field = no match in current scene (still OK if spawned later). ## 5.4 Script: force a cutaway with Priority ```csharp using System.Collections; using UnityEngine; using Unity.Cinemachine; /// <summary> /// Raise Priority on a cutaway camera, wait, restore. /// Blend style comes from Brain Custom Blends / Default Blend. /// NOT compiled in Unity. /// </summary> public sealed class CmCutawayTrigger : MonoBehaviour { [SerializeField] CinemachineCamera gameplay; [SerializeField] CinemachineCamera cutaway; [SerializeField] int cutawayPriority = 30; [SerializeField] float holdSeconds = 2f; int _gameplayPriority; Coroutine _routine; void Awake() { if (gameplay != null) _gameplayPriority = gameplay.Priority; if (cutaway != null) { cutaway.Priority = 0; cutaway.enabled = false; } } public void PlayCutaway() { if (_routine != null) StopCoroutine(_routine); _routine = StartCoroutine(Run()); } IEnumerator Run() { cutaway.enabled = true; cutaway.Priority = cutawayPriority; yield return new WaitForSeconds(holdSeconds); cutaway.Priority = 0; cutaway.enabled = false; if (gameplay != null) gameplay.Priority = _gameplayPriority; _routine = null; } } ``` ## 5.5 Timeline coexistence [[Timeline Basics]] already covers Cinemachine tracks for sequenced shots. Rules of thumb: - **Gameplay FreeLook** Priority mid; Timeline-activated shot cams Priority high while the clip is active. - Prefer **Custom Blends** for gameplay↔gameplay; let Timeline own cinematic clip blends when using the Cinemachine track. - Do not fight the Brain: avoid manually lerping the Unity Camera transform while Brain is enabled. ## 5.6 Cut vs Ease design notes ([[Level Up! (Review)]]) - **Cut** for impact, combat confirms, UI mode switches. - **Short Ease (0.2–0.5s)** for ADS / interact focus. - **Longer Ease** for story beat reveals; avoid soft blends during precision platforming (players need spatial certainty). ## Unverified - Exact Create-menu path string for Blender Settings asset in your Editor skin. - Timeline package track field names beyond [[Timeline Basics]].