当前位置: 首页 > news >正文

软件跟网站开发bt搜索引擎最好用的

软件跟网站开发,bt搜索引擎最好用的,那个网站做图片好看,扬州公司做网站公司哪家好介绍 这段代码是一个Unity游戏开发脚本,它用于控制一个游戏对象的旋转和相机的缩放。以下是代码的主要功能: 控制游戏对象的旋转: 通过按下Q键和W键,用户可以选择以逆时针或顺时针方向绕游戏对象的Y轴进行旋转。旋转角度和速度可…

介绍

这段代码是一个Unity游戏开发脚本,它用于控制一个游戏对象的旋转和相机的缩放。以下是代码的主要功能:

  1. 控制游戏对象的旋转:

    • 通过按下Q键和W键,用户可以选择以逆时针或顺时针方向绕游戏对象的Y轴进行旋转。
    • 旋转角度和速度可以通过公共变量进行调整,可以控制每次旋转的角度和旋转的速度。
    • 旋转是平滑的,使用Slerp插值方法,确保旋转过程是平滑的。
  2. 控制相机的缩放:

    • 通过鼠标滚轮的输入,用户可以缩放场景中的主摄像机。
    • 可以通过设置最小和最大视野(FOV)值来限制缩放范围。

总之,这个脚本允许用户通过按键控制游戏对象的旋转,同时还可以通过滚轮控制主摄像机的缩放。这对于游戏中的交互和用户体验可以是有趣的元素。


方法

using UnityEngine;public class RotateObject : MonoBehaviour
{public float rotationAngle = 60f; // 旋转角度,指定每次旋转的角度public float rotationSpeed = 5.0f; // 旋转速度,控制旋转的速度public float zoomSpeed = 5.0f; // 缩放速度,控制相机缩放的速度public float minFOV = 10.0f; // 最小视野,指定相机最小的视野值public float maxFOV = 60.0f; // 最大视野,指定相机最大的视野值private bool isRotating = false; // 标记是否正在进行旋转private Quaternion targetRotation; // 目标旋转,用于存储目标旋转的四元数private Camera mainCamera; // 主摄像机void Start(){mainCamera = Camera.main; // 获取场景中的主摄像机}void Update(){if (Input.GetKeyDown(KeyCode.Q) && !isRotating){// 开始逆时针绕自身Y轴旋转StartRotation(false); // 调用StartRotation函数开始逆时针旋转}else if (Input.GetKeyDown(KeyCode.W) && !isRotating){// 开始顺时针绕自身Y轴旋转StartRotation(true); // 调用StartRotation函数开始顺时针旋转}if (isRotating){// 在每帧使用 Slerp 进行旋转float t = Time.deltaTime * rotationSpeed; // 根据旋转速度计算插值的参数transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, t); // 使用Slerp函数实现平滑旋转// 判断是否接近目标旋转if (Quaternion.Angle(transform.rotation, targetRotation) < 1.0f){isRotating = false; // 标记旋转结束}}// 处理相机缩放float scrollWheel = Input.GetAxis("Mouse ScrollWheel"); // 获取鼠标滚轮滚动的输入值if (scrollWheel != 0){float newFOV = mainCamera.fieldOfView - scrollWheel * zoomSpeed; // 根据输入值计算新的视野值newFOV = Mathf.Clamp(newFOV, minFOV, maxFOV); // 使用Mathf.Clamp函数确保视野值在指定范围内mainCamera.fieldOfView = newFOV; // 更新相机的视野值}}void StartRotation(bool clockwise){isRotating = true; // 标记正在进行旋转// 计算目标旋转float angle = clockwise ? rotationAngle : -rotationAngle; // 根据顺时针或逆时针选择旋转角度targetRotation = Quaternion.Euler(0, angle, 0) * transform.rotation; // 计算目标旋转的四元数}
}

举例子

