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. R-TREE

    原文地址:http://blog.csdn.net/sunmenggmail/article/details/8122743 1984年,加州大学伯克利分校的Guttman发表了一篇题为“R-tree ...

  2. centos6.5下系统编译定制iptables防火墙扩展layer7应用层访问控制功能及应用限制QQ2016上网

    iptables防火墙扩展之layer7应用层访问控制 概述: iptables防火墙是工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙.以基于网络层的数据包过滤机制为主,同 ...

  3. dynamic web module和对应的TOMCAT 版本

    大致因为java的web系统有多种类型,比如静态的和动态的,然后动态的java web project要设置dynamic web module,也就是动态网页模型,他必须要和对应的服务器搭配好了才能 ...

  4. Python-ccs高级选择器 盒模型

    css高级选择器与盒模型 脱离文档流 ,其中就是产生了BFC 1.组合选择器 - 群组选择器 /* 每个选择器位可以位三种基础选择器的任意一个, 用逗号隔开, 控制多个 */ div, #div, . ...

  5. 扩展欧几里得,解线性同余方程 逆元 poj1845

    定理:对于任意整数a,b存在一堆整数x,y,满足ax+by=gcd(a,b) int exgcd(int a,int b,int &x,int &y){ ){x=,y=;return ...

  6. Fiddler抓包7-post请求(json)

    前言上一篇讲过get请求的参数都在url里,post的请求相对于get请求多了个body部分,本篇就详细讲解下body部分参数的几种形式. 一.body数据类型 常见的post提交数据类型有四种: 1 ...

  7. 模拟js中注册表单验证

    示例1 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  8. python 全栈开发,Day132(玩具管理页面,控制玩具通讯录,基于请求的好友关系建立)

    先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.5.zip 注意:由于涉及到 ...

  9. javaFX中解决填充(拉伸)问题

    1.margin设置实现 在项目过程中,遇到此问题,如图: 如果窗口缩小,HBox(左边的包含TitledPane那部分)看不到底部 如果窗口拉大,下面就出现空白,HBox高度没拉神 办法:对包含HB ...

  10. DDD领域模型数据访问权限(九)

    权限分为:数据权限和功能权限 数据权限: 查询提供附加表达式的支持: //提供附加表达式的支持 List<TAggreateRoot> GetByCondition(Expression& ...