稳定性
在操控玩家时,我们会发现玩家移动时,摄像头会有抖动,这是摄像机过度精确造成的。
创建名为RoundCameraPos的C#脚本,用Visual Studio打开
代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Cinemachine;//导入Cinemachina框架
//必须继承CinemachineExtension才能附加到Cinemachine处理管道的组件
public class RoundCameraPos : CinemachineExtension
{
public float PixelsPerUnit = 32;//世界单元显示32个像素
protected override void PostPipelineStageCallback(CinemachineVirtualCameraBase vcam, CinemachineCore.Stage stage, ref CameraState state, float deltaTime)
{
if (stage == CinemachineCore.Stage.Body)//如果处于Body阶段,那么可以设置虚拟摄像机在space的位置
{
Vector3 pos=state.FinalPosition;//获取虚拟机的最终位置
Vector3 pos2 = new Vector3(Round(pos.x), Round(pos.y), pos.z);//四舍五