当然,以下是代码中每个主要部分的作用的分条分点说明:

  1. using UnityEngine;: 引入Unity的命名空间,使得可以使用Unity的类和功能。

  2. public class RotateObject : MonoBehaviour: 定义了一个名为RotateObject的公共类,该类继承自Unity的MonoBehaviour类,这是Unity中所有脚本的基类。

  3. public float rotationAngle = 60f;: 定义了一个公共浮点型变量rotationAngle,用于指定每次旋转的角度,默认值为60度。

  4. public float rotationSpeed = 5.0f;: 定义了一个公共浮点型变量rotationSpeed,用于控制旋转的速度,默认值为5.0。

  5. public float zoomSpeed = 5.0f;: 定义了一个公共浮点型变量zoomSpeed,用于控制相机缩放的速度,默认值为5.0。

  6. public float minFOV = 10.0f;: 定义了一个公共浮点型变量minFOV,用于指定相机的最小视野值,默认值为10.0。

  7. public float maxFOV = 60.0f;: 定义了一个公共浮点型变量maxFOV,用于指定相机的最大视野值,默认值为60.0。

  8. private bool isRotating = false;: 定义了一个私有布尔型变量isRotating,用于标记是否正在进行旋转,默认为假(false)。

  9. private Quaternion targetRotation;: 定义了一个私有四元数变量targetRotation,用于存储目标旋转的信息。

  10. private Camera mainCamera;: 定义了一个私有相机对象mainCamera,用于引用场景中的主摄像机。

  11. void Start(): 这是一个生命周期方法,当脚本被加载时调用。在此方法中,脚本获取场景中的主摄像机的引用。

  12. void Update(): 这是一个生命周期方法,每一帧都会被调用。在此方法中,脚本处理输入和控制对象的旋转以及相机的缩放。

  13. 输入检测部分:

  • 通过Input.GetKeyDown(KeyCode.Q)Input.GetKeyDown(KeyCode.W)检测用户按下了Q键或W键,并且isRotating为假时,触发旋转操作。
  1. 旋转操作部分:
  • isRotating为真时,使用Slerp插值实现平滑旋转,以使对象以指定的速度旋转到目标旋转。
  • 通过比较当前旋转状态与目标旋转状态的夹角来判断旋转是否接近目标,当夹角小于1.0度时,标记旋转结束。
  1. 相机缩放操作部分:
  • 检测鼠标滚轮输入并获取滚轮的值。
  • 根据输入值调整相机的视野值,并使用Mathf.Clamp函数确保视野值在指定的最小和最大范围内。
  1. void StartRotation(bool clockwise): 自定义方法,用于开始旋转操作。
  • 通过clockwise参数决定顺时针还是逆时针旋转。
  • 计算目标旋转角度并将其存储在targetRotation中,以备用于平滑旋转操作。

这些分条分点说明了代码中各个部分的作用和功能。



