Cinemachine 2D摄像头:垂直向上移动

时间:2018-06-20 18:48:15

标签: unity3d

我正在使用Cinemachine Virtual Camera,并且希望它仅沿Y轴向上移动。我该如何实现?

我还有一个问题:如何阻止X轴上的运动? 我将盲区设置为1,但是当我的对象从屏幕的左边界移动到右边界时,我会看到一点抖动。

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以创建vcam扩展名,此模板可以正常工作。 这是从此论坛中获取的。 https://forum.unity.com/threads/lock-an-axis-in-2d-vcam-follow-mode.516370/

using UnityEngine;
using Cinemachine;

/// <summary>
/// An add-on module for Cinemachine Virtual Camera that locks the camera's Z co- 
ordinate
/// </summary>
[ExecuteInEditMode] [SaveDuringPlay] [AddComponentMenu("")] // Hide in menu
public class LockCameraZ : CinemachineExtension
{
[Tooltip("Lock the camera's Z position to this value")]
public float m_ZPosition = 10;

protected override void PostPipelineStageCallback(
    CinemachineVirtualCameraBase vcam,
    CinemachineCore.Stage stage, ref CameraState state, float deltaTime)
{
    if (enabled && stage == CinemachineCore.Stage.Body)
    {
        var pos = state.RawPosition;
        pos.z = m_ZPosition;
        state.RawPosition = pos;
    }
}
}

因此扩展比覆盖主摄像机位置更好,因为您可以启用或禁用扩展,也可以与其他扩展结合使用。