U3D面试题

配置Unity3D调试环境

Visual Studio Tools for Unity

访问http://unityvs.com

安装对应的版本

使用方法(生成项目文件,如何调试)

Array(数组)List<T>的异同点?
相同点:

存储一组类型相同的数据

都可以通过”[i]”数组访问符获取内部数据

不同点:

Array声明时需要指定固定的大小,且以后再也无法改变大小;List<T>声明时无需设定大小,且以后可以Add和Remove元素。

Unity3D常用的组件有哪些?
1)Transform组件(Transformers变形金刚)

2)Camera 摄象机组件

3)Collder 碰撞器组件
4)Renderer 渲染器组件(Teach---Teacher)
5)RigidBody 刚体组件
6)CharacterController 角色控制器组件
7)AudioListener 音频监听器(耳朵)
8)AudioSource 音频源(喇叭)

Unity3D里的游戏对象(GameObject)有哪些属性?
1)name 名字
作用:对对象进行标识
2)tag 标签
作用:对对象进行分组(Group)
3)layer 层
作用:1.射线投射2.摄象机裁剪

Unity3D中实现UI有哪几种技术?
1)GUI(绝对布局),GUILayout(自动布局)
特点:只能在OnGUI函数中使用。
2)NGUI (Next-Gen UI)
中文:下一代通用的UI系统
特点:80%的游戏都采用
3)UGUI (Unity3D GUI)
GUI:Game User Interface

NGUIUI动画怎么实现?
动画:在一段时间以内,对象的某个属性值从一个状态过渡到另外一个状态。
实现:使用TweenWidth,TweenHeight,TweenRotation等Tween组件,并调用PlayForward或PlayReverse方法。

OnGUI里面可以使用的函数?

OnGUI特点:绘制界面
可用函数:GUI.Label(),GUI.Button(),GUI.DrawTexture()

什么是3D渲染管线?
CPU:中央处理器(Central Processing
Unit)
GPU:图形处理器(Graphic
Processing Unit)
渲染管线:把3D物体变成2D图形的处理管道线路

Unity3D如何播放视频?

1)3D空间:在3D对象的Renderer组件上播放

2)2D空间:通过GUI.DrawTexture绘制到屏幕上

C#中命名空间如何写?作用是什么?
申明:namespace  AA.BB.CC
使用:using  AA.BB.CC
作用:对类进行逻辑分组,避免类名冲突

C#静态与非静态成员变量的区别是什么?

静态:静态成员被所有该类的实例所共享(公共设施)

非静态:非静态成员只属于当前类的实例(自家设施)

C中的delegate是什么?作用是什么?

C#的关键字(类似if,while,public)
作用:声明一个委托类型

C#中什么是重写(override)

目的:覆盖父类中声明为可被覆写的成员
方法:
      1)父类成员是抽象成员(abstract)

2)父类成员标记为virtual 成员
      3)子类中使用override关键字重写

函数原型和函数签名有啥区别?

函数原型 可以定义委托

函数签名 可以方法重载

图像中的RGBA指的什么?

定义:用4个字节(32位)来定义一个像素。R:Red;G:Green;B:Blue;A:Alpha

游戏中的常用的寻路算法有哪些?

2D:AStar(A*) 算法
3D:网格寻路算法,WayPoint(路点)算法

Unity3D中如何判断两个物体发生碰撞?

双方都需要有碰撞器(Collider)

至少一方有一个正常刚体

游戏中的摄像机的作用是什么?什么情况下需要多个摄像机?

作用:选取当前镜头中需要显示的多边形,采用技术包括:遮挡剔除(被遮挡的无需显示),多边形裁剪(一 半显示一半不显示)

  用途:

1)游戏中的小地图(右上角)

2)使用NGUI的游戏

3)需要多个镜头的游戏(赛车的后视镜)

Unity3D中哪些地方使用了烘焙(bake)技术?

1)网格寻路(为了生成寻路路径)

2)光照贴图(提高渲染性能)

3)遮挡剔除(提高渲染性能)

什么叫做漫反射贴图,法向贴图,高光贴图,凹凸贴图,环境贴图?

基本贴图:游戏模型外光的样子(位图),必须要有。

其它贴图:物体模型添彩的技术,用于各种Shader。

OpenGL
DirectX
是什么?

DirectX:(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口。由C++编程语言实现。

OpenGL:OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。并且是开源的。

Unity3D中制作关卡地形的技术有哪些?

1)官方自带的地形编辑工具(还不够强大)

2)用第三方的地形编辑工具(特定的补充)

Unity3D中动画系统有几种?各自特点是什么?如何配置一个模型的行走动画?

 动画种类:

1)老版动画系统(特点:没有可视化编辑工具,全部用代码定义动画状态机)

2)MecAnim动画系统(特点:可视化状态编辑工具;针对人形动画,可以进行目标重定向;通过动画                
 参数来进行状态的过渡)

如何配置一个模型的行走动画:

1)导入模型
   2)进行Avatar处理(骨骼定义,肌肉匹配)

3)编写动画控制器(定义Idle,Run状态)

4)设置动画参数,以及动画过渡条件

5)给对象附加Animator组件,并设置Avatar和

动画控制器属性

Unity中脚本可以用多种语言来写,都有什么语言?

BOO,JavaScript,C#

什么是游戏逻辑?游戏表现?游戏逻辑包括哪些内容?游戏表现包括哪些内容?

游戏逻辑:算法逻辑(A*寻路,排序算法,这些跟技术相关),业务逻辑(商店购买,战斗逻辑,这些跟玩法相关)

