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

花都电子商务网站建设cnnic 是什么网站

花都电子商务网站建设,cnnic 是什么网站,类似淘宝网站模板,天元建设集团有限公司 田新鹏文章目录 前言1. Unity的生命周期加载第一个场景Editor在第一次帧更新之前帧之间更新顺序协程销毁对象时退出时 2. Unity 协程和线程,进程的区别3. 本地坐标系 世界坐标系4. 碰撞器和触发器的区别后话 前言 开设这个栏目的博文会写一些有关unity的面试题目,在面试的…

文章目录

    • 前言
    • 1. Unity的生命周期
      • 加载第一个场景
      • Editor
      • 在第一次帧更新之前
      • 帧之间
      • 更新顺序
      • 协程
      • 销毁对象时
      • 退出时
    • 2. Unity 协程和线程,进程的区别
    • 3. 本地坐标系 世界坐标系
    • 4. 碰撞器和触发器的区别
    • 后话

前言

开设这个栏目的博文会写一些有关unity的面试题目,在面试的过程中,考官可能会问到的东西,虽然更多的是问有关项目经历的,但是这些内容也会涉猎到。


1. Unity的生命周期

下图是Unity官方给出的脚本生命周期流程图。

加载第一个场景

场景开始时将调用以下函数(为场景中的每个对象调用一次)。

Awake:始终在任何 Start 函数之前并在实例化预制件之后调用此函数。(如果游戏对象在启动期间处于非活动状态,则在激活之后才会调用 Awake。)
OnEnable:(仅在对象处于激活状态时调用)在启用对象后立即调用此函数。在创建 MonoBehaviour 实例时(例如加载关卡或实例化具有脚本组件的游戏对象时)会执行此调用。

Editor

Reset:调用 Reset 可以在脚本首次附加到对象时以及使用 Reset 命令时初始化脚本的属性。
OnValidate:每当设置脚本的属性时都会调用 OnValidate,包括反序列化对象时,这可能发生在不同的时间,例如在编辑器中打开场景时和域重新加载后。

在第一次帧更新之前

Start:仅当启用脚本实例后,才会在第一次帧更新之前调用 Start。

帧之间

OnApplicationPause:在帧的结尾处调用此函数(在正常帧更新之间有效检测到暂停)。在调用 OnApplicationPause 之后,将发出一个额外帧,从而允许游戏显示图形来指示暂停状态。

更新顺序

跟踪游戏逻辑和交互、动画、摄像机位置等的时候,可以使用一些不同事件。常见方案是在 Update 函数中执行大多数任务,但是也可以使用其他函数。

FixedUpdate:调用 FixedUpdate 的频度常常超过 Update。如果帧率很低,可以每帧调用该函数多次;如果帧率很高,可能在帧之间完全不调用该函数。在 FixedUpdate 之后将立即进行所有物理计算和更新。在 FixedUpdate 内应用运动计算时,无需将值乘以 Time.deltaTime。这是因为 FixedUpdate 的调用基于可靠的计时器(独立于帧率)。

Update:每帧调用一次 Update。这是用于帧更新的主要函数。

LateUpdate:每帧调用一次 LateUpdate(在 Update 完成后)。LateUpdate 开始时,在 Update 中执行的所有计算便已完成。LateUpdate 的常见用途是跟随第三人称摄像机。如果在 Update 内让角色移动和转向,可以在 LateUpdate 中执行所有摄像机移动和旋转计算。这样可以确保角色在摄像机跟踪其位置之前已完全移动。

通常,不应依赖为不同的游戏对象调用相同事件函数的顺序 - 除非顺序明确记录或可设置。(如果需要对播放器循环进行更细粒度的控制,可以使用 PlayerLoop API。)

不能指定为同一 MonoBehaviour 子类的不同实例调用事件函数的顺序。例如,一个 MonoBehaviour 的 Update 函数可能会在另一个游戏对象(包括其父级或子级游戏对象)上的相同 MonoBehaviour 的 Update 函数之前或之后调用。

可以指定一个 MonoBehaviour 子类的事件函数应在不同子类的事件函数之前调用(使用 Project Settings 窗口的 Script Execution Order 面板)。例如,如果有两个脚本,EngineBehaviour 和 SteeringBehaviour,可以设置 Script Execution Order,这样 EngineBehaviours 始终在 SteeringBehaviours 之前更新。

协程

Update 函数返回后将运行正常协程更新。协程是一个可暂停执行 (yield) 直到给定的 YieldInstruction 达到完成状态的函数。 协程的不同用法:

yield 在下一帧上调用所有 Update 函数后,协程将继续。
yield WaitForSeconds 在为帧调用所有 Update 函数后,在指定的时间延迟后继续。
yield WaitForFixedUpdate 在所有脚本上调用所有 FixedUpdate 后继续。如果协同程序在 FixedUpdate 之前生成,那么它会在当前帧的 FixedUpdate 之后继续运行。
yield WWW 在 WWW 下载完成后继续。
yield StartCoroutine 将协程链接起来,并会等待 MyFunc 协程先完成。

销毁对象时

OnDestroy:对象存在的最后一帧完成所有帧更新之后,调用此函数(可能应 Object.Destroy 要求或在场景关闭时销毁该对象)。

退出时

在场景中的所有活动对象上调用以下函数:

OnApplicationQuit:在退出应用程序之前在所有游戏对象上调用此函数。在编辑器中,用户停止播放模式时,调用函数。
OnDisable:行为被禁用或处于非活动状态时,调用此函数。


