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. gunicorn+flask使用与配置

    gun.conf的内容 import os bind = '10.1.240.222:5000' workers = 4 backlog = 2048 worker_class = "syn ...

  2. oracle客户端安装

    一.引导安装并配置 1)下载客户端(两个文件) 2)选中两个压缩包解压到同一个文件夹下 3)点击setup 4)选择:创建和配置数据库桌面类选择安装目录,全局数据库名:orcl,密码admin口令管理 ...

  3. string.intern

    在翻<深入理解Java虚拟机>的书时,又看到了2-7的 String.intern()返回引用的测试. 总结一句话: jdk1.7之前,调用intern()方法会判断常量池是否有该字符串, ...

  4. system

    system("cls"); //清屏 system("color f2") //改变控制台颜色 f2为颜色样式,可以是e2.f3等等 Original:htt ...

  5. 性能测试四十:Mysql存储过程造数据

    性能测试是基于大量数据的,而进行性能测试之前肯定没那么多数据,所以就要自己准备数据 数据构造方法: 1.业务接口 -- 适合数据表关系复杂 -- 优点:数据完整性比较好2.存储过程 -- 适合表数量少 ...

  6. 《剑指offer》-斐波那契数列

    大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项. n<=39 这么直接的问fibonacci,显然是迭代计算.递归的问题在于重复计算,而迭代则避免了这一点:递归是自 ...

  7. 表达式树ExpressionTrees

    简介 表达式树以树形数据结构表示代码,其中每一个节点都是一种表达式,比如方法调用和 x < y 这样的二元运算等.你可以对表达式树中的代码进行编辑和运算.这样能够动态修改可执行代码.在不同数据库 ...

  8. Docker 容器中无ss命令解决方法

    在早期运维工作中,查看服务器连接数一般都会用netstat命令.其实,有一个命令比netstat更高效,那就是ss(Socket Statistics)命令!ss命令可以用来获取socket统计信息, ...

  9. 解决celipse中mybatis使用的时候xml没有提示的问题

    文件下载好以后点击Add会出现如下界面 上面是添加mapper的插件,再找到config的配置文件.和上面相似的操作安装以后就可以了

  10. 64位JDK+tomcat6+myeclipse 10安装与配置

    一.安装JDK与配置环境与检验配置成功: 1.进入java.com网站,然后按照以下步骤进行  =>=>=>=>=> =>=>等会出现java茶杯双击,一次一 ...