物体自旋转使用的函数叫什么?物体绕某点旋转使用函数叫什么?
物体自旋转函数transform.Rotate,物体绕某点旋转函数:transform.RotateAround
描述多人联网中位置的同步和聊天通讯的实现方法,并编程写出如何实现多人协同中交互操作。(交互操作例如,血值为100的两个角色人物可以相互射击双方,射击一次减去血值10,当血值为0的时候证明已经死亡)
当实例化一个prefab对象,prefab对象上面挂载了一个继承MonoBehaviour的脚本 1.请问这个脚本分别会按顺序调用哪些函数,并列出哪些函数是反复进去的
2.请问当这个实例化对象先调用了SetActive(false),然后又调用了SetActive(true),那么这个脚本依次会调用哪些函数方法?
3.如果在脚本的Awake()函数中,调用了this.gameObject.AddComponent()(PS:GameController为另一个继承Mono的脚本类),请问此时脚本函数的调用顺序是否发生变化?
if(go.CompareTag(“Enemy”))和if(go.tag == “Enemy”)两种判断方法哪种是合适的,为什么?
第一种合适,因为第二种会占用更多内存。
DestroyImmediate和Destroy的区别是?
DestroyImmeditate 销毁对象的时候,会立即释放资源。Destroy只是从该场景销毁,但是还在内存当中。
详细说明Unity中资源加载的方法,以及他们的区别?
1.通过Resources模块,调用它的load函数:可以直接load并返回某个类型的Object,前提是要把这个资源放在Resource命名的文件夹下,Unity不关有没有场景引用,都会将其全部打入到安装包中。 2.通过bundle的形式:即将资源打成 asset bundle 放在服务器或本地磁盘,然后使用WWW模块get 下来,然后从这个bundle中load某个object。
从代码角度上如何进行内存优化?
分别写出Invoke和协程的几种用法?
以下函数的功能是计算斐波那契数列的第n项,请填空 int func(int n) {
if(n<=2) return 1; return n + func(n-1); }
请实现如下函数,在Unity中有一副骨骼树,请使用递归方式与非递归方式实现先序遍历,
在Unity的Console输出所有骨骼名。 可能用到的函数
public Transform GetChild(int index); public int Transform.childCount
public void OutputTree(Transform root) { }
当实例化一个prefab对象,prefab对象上面挂载了一个继承MonoBehaviour的脚本 1.请问这个脚本分别会按顺序调用哪些函数,并列出哪些函数是反复进去的 2.请问当这个实例化对象先调用了SetActive(false),然后又调用了SetActive(true),那么这个脚本依次会调用哪些函数方法? 3.如果在脚本的Awake()函数中,调用了this.gameObject.AddComponent()(PS:GameController为另一个继承Mono的脚本类),请问此时脚本函数的调用顺序是否发生变化?
DestroyImmediate和Destroy的区别是?
DestroyImmeditate 销毁对象的时候,会立即释放资源。Destroy只是从该场景销毁,但是还在内存当中。
详细说明Unity中资源加载的方法,以及他们的区别?
1.通过Resources模块,调用它的load函数:可以直接load并返回某个类型的Object,前提是要把这个资源放在Resource命名的文件夹下,Unity不关有没有场景引用,都会将其全部打入到安装包中。 2.通过bundle的形式:即将资源打成 asset bundle 放在服务器或本地磁盘,然后使用WWW模块get 下来,然后从这个bundle中load某个object。
下面哪种做法可以打开Unity的Asset Store?(A) A.Windows->Asset Store B.Edit->Asset Store C.File->Asset Store D.Assets->Asset Store
在哪个面板中可以修改物体的空间属性,如位置,朝向,大小等(B) A.Project B.Inspector C.Hierarchy D.Toolbar
如何为一个Asset 资源设定一个Label,从而能够方便准确的搜索到?(D) A.在Project窗口中选中一个Asset,右键->Create->Label B.在Project窗口中选中一个Asset,右键->Add Label
C.在Project窗口中选中一个Asset,在Inspector窗口中点击添加Label的图标 D.在Project窗口中选中一个Asset,在Inspector窗口中点击按钮“Add Label”
Mecanim系统中,Body Mask的作用是?(D) A指定身体的某一部分是否参与骨骼动画 B.指定身体的某一部分是否参与物理模拟
C.指定身体的某一部分是否可以输出骨骼信息 D.指定身体的某一部分是否参与渲染
以下哪种操作步骤可以打开Unity编辑器的Lightmapping视图?(C) A.File->Lightmapping B.Assets->Lightmapping
C.Windows->Lightmapping D.Component->Lightmapping
下列关于光照贴图,说法错误的是?(C) A.使用光照贴图比使用实时光源渲染要快 B.可以降低游戏内存消耗 C.可以增加场景真实感
D.多个物体可以使用同一张光照贴图
如何为物体添加光照贴图所使用的UV?(B) A.不用添加,任何时候都会自动生成
B.更改物体导入设置,勾选“Generate Lighting UVs” C.更改物体导入设置,勾选“Swap UVs”
D.更改物体导入设置,在UVs选项中选择“Use Lightmaps”
在哪个模块下可以修改Render Path?(A)
A.Camera B.Light C.Render Settings D.Project Setting->Quality
以下哪项技术下不是目前Unity所支持的Occlusion Culling技术?(D) A.PVS only B.PVS and dynamic objets
C.Automatic Portal Generation D.Dynamic Only
关于Vector3的API,以下说法正确的是?(C)
A.Vector3.normalize可以获取一个三维向量的法线向量 B.Vector3.magnitude可以获取一个三维向量的长度 C.Vector3.forward与Vector3(0,0,1)是一样的
D.Vector3.Dot(向量A,向量B)是用来计算向量A与向量B的叉乘
下列那些选项不是网格层属性的固有选项?(B) A.Default B.Walkable C.Not Walkable D.Jump
反射的实现原理?
答:审查元数据并收集关于它的类型信息的能力。 实现步骤:
?导入using System.Reflection; ?Assembly.Load(\程序集\加载程序集,返回类型是一个Assembly ?得到程序集中所有类的名称
foreach (Type type in assembly.GetTypes()) {
string t = type.Name;
} ?
?Type type = assembly.GetType(\程序集.类名\获取当前类的类型 ?Activator.CreateInstance(type); //创建此类型实例 ?MethodInfo mInfo = type.GetMethod(\方法名\获取当前方法 ?mInfo.Invoke(null,方法参数);
简述四元数Quaternion的作用,四元数对欧拉角的优点? 答:四元数用于表示旋转 相对欧拉角的优点: ?能进行增量旋转 ?避免万向锁
?给定方位的表达方式有两种,互为负(欧拉角有无数种表达方式)
如何安全的在不同工程间安全地迁移asset数据?三种方法 答:
1.将Assets和Library一起迁移 2.导出包package
3.用unity自带的assets Server功能
OnEnable、Awake、Start运行时的发生顺序?哪些可能在同一个对象周期中反复的发生? 答:Awake–>OnEnable->Start
OnEnable在同一周期中可以反复地发生!
MeshRender中material和sharedmaterial的区别? 答:
修改sharedMaterial将改变所有物体使用这个材质的外观,并且也改变储存在工程里的材质设置。
不推荐修改由sharedMaterial返回的材质。如果你想修改渲染器的材质,使用material替代。
TCP/IP协议栈各个层次及分别的功能
答:网络接口层:这是协议栈的最低层,对应OSI的物理层和数据链路层,主要完成数据帧的实际发送和接收。 网络层:处理分组在网络中的活动,例如路由选择和转发等,这一层主要包括IP协议、ARP、ICMP协议等。
传输层:主要功能是提供应用程序之间的通信,这一层主要是TCP/UDP协议。
应用层:用来处理特定的应用,针对不同的应用提供了不同的协议,例如进行文件传输时用到的FTP协议,发送email用到的SMTP等。
Unity提供了几种光源,分别是什么 答: 四种。
平行光:Directional Light 点光源:Point Light
聚光灯:Spot Light 区域光源:Area Light
简述一下对象池,你觉得在FPS里哪些东西适合使用对象池?
对象池就存放需要被反复调用资源的一个空间,比如游戏中要常被大量复制的对象,子弹,敌人,以及任何重复出现的对象。
移动相机动作在哪个函数里,为什么在这个函数里?
LateUpdate,是在所有的Update结束后才调用,比较适合用于命令脚本的执行。官网上例子是摄像机的跟随,都是所有的Update操作完才进行摄像机的跟进,不然就有可能出现摄像机已经推进了,但是视角里还未有角色的空帧出现。
请简述sealed关键字用在类声明时与函数声明时的作用。
答:类声明时可防止其他类继承此类,在方法中声明则可防止派生类重写此方法。
请简述private,public,protected,internal的区别。 public:对任何类和成员都公开,无限制访问 private:仅对该类公开
protected:对该类和其派生类公开
internal:只能在包含该类的程序集中访问该类 protected internal:protected + internal
什么是渲染管道?
答:是指在显示器上为了显示出图像而经过的一系列必要操作。 渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。 主要步骤有:
本地坐标->视图坐标->背面裁剪->光照->裁剪->投影->视图变换->光栅化。
如何优化内存?
答:有很多种方式,例如 1.压缩自带类库;
2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接Destroy掉; 3.释放AssetBundle占用的资源;
4.降低模型的片面数,降低模型的骨骼数量,降低贴图的大小;
5.使用光照贴图,使用多层次细节(LOD),使用着色器(Shader),使用预设(Prefab)。
动态加载资源的方式? 1.Resources.Load(); 2.AssetBundle
Unity5.1版本后可以选择使用Git: https://github.com/applexiaohao/LOAssetFramework.git 三十四:在场景中放置多个Camera并同时处于活动状态会发生什么? 答:游戏界面可以看到很多摄像机的混合。