【Unity3d】分享一些Unity3d的小技巧

来源:互联网 发布:html的sql注入 编辑:程序博客网 时间:2024/06/08 10:13

1、鼠标图案替换

游戏和项目中可能需要将默认鼠标替换成特定的鼠标样式,如果是简单的一张图片,那么我们只需要将Setting里的鼠标团换掉,可是如果要做一些效果的话就需要我们在代码中进行替换了。
首先在脚本的Awake或者Start方法中调用鼠标隐藏的API:

void Awake(){    Cursor.visible = false;}

然后制作我们需要的鼠标样式,比如粒子效果过着帧动画,获取鼠标的Transform并在Update中更新它的位置:

public RectTransform cursor;void Update(){    cursor.anchoredPosition = Input.mousePosition;}

这里试用了RectTranform的anchoredPosition是为了更好的对鼠标位置进行编辑。

2、设置帧率

很多人认为帧率越高游戏就越流畅,其实这是有误区的。运行同一设置下的游戏帧率高可以体现硬件的性能,但是由于很多方面的原因,帧率到达一定数值之后再增长对画面的流畅性是没有太多帮助的。普通程序和游戏30fps已经能够达到流畅的要求的,而要求高一点的游戏可能需要帧率到达60fps。如果我们将目标帧率设置过高,cpu的消耗就会相应的提升,同时瞬时的掉帧也会造成更加明显的卡顿。所以设置一个目标帧率是非常有必要的。

void Start(){    Application.targetFrameRate = 30;}

其实如果我们设置了垂直同步的话程序就会忽略我们代码中对帧率的限制,一级的垂直同步目标帧率是60,二级垂直同步目标帧率是30。但是感觉垂直同步会造成一些不必要的cpu消耗,如果不需要开启的话还是不去开启它。

3、OnApplicationQuit

Unity提供了OnApplicationQuit的方法,来让我们可以在游戏退出时进行一些处理,这个方法会发送给场景内所有的GameObject。我们可以用它来进行数据处理做存档,或者制作退出动画。数据处理的话很简单,只要在OnApplicationQuit方法中处理数据并且写入存档就行了。如果要制作退出动画的话建议制作一个新的场景,并且在OnApplicationQuit方法中进行场景跳转来实现。

void OnApplicationQuit(){    Application.CancelQuit();          // 取消退出事件    SceneManager.LoadScene(1);         // 跳转到退出场景}

当退出动画播放完毕之后调用Application.Quit方法:

void OnAnimationEnd() {    Application.Quit();}

by:蒋志杰

原创粉丝点击