【发布时间】:2020-05-15 14:33:47
【问题描述】:
所以基本上我写了这段代码:
int zoom = 20;
int normal = 31;
float smooth = 5;
private bool isZoomed = false;
private bool notZoomed = false;
void Update()
{
if (Input.GetKeyDown(KeyCode.LeftShift))
{
isZoomed = !isZoomed;
}
if (isZoomed)
{
GetComponent<Camera>().fieldOfView = Mathf.Lerp(GetComponent<Camera>().fieldOfView, zoom, Time.deltaTime * smooth);
}
if (Input.GetKeyUp(KeyCode.LeftShift))
{
notZoomed = !notZoomed;
}
if (notZoomed)
{
GetComponent<Camera>().fieldOfView = Mathf.Lerp(GetComponent<Camera>().fieldOfView, normal, Time.deltaTime * smooth);
}
}
这是为了平滑缩放,但效果不是很好,充满了错误等等。 我想做一个类似的“我的世界 Optifine 缩放”(基本上当我按住 shift 时它会缩放,如果我重新调整它会回到正常的相机 fov)请有人修复我的代码或给我发送另一个代码吗?请问我真的需要它。谢谢
【问题讨论】:
-
不,我们无法修复您的代码,您需要告诉我们错误是什么。 “充满了错误”并没有真正的帮助。你调试了吗?
标签: c# unity3d 3d camera zooming