• Unity3D实习生面试题总结-Unity引擎相关


    Unity组件删除和添加

    //添加
    GameObect.AddComponent<ScriptName>();
    //删除
    Destroy(GameObect.GetComponent<ScriptName>());

    Unity3d获取游戏对象的几种方法

    GameObject.Find();
    Tranform.Find();
    GameObject.FindGameObjectWithTag();

    Unity3d中的碰撞器和触发器的区别

    碰撞器有碰撞的效果,IsTrigger=false,可以调用OnCollisionEnter/Stay/Exit函数; 

    触发器没有碰撞效果,IsTrigger=true,可以调OnTriggerEnter/Stay/Exit函数。

    Unity3d脚本声明周期

    First Scene Load 第一个场景加载

    Awake:这个函数是在Start函数之前以及预制物体实例化后被调用。

    OnEnable:(仅在对象激活状态下可用):这个函数在对象可用之后被调用。

    Before the first frame update 第一帧更新之前

    Start:如果脚本实例化被启用,则Start函数在第一帧更新之前被调用。

    In between frames 执行期间

    FixedUpdate: FixedUpdate()比Update()函数调用的更频繁。当帧率比较低时,它每帧被调用多次,如果帧率比较高,它有可能就不会被调用。所有的物理计算和更新都立即发生在FixedUpdate()之后。当在FixedUpdate()中计算物体移动时,你不需要乘以Time.deltaTime。因为FixedUpdate()是基于可靠的定时器的,不受帧率的影响。

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

    LateUpdate: 在Update()执行后,LateUpdate() 也是每帧都被调用。在Update()中执行的任何计算都会在LateUpdate()开始之前完成。LateUpdate()的一个常见应用就是第三人称控制器的相机跟随。如果你把角色的移动和旋转放在Update()中,那么你就可以把所有相机的移动旋转放在LateUpdate()。这是为了在相机追踪角色位置之前,确保角色已经完成移动。

    Coroutine 协同程序(协程)

    yield:协程在所有的Update函数于下一帧调用后继续执行。

    yield WaitForSeconds(2):在一个指定的时间延迟后继续执行,在所有的Update函数被调用之后。

    yield WaitForFixedUpdate():在所有脚本上所有的FixedUpdate被调用之后继续执行。

    When the Object is Destroyed 当对象被销毁时

    OnDestroy: 这个函数在所有帧更新之后被调用,在对象存在的最后一帧(对象将销毁来响应Object.Destroy或关闭一个场景)。

    When Quitting 当退出时

    OnApplicationQuit:在应用退出之前所有的游戏对象都会调用这个函数。在编辑器中当用户停止播放时它将被调用。在webplayer中,当网页关闭时被调用。

    OnDisable: 当行为不可用或非激活时,这个函数被调用。

    Unity物体之间的通信

    委托和事件的用法

    http://www.cnblogs.com/SkySoot/archive/2012/04/05/2433639.html

  • 相关阅读:
    C# 日期格式化的中的 正斜杠的问题
    JQuery中如何click中传递参数
    《启示录:打造用户喜爱的产品》—— 读书笔记
    json串的使用
    谷歌浏览器怎么调试js
    web页面布局思想
    js或者cs代码拼接html
    筛选DataTable数据的方法
    Ajax的简单小例子
    简单的javascript例子
  • 原文地址:https://www.cnblogs.com/errornull/p/10049703.html
Copyright © 2020-2023  润新知