表现逻辑:跟界面有关的逻辑(登录失败给提示,血量不够血条闪动,UI动画),目的是给玩家反馈和提高用户体验。

Unity3D协程是什么?

1)协程不是多线程,但是可以模拟多线程。

2)协程可以让程序异步且安全的执行。

设计模式是什么?

1)它是以面向对象(OOP)的思维方式建立起来解决软件设计问题的技术。

2)设计模式的提出者是GOF(四人帮),他们总结了23种设计模式

3)一个设计模式有它应用的场景(上下文),解决的在当前场景下所面对的问题。

4)采用设计模式的程序,会让程序拥有高聚合,低耦合的特性,提高了代码的可读性,可扩展性等。

冒泡排序算法原理是什么?

每次循环都找出最大值或是最少值,然后依次往后再次查找最大或最小值,直到结束。

游戏优化的方向有哪些?

发布的程序包要小

游戏占用的内存小

游戏占用的CPU,GPU要小

Unity3D如何对游戏进行优化?

减少程序包大小

重用图片

九宫格(Scale9)技术

地图(不考虑透明度的场合,使用jpeg图片)

减少内存占用量

2.1)使用对象池(ObjectPool)

2.2)动态加载需要的素材

减少CPU,GPU的负担

3.1)对代码优化(尽量减少执行的指令)

3.2)对场景使用光照贴图

3.2)对场景使用遮挡剔除

U3D面试五的更多相关文章

  1. [Java面试五]Spring总结以及在面试中的一些问题.

    1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spri ...

  2. django面试五

    http和https的区别https协议需要到ca申请证书,一般免费证书很少,需要交费. 注:CA - certificate authority,身份认证,权威机构认证,CA认证: http是超文本 ...

  3. JAVA基础面试(五)

    41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系?        hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hash ...

  4. JAVA基础面试(五5)

    41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系?        hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hash ...

  5. 5年Java程序员,五面蚂蚁险拿offer定级P7,大厂面试不过如此?

    当时面试能记下的就这些了,可能不太全请见谅: 一面 1.HashMap和ConcurrentHashMap: 2.再谈谈一致hash算法? 3.乐观锁还有悲观锁: 4.可重入锁和Synchronize ...

  6. Unity3D 面试三 ABCDE

    说说AB两次面试: “金三银四” 三月份末又面试过两家:共和新路2989弄1号1001这家找了我半天,哇好漂亮的办公大楼!问了保安才知道,这个地址是小区地址.另一家也是创业公司面试我的自称是在腾讯做过 ...

  7. [原]巧用RenderTexture

    郑重声明:转载请注明出处 U_探索 本文诞生于面试过程中这道题:NGUI如何制作3D角色的显示.(大概是这样)  呵呵 没事出去面试面试,考核考核自己也是一种不错的方式哦!不过现在u3d面试,貌似比以 ...

  8. Spring 问题总结

    Spring问答Top 25:http://www.importnew.com/15851.html [Java面试五]Spring总结以及在面试中的一些问题.:http://www.cnblogs. ...

  9. 面试题: Spring 框架 Bean的生命周期

    [Java面试五]Spring总结以及在面试中的一些问题.   1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本 ...

随机推荐

  1. 【转】C++的const类成员函数

    我们知道,在C++中,若一个变量声明为const类型,则试图修改该变量的值的操作都被视编译错误.例如, const char blank=' '; blank='\n'; //错误 面向对象程序设计中 ...

  2. ubuntu系统初始化网络及mysql配置

    安装系统时需要安装open-ssh服务软件,否则无法远程连接 1.修改root密码 # sudo passwd 输入密码即可 切换到root用户,需要输入刚才的root密码 # su - 2.配置网络 ...

  3. 前端实现商品sku属性选择

    一.效果图 二.后台返回的数据格式 [{ "saleName": "颜色", "dim": 1, "saleAttrList&qu ...

  4. Git 将项目(代码)从GitHub上克隆(下载)到本地仓库

    要将项目从GitHub上克隆到本地,首先你得下载并安装好git for window. 配置Git: 1.安装完后,右键单击桌面空白处,选择Git Gui Here,进去之后,选择左上角的help选项 ...

  5. web----粘包

    一.什么是粘包 所谓粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的. 须知:只有TCP有粘包现象,UDP永远不会粘包 粘包不一定会发生 如果发生了:1.可能是在 ...

  6. python3 + selenium 之窗口切换

    窗口切换 此代码来源学习后对淘宝操作实践记录: 以下代码在Chrome61和IE11上正常运行,Firefox5.7上运行存在一些问题须改进,应该是火狐不兼容差link_text部分和循环经常报错,在 ...

  7. 2018-2019 2 20165203 《网络对抗技术》 Exp2 后门原理与实践

    2018-2019 2 20165203 <网络对抗技术> Exp2 后门原理与实践 实验内容 1.使用netcat获取主机操作Shell,cron启动 (0.5分) 2.使用socat获 ...

  8. 《剑指offer》-链表的第一个公共节点

    题目描述 输入两个链表,找出它们的第一个公共结点. 这题目是指针相关的题目.初步要判断出来,有公共节点的两个指针,应当是链表后半部分相同.这样的话,当遇到第一个相同节点(不是node的val相同,而是 ...

  9. jQuery+存储过程实现无刷新分页(九)

    涉及到得知识点: 1.分页存储过程 2.分页原理 3.jQuery DOM操作 4.jQuery Ajax存取数据   效果图:

  10. Mysql在master上查看有哪些slave

    mysql> select * from information_schema.processlist as p where p.command = 'Binlog Dump'; 或 mysql ...