Unity中的unity3d 抗锯齿齿是在帧周期的什么时候执行的

当前位置: >
Unity3D抗锯齿设置
时间: 10:09 来源:互联网 作者:网络 浏览:
Unity3D抗锯齿设置导入Unity的模型在灯光下会显示锯齿,我们可以在unity里做一些设置来调整削弱锯齿然后可以添加unity提供的imageEffect脚本到摄像机&
(责任编辑:雷小雨)
免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。
猜你也喜欢看这些 ??????
其他类型的Unity美化 ??????unity生命周期
时间: 00:41:55
&&&& 阅读:3539
&&&& 评论:
&&&& 收藏:0
标签:1、静态构造函数
当程序集被加载的时候就被调用了,如果你的unity处于编辑状态时,此时你保存一个脚本(从而迫使重新编译),静态构造函数会立即被调用,因为unity加载了DLL。并且它将不会再次运行,永远只会执行一次,unity运行时,是不会再次执行了!在一个已部署的游戏上,这个构造器将会在unity加载过程的早期被调用!
静态构造函数文章:
2、非静态构造器
Unity将会在一个貌似随机的时间调用一个对象的默认构造器。当你编辑一个游戏时,在你保存一个脚本(从而迫使重新编译)后,这构造器将会被立马调用!
程序运行时被随机调用多次,程序结束时也被调用了(自己测试发现)
所以不要使用构造器去初始化字段的值,unity的Awake就是专门为这个目的设计的。&
只会被调用一次,在Start方法之前被调用! 主要用于字段值的初始化工作,禁用脚本,创建游戏对象,或者Resources.Load(Prefab) 对象
只执行一次,在Awake方法执行结束后执行,但在Update方法执行前执行, 主要用于程序UI的初始化操作,比如获取游戏对象或者组件
每一帧执行的,监听用户输入,播放动画,当机器忙或者性能差的时候,他会停止执行,会产生停顿的感觉,例如一个人本来在1米的位置,突然到了5米的位置上,产生了跳帧,而下面的FixedUpdate方法则相反!会一米一米的去执行!(自己调试发现,Update是先于OnGUI执行的,且执行一次Update之后,会执行两次OnGUI)
6、FixedUpdate&
不管当前机器忙不忙,都会保证每一帧执行一次!避免跳帧!固定更新。固定更新常用于移动模型等操作。
7、LateUpdate&
先执行Update,然后才去执行lateUpdate(Update方法执行完,必定接着执行LateUpdate,而Update和FixedUpdate方法的执行顺序不确定,而且有时候FIxedUpdate执行了多帧,而Update却只执行了一帧,这就是因为跳帧的缘故造成的(取决于你的机器性能)!),如果现在有100个脚本,分别有100个 Update()函数,其中只有一个LateUpdate,那么在同一帧中,等待100个Update()执行完后,才执行这一个LateUpdate()。
在这里面进行GUI的绘制,且GUI是每帧擦除重绘的!仅仅只是绘制!没有生命周期的概念!所有关于绘制GUI的代码,都要直接或者间接地写到OnGUI方法中!
9、OnDestroy&
当前脚本销毁时调用
总结:关键是看设置脚本不可用的位置:
A(1)如果在父级的Awake方法里面设置子级的脚本不可用&
& & & & & 那么仅仅只会执行子级里面的Awake方法,当子级被激活后(enabled=true),会先执行OnEnable,然后执行Start方法,Update等帧序列方法都会开始执行&
& (2)如果在父级的Start方法里面设置子级的脚本不可用&
& & & & & 那么会执行子集里面的Awake,OnEnable和OnDisable方法,当子级被激活后(enabled=true),会先执行OnEnable,然后执行Start方法,Update等帧序列方法也都会开始执行
B(1)如果在子级的Awake方法里面设置父级的脚本不可用&
& & & & & 那么会执行父级里面的Awake,OnEnable和OnDisable方法,当父级被激活后(enabled=true),会先执行OnEnable,然后执行Start方法,Update等帧序列方法都会开始执行&&
& (2)如果在子级的Start方法里面设置父级的脚本不可用&&
& & & & & 那么会执行父集里面的Awake,OnEnable,Start和OnDisable方法,当父级被激活后(enabled=true),会先执行OnEnable,Update等帧序列方法也都会开始执行
如果被激活的脚本之前没有调用Start方法,那么当此脚本被激活后,会调用一次Start方法!具体,看生命周期第一幅图,在文章后面!
11、OnDisable&
OnBecameVisible 和&OnBecameInvisible :&
(1)当一开始加载一个对象时:&
Game 显示&& &&Scene 显示&&& &&OnBecameInvisible&& 不执行&& OnBecameVisible 执行&
Game 不显示&& Scene 不显示&&& OnBecameInvisible&& 不执行&& OnBecameVisible 不执行&
Game 不显示&& Scene 显示&&& &&OnBecameInvisible&& 不执行&& OnBecameVisible 执行&
Game 显示&& &&Scene 不显示&&& OnBecameInvisible&& 不执行&& OnBecameVisible 执行&
小结:只要Game和Scene中有一个显示了,OnBecameVisible 就会执行!而OnBecameInvisible 一直都不会执行&
(2)当移动对象时:&
game 和 scene 对象必须在两个场景中同时消失& OnBecameInVisible 才执行&
scene 和 game 只要有一方进入了场景 OnBecameVisible 就执行了
脚本执行顺序总结:
假如现在有三个GameObject对象:a1 & a2 & a3 (a1为a2的父节点,a2为a1的父节点,unity执行脚本的顺序是从上往下执行,也就是说先执行父节点上的脚本,再去执行子节点的脚本,子节点上如果有多个脚本,那么也是自上而下的顺序执行),这三个对象对应各有一个脚本:s1,s2,s3,且这三个脚本代码都一样,都有Awake,Start,Update,LateUpdate,FixUpdate,那么当运行程序时,程序会进行分组,即把s1,s2,s3中的Awake方法组成一组,把Start方法组成一组,把Update方法组成一组,把LateUpdate方法组成一组,把FixUpdate方法组成一组,最后按照Awake,Start,FixUpdate,Update,LateUpdate(FixUpdate和Update顺序不确定)的顺序依次执行!即把Awake组里面的Awake方法全执行完,再去依次执行Start,FixUpdate,Update,LateUpdate组里面的代码:执行顺序如下:
Awak1 Awak2 Awak3 Start1 Start2 Start3 FixUpdate1 FixUpdate2 FixUpdate3&Update1 Update2 Update3 LateUpdate1 LateUpdate2 LateUpdate3&
参考:/index.php?title=Life_cycle#0_:_Start标签:
&&国之画&&&& &&
版权所有 京ICP备号-2
迷上了代码!}

我要回帖

更多关于 unity 抗锯齿脚本 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信