准备去找工作啦求问Unity面试什么比较重要

准备去找工作啦求问Unity面试什么比较重要,第1张

技术知识掌握情况。

1请简述值类型与引用类型的区别

2C#中所有引用类型的基类是什么

3请简述ArrayList和List<Int>的主要区别

4请简述GC(垃圾回收)产生的原因,并描述如何避免?

5请描述Interface与抽象类之间的不同

6下列代码在运行中会产生几个临时对象?

7下列代码在运行中会发生什么问题?如何避免?

8请简述关键字Sealed用在类声明和函数声明时的作用

9请简述private,public,protected,internal的区别

10反射的实现原理?

11 Net与Mono的关系?

12简述unity3d支持的作为脚本的语言的名称

13Unity3D是否支持写成多线程程序?如果支持的话需要注意什么?

14Unity3D的协程和C#线程之间的区别是什么?

15U3D中用于记录节点空间几何信息的组件名称,及其父类名称

16简述四元数的作用,四元数对欧拉角的优点?

17向量的点乘、叉乘以及归一化的意义?

18矩阵相乘的意义及注意点

19为何大家都在移动设备上寻求U3D原生GUI的替代方案

20请简述如何在不同分辨率下保持UI的一致性

21为什么dynamic font在unicode环境下优于static font

22Render的作用?描述MeshRender和SkinnedMeshRender的关系与不同

23简述SkinnedMesh的实现原理

24在场景中放置多个Camera并同时处于活动状态会发生什么?

25Prefab的作用?如何在移动环境的设备下恰当地使用它?

26如何销毁一个UnityEngineObject及其子类

27为什么Unity3D中会发生在组件上出现数据丢失的情况?

28如何安全的在不同工程间安全地迁移asset数据?三种方法

29MeshCollider和其他Collider的一个主要不同点?

30当一个细小的高速物体撞向另一个较大的物体时,会出现什么情况?如何避免?

31OnEnable、Awake、Start运行时的发生顺序?哪些可能在同一个对象周期中反复的发生?

32请简述OnBecameVisible及OnBecameInvisible的发生时机,以及这一对回调函数的意义?

33Unity3D如何获知场景中需要加载的数据?

34MeshRender中material和sharedmaterial的区别?

根本区别:进程是 *** 作系统资源分配的基本单位,而线程是任务调度和执行的基本单位

在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。

所处环境:在 *** 作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行)

内存分配方面:系统在运行的时候会为每个进程分配不同的内存空间;而对线程而言,除了CPU外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),线程组之间只能共享资源。

包含关系:没有线程的进程可以看做是单线程的,如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。

协同程序的

我写个例子给你

   

 void Start()

    {

        StartCoroutine(WaitEnd (5f)); // 瞬间执行 WaitEnd函数 ,和下面的函数

        StartCoroutine (WaitFrameEnd());// 瞬间执行 WaitFrameEnd函数 ,和下面的函数        StartCoroutine (WaitFixedUpdate());// 瞬间执行 WaitFixedUpdate函数 ,和下面的函数    

        }

IEnumerator WaitEnd(float time)

    {    // 执行同时,其他函数也再并行

        yield return new WaitForSeconds(time);

            // 5秒后到这里 ,执行这里的

        DebugLog ("WaitForSeconds:"+time);

    }

    IEnumerator WaitFrameEnd()

    {    

        yield return new WaitForEndOfFrame();

         // 等待当前帧结束 

        DebugLog ("WaitForEndOfFrame:"+Timetime);

    }

    IEnumerator WaitFixedUpdate()

    {

        yield return new WaitForFixedUpdate();

            // 等待每次 Update 执行一次后调用

        DebugLog ("WaitForFixedUpdate:"+Timetime);

    }

这个能把问题说具体点吗???MonoBehaviourOnMouseEnter 当鼠标进入时候调用的函数 C# JavaScript using UnityEngine;using SystemCollections;public class example : MonoBehaviour { void OnMouseEnter() { renderermaterialcolor = Colorred; }}// Attach this script to a mesh to make// it red when the mouse is over the mesh// 附加这个脚本到网格// 当鼠标经过网格时网格变红色function OnMouseEnter () { renderermaterialcolor = Colorred ;}This function is not called on objects that belong to Ignore Raycast layer

OnMouseEnter can be a co-routine, simply use the yield statement in the function This event is sent to all scripts attached to the Collider or GUIElement

这个函数不会在属于Ignore Raycast的层上调用

它可以被作为协同程序,在函数体内使用yield语句这个事件将发送到所有附在Collider或GUIElement的脚本上

协同程序

协同程序——在主程序运行的同时开启另一段逻辑处理,来协同当前程序的执行,开启协同程序就是开启一个线程。

协同程序(coroutine)与多线程情况下的线程比较类似:有自己的堆栈,自己的局部变量,有自己的指令指针(IP,instructionpointer),但与其它协同程序共享全局变量等很多信息。

线程和协同程序的主要不同在于:在多处理器情况下,从概念上来讲多线程程序同时运行多个线程;

而协同程序是通过协作来完成,在任一指定时刻只有一个协同程序在运行,并且这个正在运行的协同程序只在必要时才会被挂起。

开启协同程序

使用MonoBehaviorStartCoroutine可以开启一个协同程序,所以该方法需要在继承Monobehaviour的类中调用

Unity3D中,使用StartCoroutine(StringmethodName)和startCoroutine(IEnumeratorroutine)都可以开启一个线程,

a使用字符串作为参数可以开启线程并在线程结束之前终止线程,开启线程最多只能传递一个参数

b使用IEnumeraotor开启的的线程不能随时终止(除非使用StopAllCoroutines()方法)

没有参数个数的限制

终止协同程序

aUnity使用StopCoroutine(StringmethodName)来终止一个协同程序,使用StopAllCoroutine来终止所有协同程序,但是这两个方法都只能终止该MonoBehaviour中的协同程序

b将协同程序所在的gameObject的acitve属性设置为false,当再次设置active为true的时候,协同程序不会再开启,而设置enable和false则不会生效,因为协同程序开启后是以一个线程在运行的,它与MonoBehavior是互不干扰的模式在运行,此后除非代码调用,他们共同作用于同一个对象,只有当对象不可见的时候才能够同时终止这两个线程。

以上就是关于准备去找工作啦求问Unity面试什么比较重要全部的内容,包括:准备去找工作啦求问Unity面试什么比较重要、线程和进程的区别、在Unity中StartCoroutine/yield return这个模式到底是怎么应用的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9504364.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存