Unity--时间和帧率
本文仅为个人学习笔记,总结和分享,难免存在瑕疵与言论不严谨,若有缺漏务必留言告知,文章将会第一时间修正,以免误导。
unity中如果不对代码进行优化,则Update函数中的代码会随帧数的增加而增加运行次数
public class RubyController : MonoBehaviour{ // 每帧调用一次 Update
// 让游戏对象每帧右移 0.1 void Update() { // 获取水平输入,按向左,会获得 -1.0 f ; 按向右,会获得 1.0 f//input类管理用户输入//GetAxis是获取轴//Horizontal水平相关操作,向左则会 -1.0 f,向右+1.0f float horizontal = Input.GetAxis("Horizontal"); // 获取垂直输入,按向下,会获得 -1.0 f ; 按向上,会获得 1.0 f//Vertical向上向下不同 float vertical = Input.GetAxis("Vertical"); // 获取对象当前位置//Vector是unity自带类 //创建一个Vector2类的position对象,并且用transform类表示该对象的坐标值,存入position对象 Vector2 position = transform.position; // 更改位置//把positon对象的x值+0.1,并且存入 position.x = position.x + 0.1f * horizontal; position.y = position.y + 0.1f * vertical; // 新位置给游戏对象// 将更改后的坐标存入原始坐标达到更改 transform.position = position; }
}
public class RubyController : MonoBehaviour{ // 在第一次帧用之前调用Start函数 void Start() { // 只有将垂直同步计数设置为0,才能锁帧,否则锁帧的代码无效 // 垂直同步的作用就是显著减少游戏画面撕裂、跳帧,因为画面的渲染不是整个画面一同渲染的,而是逐行或逐列渲染的,能够让FPS保持与显示屏的刷新率相同。 QualitySettings.vSyncCount = 0; //设定应用程序帧数为10 Application.targetFrameRate = 10; } // 每帧调用一次 Update void Update() { float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); Vector2 position = transform.position; position.x = position.x + 0.1f * horizontal; position.y = position.y + 0.1f * vertical; transform.position = position; }
}
public class RubyController : MonoBehaviour{
// 定义一个公有float形对象,speed表示主角移动速度,使其可直接再unity中修改而不用手动调整
public float speed=0.1f;
// 每帧调用一次Update void Update()
{ float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); Vector2 position = transform.position; position.x = position.x + speed * horizontal * Time.deltaTime; position.y = position.y + speed * vertical * Time.deltaTime; transform.position = position; }
}
Unity--时间和帧率相关推荐
- 简单Unity时间架构设计(克洛诺斯之匙)
好吧,这次的题目有点标题党之嫌,提出这个设计,是因为最近玩了鬼泣,其中有一个关卡叫做"为了自己的主人",任务中,需要利用克洛诺斯之匙将时间变慢,便于通过激光镇. 使用克洛诺斯之匙之 ...
- unity,时间控制插件vp_Timer简单介绍
游戏开发中经常会用到定时器的东西,然而unity的协程也能达到我们的需求,但是这东西能少用,尽量少用 我们项目中一直在用vp_Timer.简单好用,源代码也很简单,感兴趣的可以直接看源码 这里只说几个 ...
- Unity垂直同步:帧率和刷新率
帧率(英语:frame rate)是用于测量显示帧数的度量.测量单位为"每秒显示帧数"(frame per second,FPS)或"赫兹",一般来说FPS用于 ...
- 【HSJFramework】Unity时间管理TimeManger计时器
目录 一:介绍 二:计时器Timer类的编写 三:计时器管理TimerManager类的编写 四:使用方法 一:介绍 这里我们使用List来管理定义的所有计时器Timer,首先就是需要构建计时器的完整 ...
- Unity 实时显示帧率
public class FPS: MonoBehaviour { public static float f_Fps; public float f_UpdateInterval = 0.5f; / ...
- Unity 时间管理工具
之前写了一个计时器,用一个单例 TimeManager 中的一个存储委托的字典,在Update反复执行实现,调用方法注册实现,倒计时为0时调用委托,同时从字典中移除,注销没有想到好方法,凑合着先用. ...
- unity 时间换算 时分秒
private static int OneHour = 3600; private static int OneMininue = 60; //把秒变成时:分:秒 public st ...
- unity时间暂停动画不受影响
- 3dmax动画模型导入unity 帧率问题
unity 手机移动动画帧率默认应该是30fps,而魔兽模型导入3dmax的动画帧率是300fps,在将魔兽模型导入unity时,动画模型是在一长时间轴上即成了所有的动画片段,如果需要从中选取的话,可 ...
- Unity帧率、屏幕刷新率
帧率 帧:影像动画中最小单位的单副影像画面,相当于电影胶片上的每一个镜头 帧率:图形处理器每秒更新帧的次数 帧率单位:帧每秒(F/S, Frame pre second,简称 FPS) 帧率(Fram ...
最新文章
- [Swift]LeetCode826. 安排工作以达到最大收益 | Most Profit Assigning Work
- python 最简单的实现适配器设计模式
- emplace_back和push_back区别
- 实现多线程Callable接口
- myeclipse 2017 CI 中如何修改Servlet模板
- micropython和python区别-什么是MicroPython?
- 深入了解“TXTSETUP.SIF”
- Python遥感图像处理基础篇(三):arcpy遥感图像镶嵌批量处理_镶嵌至新栅格
- 关于sybase数据库的连接
- helm install Error: timed out waiting for the condition
- 动态监控网卡流量异常
- 计算机在神经生物学中的应用,计算机视觉技术的应用论文
- CVPR 2021 华南理工和微信的Transformer:UP-DETR无监督预训练检测器
- 树莓派基础实验20:火焰报警传感器实验
- 【无标题】汇编实验-学生成绩管理系统
- SNS交换机(OEM博科FC交换机)怎样设置密码策略
- pytorch_sparse教程
- Abaqus中实现对N个节点施加不同荷载-以位移为例
- morph 原理实现
- WebGl之.wrl生成.stl文件
热门文章
- 【系统分析师之路】2022上综合知识历年真题
- 2018年北京十大商业品牌榜揭晓,稻香村、大董、京东上榜
- MVC+WCF框架下广告位管理——文件上传
- @TableId can‘t more than one in Class: “com.example.CloseContactSearcher.entity.Activity“.
- 关于spark的sample()算子参数详解
- WAV音乐档格式(一)
- Android酷炫实用的开源框架(UI框架)
- Linux 命令(178)—— pkill 命令
- 另类解读:2011年1月CNNIC第27次互联网络发展状况统计报告
- Error: invalid constant (6bf) after fixup