当前位置: 代码迷 >> 综合 >> unity学习知识(2)--镜头的远近变化代码(狙击镜)
  详细解决方案

unity学习知识(2)--镜头的远近变化代码(狙击镜)

热度:8   发布时间:2024-02-08 04:37:56.0

设置Camera的FOV属性实现:

按下镜头拉近,再按下拉远

逐渐拉近

缩放等级变化

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class CareamZoom : MonoBehaviour
{// Start is called before the first frame updateprivate Camera camera;void Start(){camera = GetComponent<Camera>();}private bool isFar =true;// Update is called once per framevoid Update(){plan1();}private void plan1(){if (Input.GetMouseButtonDown(1)){//拉远60isFar = !isFar;if (isFar){camera.fieldOfView = 60;}//拉近20elsecamera.fieldOfView = 20;}}private void plan2(){if (Input.GetMouseButtonDown(1)){//拉远60isFar = !isFar;if (isFar){//if(camera.fieldOfView<60)//camera.fieldOfView += 2;camera.fieldOfView= Mathf.Lerp(camera.fieldOfView, 60, 0.1f);//起点,终点,比例 但不会等于终点if (Mathf.Abs(camera.fieldOfView - 60) < 0.1f)camera.fieldOfView = 60;}//拉近20elseif (camera.fieldOfView >20)camera.fieldOfView -= 2;/* camera.fieldOfView = Mathf.Lerp(camera.fieldOfView, 20, 0.1f);if (Mathf.Abs(camera.fieldOfView - 20) < 0.1f)camera.fieldOfView = 20;*/}}
}