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. (网络编程)socketserver模块服务端实现并发

    基于tcp的套接字(实现并发),关键就是两个循环,一个链接循环,一个通信循环 基于udp的套接字(不是正真意义上的并发,实现真并发) socketserver模块中分两大类:server类(解决链接问 ...

  2. 用命令打开本地tomcat服务器

    1.点击开始菜单,搜索cmd,默认第一个结果是cmd.exe, 鼠标右键用管理员权限打开(win7及以上版本系统) 启动命令是net start tomcat8 (我电脑是tomcat8,如果是tom ...

  3. Java连接oracle数据库的两种常用方法

    1. 使用thin连接 由于thin驱动都是纯Java代码,并且使用TCP/IP技术通过java的Socket连接上Oracle数据库,所以thin驱动是与平台无关的,你无需安装Oracle客户端,只 ...

  4. 转:10分钟了解JS堆、栈以及事件循环的概念

    https://juejin.im/post/5b1deac06fb9a01e643e2a95?utm_medium=fe&utm_source=weixinqun 前言 其实一开始对栈.堆的 ...

  5. confusion_matrix(混淆矩阵)

    作者:十岁的小男孩 凡心所向,素履可往 目录 监督学习—混淆矩阵 是什么?有什么用?怎么用? 非监督学习—匹配矩阵 混淆矩阵 矩阵每一列代表预测值,每一行代表的是实际的类别.这个名字来源于它可以非常容 ...

  6. poj2528贴海报,,

    对于区间段的离散化需要注意一下,和点离散化不同 离散后如何识别一段区间还是一段区间,而不是两个顶点,就是如果两个点的距离大于1,就往离散的数据里插入一个中间值,即用三个点来表示一段区间 /* 离散化长 ...

  7. poj2464扫描线好题,树状数组解法

    用树状数组解比线段树快了好多,难度也下降许多 分别用两个树状数组维护当前扫描线左侧和右侧的点,离散化y轴即可 #include<iostream> #include<cstring& ...

  8. 使用事件的preventDefault()方法改变默认行为

    事件有属性,还有方法,还有事件.事件本身是个对象^_^ 事件的preventDefault()方法改变默认行为,在事件发生前阻止,不让其发生.这样的应用场景有很多,常见表单验证,如必填字段不能为空. ...

  9. hive遇到FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误

    hive遇到FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误 起因 ...

  10. ruby学习-字符串

    字符串 1.创建字符1:new用来创建新字符,empty?检验字符是否为空 title = String.new #=> "" title.empty? #=>true ...