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

青岛网站建设找润商永嘉规划建设局网站

青岛网站建设找润商,永嘉规划建设局网站,手机网址怎么输入,godaddy 搭建网站本节介绍一些其他经常使用的Unity类。首先#xff0c;我们回顾一下Vector3向量类#xff0c;它既可以表示方向#xff0c;也可以表示大小。它在游戏中可以用来表示角色的位置#xff0c;物体的移动/旋转#xff0c;设置两个游戏对象之间的距离。在我们之前的课程中#x…本节介绍一些其他经常使用的Unity类。首先我们回顾一下Vector3向量类它既可以表示方向也可以表示大小。它在游戏中可以用来表示角色的位置物体的移动/旋转设置两个游戏对象之间的距离。在我们之前的课程中我们讲过向量的一些运算。例如向量的加法可以表示两个方向的最终移动效果向量的减法可以获取一个游戏对象到另一个游戏对象的方向和距离注意减数和被减数的位置不同将导致向量的方向不同。在制作游戏过程中有时候只需要知道向量的方向而不需要知道向量的大小这时候常常使用单位向量来表示方向。我们把一个向量转换为单位向量的过程叫做单位化或者标准化或者归一化。 关于旋转在Unity中虽然可以使用Vector3向量实现但是更多的是使用Quaternion四元数类它用来描述从一个方向到另一个方向的相对旋转。下面介绍四元数的一些常用方法 Quaternion.LookRotation        使用指定的 forward 和 upwards 方向创建旋转四元数。 Quaternion.Angle                     返回两个旋转 a 和 b 之间的角度以度为单位。 Quaternion.AngleAxis             创建一个围绕 axis 旋转 angle 度的旋转四元数。 Quaternion.FromToRotation   创建一个从 fromDirection 到 toDirection 的旋转四元数。 Quaternion.RotateTowards     将旋转 from 向 to 旋转。 Quaternion.Slerp             在四元数 a 与 b 之间按比率 t 进行球形插值。参数 t 限制在范围 [0, 1] 内。这可用于创建一个旋转以基于参数的值 a在第一个四元数 a 到第二个四元数 b 之间平滑进行插值。如果参数t的值接近于 0则输出会接近于 a如果参数的值接近于 1则输出会接近于 b。 Quaternion.Lerp                在 a 和 b 之间插入 t然后对结果进行标准化处理。参数 t 被限制在 [0, 1] 范围内。该方法与上面的 Slerp 方法很类似。两者区别在于前者是球形插值或者称之为弧形插值后者则是线性插值。球形差值得到的数值更加的均匀旋转效果会更加的平滑但是计算量比线性大一些。   另外还有两个变量经常使用如下所示 identity                 单位旋转只读。 eulerAngles        返回或设置旋转的欧拉角表示。   接下来我们使用Quaternion.LookRotation方法进行旋转。首先我们需要创建一个新的场景“SampleScene9”然后创建一个Cube和两个Sphere他们的位置如下所示 Cube的位置参数如下 Sphere1的位置参数如下 Sphere2的位置信息如下 接下来我们稍微调整一下相机的位置让我们能够清晰的看到三个游戏对象。 接下来我们保持相机选中状态我们点击菜单栏“GameObject”-“Align View to Selected” 接下来我们新建“CubeQuaternion.cs”脚本文件并附加到Cube上面。 using System.Collections; using System.Collections.Generic; using UnityEngine;public class CubeQuaternion : MonoBehaviour {// 两个Sphere游戏对象private GameObject sphere1, sphere2;// Start is called before the first frame updatevoid Start(){sphere1 GameObject.Find(Sphere1);sphere2 GameObject.Find(Sphere2);}// Update is called once per framevoid Update(){// 按下数字1键朝向 Sphere1 旋转if (Input.GetKey(KeyCode.Alpha1)){//Debug.Log(按下数字1键朝向 Sphere1 旋转);Vector3 dir sphere1.transform.position - transform.position;transform.rotation Quaternion.LookRotation(dir, Vector3.up);}// 按下数字2键朝向 Sphere2 旋转if (Input.GetKey(KeyCode.Alpha2)){//Debug.Log(按下数字2键朝向 Sphere2 旋转);Vector3 dir sphere2.transform.position - transform.position;transform.rotation Quaternion.LookRotation(dir, Vector3.up);}} }上面的代码我们就不过多解释了。我们直接Play运行工程查看效果。 我们首先按“1”键查看效果 我们发现Cube确实旋转了45度从Inspector检视面板中的Y旋转值也可以看到-45度。 接下来我们继续按下“2”键查看效果 我们发现Cube并没有旋转但是Inspector检视面板中的Y旋转值确实改变成了45度。为了能够看到旋转的过程我们使用Quaternion.Lerp方法来进行缓慢的旋转代码修改 // 按下数字1键朝向 Sphere1 旋转if (Input.GetKey(KeyCode.Alpha1)){//Debug.Log(按下数字1键朝向 Sphere1 旋转);Vector3 dir sphere1.transform.position - transform.position;//transform.rotation Quaternion.LookRotation(dir, Vector3.up);Quaternion lookDir Quaternion.LookRotation(dir, Vector3.up);transform.rotation Quaternion.Lerp(transform.rotation, lookDir, 1.0f * Time.deltaTime);}// 按下数字2键朝向 Sphere2 旋转if (Input.GetKey(KeyCode.Alpha2)){//Debug.Log(按下数字2键朝向 Sphere2 旋转);Vector3 dir sphere2.transform.position - transform.position;//transform.rotation Quaternion.LookRotation(dir, Vector3.up);Quaternion lookDir Quaternion.LookRotation(dir, Vector3.up);transform.rotation Quaternion.Lerp(transform.rotation, lookDir, 1.0f * Time.deltaTime);}接下来我们Play工程查看运行效果测试的时候要长按数字键哦。 现在的效果就非常明显了吧。 接下来我们介绍Time类它提供了几个静态变量供我们使用。 deltaTime                        完成上一帧所用的时间以秒为单位只读。 fixedTime                        最近一次 FixedUpdate 已启动的时间只读。 frameCount                     已经过的总帧数只读。 realtimeSinceStartup    游戏开始以来的实际时间只读。不受 Time.timeScale 的影响。 timeScale                        时间流逝的标度。可用于慢动作效果。 time                                  此为自游戏启动以来的时间以秒为单位。 当 timeScale 为 1.0 时时间流逝的速度与实时一样快。 当 timeScale 为 0.5 时时间流逝的速度比实时慢 2x。当 timeScale 设置为 0 时如果您的所有函数都是独立于帧率的 则游戏基本上处于暂停状态我们经常使用这个方式来暂定游戏。timeScale 影响 Time 类的所有时间和增量时间测量变量但 realtimeSinceStartup 和 fixedDeltaTime 除外。如果您减小了timeScale建议也将 Time.fixedDeltaTime 减小相同的量。当timeScale设置为0时不会调用 FixedUpdate 函数。 接下来我们在介绍Mathf类里面包括了一些数学函数。 Abs       求绝对值 Ceil       向上取整 Floor     向下取整 Round  四舍五入 Cos       求余弦 Sin        求正弦 Tan        求正切 Lerp      在 a 与 b 之间按 t 进行线性插值。 Max      取最大值 Min       取最小值 Sqrt       开平方   接下来我们在介绍Random类提供简便的方法来生成各种常用类型的随机值。 Random.value 返回一个随机浮点数范围在 0.0 和 1.0 之间。一种常见的用法是将返回结果乘以所选范围从而将其转换为介于 0 和该范围之间的数。 Random.Range 返回一个介于所提供的最小值和最大值之间的数。它返回整数或浮点数具体取决于提供的最小值和最大值是整数还是浮点数。 Random.insideUnitCircle 返回一个半径为 1 的圆内随机选择的圆内点。 Random.insideUnitSphere 返回一个半径为 1 的球内随机选择的球内点。 Random.onUnitSphere 返回一个半径为 1 的球上随机选择的球体的球面点。 接下来在介绍Application类的常用属性和方法 dataPath                          游戏数据文件夹路径 persistentDataPath        持久化游戏数据文件夹路径 streamingAssetsPath    StreamAssets文件夹路径 temporaryCachePath    临时文件夹路径 runInBackground           控制在后台时是否运行 OpenURL                        打开一个URL Quit                                   退出 接下来介绍Scene常用属性 buildIndex                     返回场景在Build Settings中的索引 isLoaded                       返回场景是否已经加载 name                               返回场景名称 path                                 场景的相对路径 GetRootGameObject    返回场景中所有根游戏对象 还有Scene常用方法 sceneCount                    当前已加载场景的数量 CreateScene                  创建一个场景 GetActiveScene             获取当前激活场景 GetSceneByName        根据名称返回已加载的场景 LoadScene                     加载场景 LoadSceneAsync          异步加载场景 SetActiveScene             激活场景 UnloadSceneAsync      移除并销毁场景 Debug 类用于可视化编辑器中的信息这些信息可以帮助您了解或调查项目运行时发生的情况。使用该类在控制台窗口中打印消息在 Scene 视图和 Game 视图中绘制可视化线条以及在编辑器中从脚本暂停运行模式。Unity 本身有时会将错误、警告和消息记录到控制台窗口。Debug 类使您能够从您自己的代码中执行完全相同的操作如下所示 Debug.Log(白色字体); Debug.LogWarning(黄色字体); Debug.LogError(红色字体); 三种类型错误、警告和消息在控制台窗口中都有自己的图标类型。 Debug 类还提供了两种在 Scene 视图和 Game 视图中绘制线条的方法。 Debug可以画线段和射线DrawLine 和 DrawRay。 Debug.DrawLine(开始点结束点颜色); Debug.DrawLine(new Vector3(0,0,0), new Vector3(0,10,0), Color.red); Debug.DrawRay(开始点方向向量颜色); Debyg.DrayRay(new Vector(0,0,0), new Vector3(10,0,0), Color.blue);
http://www.w-s-a.com/news/617606/