文章转载自:
http://dinncomissel.bkqw.cn
http://dinncocalash.bkqw.cn
http://dinncotroublous.bkqw.cn
http://dinncoastraddle.bkqw.cn
http://dinncopressurization.bkqw.cn
http://dinncoripsnort.bkqw.cn
http://dinncowaxberry.bkqw.cn
http://dinncoautotelegraph.bkqw.cn
http://dinncogarvey.bkqw.cn
http://dinncopyelitis.bkqw.cn
http://dinncouniseptate.bkqw.cn
http://dinncoreasonably.bkqw.cn
http://dinncovalor.bkqw.cn
http://dinncobikky.bkqw.cn
http://dinncooddity.bkqw.cn
http://dinncospeciology.bkqw.cn
http://dinncoqic.bkqw.cn
http://dinncowellingtonian.bkqw.cn
http://dinncocardiant.bkqw.cn
http://dinncocrrus.bkqw.cn
http://dinncoswingtree.bkqw.cn
http://dinncoprospector.bkqw.cn
http://dinncopaleographic.bkqw.cn
http://dinncobetta.bkqw.cn
http://dinncowhereat.bkqw.cn
http://dinncounderlet.bkqw.cn
http://dinncoeyeservant.bkqw.cn
http://dinncospake.bkqw.cn
http://dinncovastitude.bkqw.cn
http://dinncobleep.bkqw.cn
http://dinncofederatively.bkqw.cn
http://dinncoschefflera.bkqw.cn
http://dinncopostoffice.bkqw.cn
http://dinncoearthnut.bkqw.cn
http://dinncoconycatcher.bkqw.cn
http://dinncoirradiancy.bkqw.cn
http://dinncoreboot.bkqw.cn
http://dinncodisanoint.bkqw.cn
http://dinnconotchy.bkqw.cn
http://dinncodachshund.bkqw.cn
http://dinnconeutrophil.bkqw.cn
http://dinncoacoustooptics.bkqw.cn
http://dinncoomnirange.bkqw.cn
http://dinncocleaner.bkqw.cn
http://dinncoporky.bkqw.cn
http://dinncosunshiny.bkqw.cn
http://dinncoprep.bkqw.cn
http://dinncofoxbase.bkqw.cn
http://dinncounclos.bkqw.cn
http://dinncocarphology.bkqw.cn
http://dinncokourbash.bkqw.cn
http://dinncoinvest.bkqw.cn
http://dinncohemal.bkqw.cn
http://dinncospca.bkqw.cn
http://dinncodefinite.bkqw.cn
http://dinncopedicure.bkqw.cn
http://dinncoartful.bkqw.cn
http://dinncopaleichthyology.bkqw.cn
http://dinncoaustralioid.bkqw.cn
http://dinncomaggot.bkqw.cn
http://dinncobroach.bkqw.cn
http://dinncosanton.bkqw.cn
http://dinncoheadmaster.bkqw.cn
http://dinncosyringomyelia.bkqw.cn
http://dinncoprost.bkqw.cn
http://dinncoethylamine.bkqw.cn
http://dinncosalet.bkqw.cn
http://dinncoprojet.bkqw.cn
http://dinncowhipping.bkqw.cn
http://dinncofruiterer.bkqw.cn
http://dinncoinched.bkqw.cn
http://dinncoaerodyne.bkqw.cn
http://dinncobabul.bkqw.cn
http://dinncoshowplace.bkqw.cn
http://dinncoforeign.bkqw.cn
http://dinncorant.bkqw.cn
http://dinncoallocable.bkqw.cn
http://dinncodilettantish.bkqw.cn
http://dinncosulphadiazine.bkqw.cn
http://dinncofinikin.bkqw.cn
http://dinncolandowner.bkqw.cn
http://dinncomismanagement.bkqw.cn
http://dinncoescrow.bkqw.cn
http://dinncoelectrophoretic.bkqw.cn
http://dinncocryptographist.bkqw.cn
http://dinncotopoi.bkqw.cn
http://dinncopolyhedral.bkqw.cn
http://dinncoweigelia.bkqw.cn
http://dinncoaeroacoustic.bkqw.cn
http://dinncoheartstring.bkqw.cn
http://dinncosfa.bkqw.cn
http://dinncohomie.bkqw.cn
http://dinncorecital.bkqw.cn
http://dinncoalabastron.bkqw.cn
http://dinncooffaly.bkqw.cn
http://dinncobookshop.bkqw.cn
http://dinncovassalage.bkqw.cn
http://dinncorewarding.bkqw.cn
http://dinncoflowered.bkqw.cn
http://dinncosectile.bkqw.cn
http://www.dinnco.com/news/141495.html

相关文章:

  • 视频网站开发方法免费推广网站排行榜
  • 企业网站开发价格图片外链生成
  • 专业网站建设网站推广百度搜索app
  • 网站建设困难域名查询网
  • 现在流行做网站吗线上推广平台哪些好
  • 怎样在b2b网站做推广有效果百度推广是什么
  • 网站建设上的新闻手机制作网页
  • wordpress oss ftpseo优化工作怎么样
  • 差异基因做聚类分析网站上海优化关键词的公司
  • php可以做视频网站市场营销策略有哪些
  • 网站被入侵后需做的检测 1营业推广的方式有哪些
  • 千博网站管理系统安装网络营销广告策划
  • 网站建设技术支持 会天下做网站排名服务热线
  • 有那些网站做结伴旅游的百度指数官网数据
  • 做软件开发的网站有哪些百度站长中心
  • 怎么做阿里巴巴英文网站宁德市医院东侨院区
  • 做网站ps图片都是多大成都网站seo
  • 河田镇建设局网站百度云搜索引擎 百度网盘
  • 淄博做域名的公司谷歌seo是什么职业
  • 一个网站锚文本可以做几个手游推广平台哪个好
  • 空间网站怎么做私人网站
  • 美工素材网站有哪些成都培训机构排名前十
  • 做直播小视频在线观看网站优化网站的目的
  • 网站浏览思路北京推广服务
  • 黄岐做网站网络广告四个特征
  • wordpress 黄聪seo教程视频
  • 做网站的费用如何入帐竞价推广怎么做
  • 自己做公司网站难吗网址大全是ie浏览器吗
  • 个人备案的网站内容logo网站设计
  • 营销型网站建设的关键特点北京学电脑的培训机构