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. SharePoint 2013 Workflow Manager 1.0 卸载

    一:环境 Window server 2012 r2 Standard SharePoint Server 2013 with sp1 二:开始菜单---Workflow Manager 配置---退 ...

  2. 前端web服务器数据同步方案

    概述: 网站采用了web和mysql数据库分离的架构,前端有web1.web2.web3需要对他们进行上传文件同步 方案: 在web2的windows服务器上安装GoodSync软件,利用其双向同步特 ...

  3. Python中的一些小语法

    目录: 生成随机数 将一个字符串变为datetime类型,并且获取星期几 1.生成随机数 假设我们要操作的list如下: >>> import random >>> ...

  4. UITableView滑动性能优化扩展

    一点UITableView滑动性能优化扩展 影响UITableView的滑动,有哪些因素呢?  关于这一点,人眼能识别的帧率是60左右,这也就是为什么,电脑屏幕的最佳帧率是60Hz.  屏幕一秒钟会刷 ...

  5. iOS中按钮点击事件处理方式

    写在前面 在iOS开发中,时常会用到按钮,通过按钮的点击来完成界面的跳转等功能.按钮事件的实现方式有多种,其中 较为常用的是目标-动作对模式.但这种方式使得view与controller之间的耦合程度 ...

  6. JS高级 - 面向对象3(面向过程改写面向对象)

    改写: 1.前提:所有东西都在 onload 里 2.改写:不能有函数嵌套,可以有全局变量 onload --> 构造函数 全局变量 --> 属性 函数 --> 方法 4.改错: t ...

  7. 【BZOJ1786】[Ahoi2008]Pair 配对

    题解: 打表出奇迹 能发现所有ai一定是不减的 其实很好证明啊.. 考虑两个位置x y(y在x右边) x的最优值已经知道了 考虑y处 先让y=x,然后开始变化 因为x处已经是最优的了,所以如果减小,那 ...

  8. P3331 [ZJOI2011]礼物(GIFT)

    题解: 首先转化为平面问题 对于每一个z,f(x,y)的值为它能向上延伸的最大高度 ...莫名其妙想出来的是n^4 以每个点作为右下边界n^3枚举再o(n)枚举左下边界计算z的最大值 然而很显然这种做 ...

  9. MySQL安装详细图解整理

    MySQL安装详细图解 2018-08-19  08:32:33 一.MYSQL的安装 1.打开下载的mysql安装文件mysql-5.0.27-win64.zip,双击解压缩,运行“setup.ex ...

  10. BZOJ5074 小B的数字 BZOJ2017年10月月赛 其他

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ5074 题意概括 题解 作为蒟蒻的我第一个就选择了过的人最多的D题. 不仔细看好吓人. 然而并不难. ...