相关文章:

  • 温州专业建站网站制作的管理
  • 公司网站开发策划书有没有专门做教程的网站
  • 江苏省工程建设信息网站一天赚1000块钱的游戏
  • 制作响应式网站报价品牌建设整体体系包括什么
  • 网站推广策划报告目前做win7系统最好的网站
  • 东莞网站建设咨询公江西网站建设平台
  • 什么是网站功能源码下载站
  • 石家庄制作网站的公司双柏县住房和城乡建设局网站
  • 影视vip网站建设教程ppt模板免费下载 素材红色
  • 内蒙古城乡建设部网站首页平台网站建设ppt
  • 集约化网站建设项目官方网站建设
  • 原创先锋 北京网站建设网站开发电脑内存要多少
  • 婚恋网站建设项目创业计划书网站建设 食品
  • 免费建网站代码查询做导员的网站
  • 做网站的软件电子可以看女人不易做网站
  • 学校响应式网站模板下载仙居住房和城乡建设规划局网站
  • 推广网站的方法有拍卖网站建设
  • 网站建设网站排名优化中国网站服务器哪个好
  • asp网站应用程序网站建设需要提供的资料
  • 网站开发与设计.net微信小程序设计制作
  • 怎样做网站排名优化展馆设计费取费标准一览表
  • 网站建设去哪可接单网站建设与设计大作业
  • 休闲咖啡厅网站开发目标韩国小清新网站模板
  • 做微景观的网站制作网页模板适应不同分辨率
  • 最简单的网站系统昨天军事新闻最新消息
  • 做ps网页设计的网站有哪些wordpress内容付费
  • 有没有免费注册域名的网站科技小制作 手工 简单
  • 网站支付端口win10优化大师怎么样
  • 怎么做云购网站吗网站流量监测
  • 网站被恶意刷流量可以翻外墙的浏览器