糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 相机视野拉伸 设置相机的Field Of View改变视野的大小

相机视野拉伸 设置相机的Field Of View改变视野的大小

时间:2023-07-25 18:32:13

相关推荐

相机视野拉伸 设置相机的Field Of View改变视野的大小

游戏开发过程中,需要很多地方来改变相机视野的大小,比如在竞技类游戏中通过拉伸相机视野,给人一种加速的感觉,本篇博客就告诉大家一种简易的方法实现这种效果,通过设置相机的Field Of View大小,本脚本只需挂载到相机上,设置enabled=true,就可以实现由近到远然后还原的效果。

using System.Collections;using System.Collections.Generic;using UnityEngine;public class CameraFieldStretch : MonoBehaviour{Camera mCamera;public float maxFiledValue=100;//filed of view的最大值public float beginRate=100;//开始放大的速率public float endRate=100;//结束放大的速率public float stretchTime=1;//拉伸后持续的时间float mTime;//拉伸field of view到设定值后的时间float originalSize;//原始大小bool hasChange;//已经拉伸bool alreadyAdd;//field of view已经加到最大值void OnDisable(){mCamera.fieldOfView = originalSize;}void OnEnable (){mCamera = gameObject.GetComponent<Camera>();originalSize = mCamera.fieldOfView;mTime = 0;alreadyAdd = false;}void Update (){if (!alreadyAdd) {mCamera.fieldOfView =Mathf.MoveTowards (mCamera.fieldOfView, maxFiledValue, beginRate * Time.deltaTime);if (Mathf.Approximately (mCamera.fieldOfView, maxFiledValue)) {alreadyAdd = true;}} else {mTime += Time.deltaTime;if (mTime>stretchTime) {mCamera.fieldOfView =Mathf.MoveTowards(mCamera.fieldOfView,originalSize,endRate * Time.deltaTime);if (Mathf.Approximately (mCamera.fieldOfView, originalSize)) {mCamera.fieldOfView = originalSize;enabled = false;}}}}}

如果觉得《相机视野拉伸 设置相机的Field Of View改变视野的大小》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。