2. Unity 协程和线程,进程的区别

  • 其实很简单,首先需要理解进程和线程是怎么一回事:进程是Windows系统中的一个基本概念,他包含着运行一个程序所需要的基本资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。
  • 进程和线程的区别通过以上,一目了然。
  • 再谈谈线程和协程的区别。一般应用一个应用程序只使用线程这一“资源”。
  • 需要明确,Unity只使用了一个线程,但是,我们需要”同时做很多事“,那Unity作为单线程,该如何去做,协程,就来了,协程是一种”伪线程“。 协同程序(coroutine).,即协作式程序,一系列互相依赖的协程间依次使用CPU,每次只有一个协程工作,而其他协成处于休眠状态。协程实际上是在一个线程中,只不过每个协程对CPU进行分时,协程可以访问和使用unity的所有方法和component。
  • 同一时间只能执行某个协程,协程适合对某个任务进行分时处理。    
    控制代码在特定的时间执行。
  • 协程不是线程,也不是异步执行,跟Update一样,在主线程中执行。
  • 不用考虑同步和锁的问题。
  • 协程是一个分部组件,遇到条件(yield return)会挂起,直到条件满足才会被唤起执行后面的语句。

3. 本地坐标系 世界坐标系

  • 世界坐标系:世界坐标是指物体在场景中的坐标,当某个物体没有父物体时,它的position即为世界坐标的position,rotation同理;本地坐标是物体相对于它的父物体的坐标而言,这个相对坐标是以父物体本身为坐标轴进行计算的,与世界坐标没有必然联系。而对于没有父物体的物体,可以认为不存在本地坐标这种说法。
  • 本地坐标系:当某个物体有父物体时,它的inspector栏transform中的position实际是localposition,即本地坐标。
  • 使用TransformPoint方法将本地坐标系转为世界坐标系

4. 碰撞器和触发器的区别

  • 碰撞器是触发器的载体,而触发器只是碰撞器身上的一个属性。
  • 当Is Trigger=false时,碰撞器根据物理引擎引发碰撞,产生碰撞的效果,可以调用OnCollisionEnter/Stay/Exit函数;
  • 当Is Trigger=true时,碰撞器被物理引擎所忽略,没有碰撞效果,可以调用OnTriggerEnter/Stay/Exit函数。
  • 如果既要检测到物体的接触又不想让碰撞检测影响物体移动或要检测一个物件是否经过空间中的某个区域这时就可以用到触发器

后话

有很多基础的面试题你面试过,但是文中没有提及的欢迎留言补充~

enjoy ~


文章转载自:

http://sz9JoE9u.tfznk.cn
http://3FsgwJlV.tfznk.cn
http://FdaTO9UL.tfznk.cn
http://EZyXyFOj.tfznk.cn
http://IoKBN1s4.tfznk.cn
http://uH80l6h9.tfznk.cn
http://BLZ2m8FN.tfznk.cn
http://zEJg7nNM.tfznk.cn
http://9eP6n5Aw.tfznk.cn
http://a3vMQBlX.tfznk.cn
http://QSSjsei3.tfznk.cn
http://Pg53WaE8.tfznk.cn
http://VjbA6Wh5.tfznk.cn
http://T3LoxgNz.tfznk.cn
http://xJ05E242.tfznk.cn
http://8gFQY5fy.tfznk.cn
http://IpFXj8Xb.tfznk.cn
http://3N29CcF1.tfznk.cn
http://jUVlGD3A.tfznk.cn
http://EttcxaKq.tfznk.cn
http://GVOnX660.tfznk.cn
http://L6XXitgJ.tfznk.cn
http://Tk85dMOI.tfznk.cn
http://mxXbh7IX.tfznk.cn
http://QlDkBpc8.tfznk.cn
http://KbPf7JqW.tfznk.cn
http://VJn9s4h7.tfznk.cn
http://gFidyBBH.tfznk.cn
http://B3Vc7ioP.tfznk.cn
http://z42n7t3T.tfznk.cn
http://www.dtcms.com/wzjs/713357.html

相关文章:

  • 网站logo更换网站后台动态播放怎么做的
  • 网站建设方案案例榆林建设局网站
  • seo网站关键词快速排名html5 手机网站 模板
  • 网站做支付功能深圳闭环转运
  • 安防网站建设个人简历电子版免费
  • 网站怎么企业备案信息查询阳江人社局官网招聘
  • 广东注册公司在哪个网站申请家装设计师一定要懂软装吗
  • 0基础多久学会网站架构临淄网站制作首选公司
  • 石家庄网站制作公司哪家好网站录屏可以做证据吗
  • 苏州网站建设有限公司做网站后期费用
  • 做网站用php还是python福泉市建设局网站
  • 做网站收费 知乎犀牛云建设网站
  • 浏览器的网站通知怎么做小型装修公司店面装修
  • 建设手机版网站需要主机多少空间wordpress更换网站数据库
  • 购物商城网站建设方案长沙有什么好玩的游乐场
  • 网站建设栏目管理企业网站设计要点
  • visual studio网站开发教程网站制作公司哪里好
  • 分享设计的网站wordpress历史记录
  • 好看的企业网站模板重庆公司注销流程
  • seo是做网站源码还是什么专门做生鲜的网站
  • 浙江省住房建设局网站拼多多网站首页
  • 有电脑网站怎么做手机网站网址大全2345电脑版下载
  • 无锡做网站公司有哪些电话建设银行有没有全球门户网站
  • 网站图片设计怎样才能高大上生物公司网站建设
  • 宁波建设网站多少钱wordpress和django哪个好
  • 个人兼职网站建设微信网站搭建公司
  • 做蛋糕网站有哪些wordpress 源码 解读
  • 做网站需要准备的素材wordpress主题ux
  • 手机网站建设商场如何学做网站优化
  • 网站建设尽量wordpress 360cdn