Added Observation Scene to show the Replay

This commit is contained in:
Thorbjoern
2025-05-26 18:56:25 +02:00
parent 37c6bd8269
commit c304bc0e10
211 changed files with 60070 additions and 14 deletions
@@ -0,0 +1,29 @@
using UnityEngine.Splines;
namespace Unity.Cinemachine.Samples
{
/// <summary>
/// Calculates shot quality based on how far the Follow target has advanced
/// with its CinemachineSplineCart.
/// </summary>
public class ShotQualityBasedOnSplineCartPosition : CinemachineExtension, IShotQualityEvaluator
{
protected override void PostPipelineStageCallback(
CinemachineVirtualCameraBase vcam, CinemachineCore.Stage stage,
ref CameraState state, float deltaTime)
{
if (stage == CinemachineCore.Stage.Finalize)
{
state.ShotQuality = 0;
if (vcam.Follow != null
&& vcam.Follow.TryGetComponent(out CinemachineSplineCart cart)
&& cart.Spline != null && cart.Spline.Spline != null)
{
// Shot quality is just the normalized distance along the path
state.ShotQuality = cart.Spline.Spline.ConvertIndexUnit(
cart.SplinePosition, cart.PositionUnits, PathIndexUnit.Normalized);
}
}
}
}
}