我说:”有空就写点什么,方便自己以后查看吧“
Application.targetFrameRate 目标帧速率
设置帧频,前提是需要设置菜单栏Edit-Project Settiong-Quality面板关闭属性VSync Count(可以理解为帧频设定,同步显卡帧率到显示器刷新率)
public class example : MonoBehaviour {
void Awake() {
Application.targetFrameRate = 300;
}
}
AudioClip 音频剪辑
通过AudioSource播放的音频文件,例如mp3/wav等文件
AudioSource 音频源
AudioSource.PlayOneShot 播放一个音频剪辑
function PlayOneShot (clip : AudioClip, volumeScale : float = 1.0F) : void
Gizmos 辅助线框
Gizmos是用于在场景视图可视化调试或辅助设置。
所有gizmo绘制需要在脚本的OnDrawGizmos或OnDrawGizmosSelected里函数完成。
OnDrawGizmos在每帧调用。所有在OnDrawGizmos中渲染的gizmos都是可见的。
OnDrawGizmosSelected仅在脚本附加的物体被选择时被调用。
Gizmos.DrawIcon 绘制图标
public static void DrawIcon(Vector3 center, string name, bool allowScaling = true);
绘制的Icon只在Scene场景下可以看到,Game场景下看不到,方便调试
Icon图片文件需要放在Asset/Gizmos文件夹下
public class ExampleClass : MonoBehaviour {
void OnDrawGizmos() {
Gizmos.DrawIcon(transform.position, "Light Gizmo.tiff", true);
}
}
QualitySettings.vSyncCount 垂直同步数
static var vSyncCount : int
可以理解为同步显卡的帧频到显示器刷新率,在Edit-Project Settiong-Quality面板可以设置或者通过代码设置:
//0 FPS大概是1帧,可以通过设置Application.targetFrameRate来设置帧频,其他两值不可以动态修改帧频了
//1 FPS大概是60帧(根据我的显卡)
//2 FPS大概是30帧(根据我的显卡)
QualitySettings.vSyncCount = 1;
什么是FPS?
每秒传输帧数(Frames Per Second)
FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。
FPS”也可以理解为我们常说的“刷新率(单位为Hz)”,例如我们常在CS游戏里说的“FPS值”。
RenderSettings 渲染设置
RenderSettings.ambientLight 环境光
static var ambientLight : Color
RenderSettings.ambientLight = Color.red;//使环境光的颜色为红色
除了用代码控制,还可以通过菜单栏Edit-Render Settingst弹出的Inspector面包中修改
Screen.lockCursor 锁定光标
光标将自动隐藏,居中于视图并且不会离开这个视图。
当你按下Esc时,光标将自动被解锁。
Screen.lockCursor = true;//锁定光标
Transform.LookAt 注视
function LookAt (target : Transform, worldUp : Vector3 = Vector3.up) : void
旋转当前物体使z轴指向target物体
function LookAt (worldPosition : Vector3, worldUp : Vector3 = Vector3.up) : void
旋转当前物体使z轴指向worldPositioin点
Time.deltaTime 增量时间
单位秒,表示每帧的经过时间。
放在Update()函数中的代码是以帧来执行的.如果我们需要物体的移动以秒来执行.我们需要将物体移动的值乘以Time.deltaTime。
如果你加或减一个每帧改变的值,你应该与Time.deltaTime相乘。当你乘以Time.deltaTime实际表示:每秒移动物体10米,而不是每帧10米。
public class example : MonoBehaviour {
void Update() {
float translation = Time.deltaTime * 10;
transform.Translate(0, 0, translation);
}
}
Time.realtimeSinceStartup 自游戏开始实时时间
以秒计,自游戏开始的实时时间(只读)。
不被Time.timeScale影响
Time.timeScale 时间缩放
影响Unity中和Time.deltaTime和Time.time相关计算的内容,比如做游戏暂停(Time.timeScale=0)的时候其实影响的是利用Time.deltaTime实现的移动。
Update和LateUpdate不受timeScale的影响它们受帧频的影响,FixedUpdate受timeScale的影响,因为FixedUpdate函数是根据时间来的跟帧频无关。
如果想不受timeScale的影响,请使用Time.realtimeSinceStartup
//UnityEngine-Attribute
AddComponentMenu
默认创建的脚本会出现在菜单栏Component/Script下面,为了便于管理,我们可以自定义脚本在菜单栏中的位置。
[AddComponentMenu("MyScript/Test")]
public class Test : MonoBehaviour
{
}