U3D面试五
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
NGUI的UI动画怎么实现?
动画:在一段时间以内,对象的某个属性值从一个状态过渡到另外一个状态。
实现:使用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面试五的更多相关文章
- [Java面试五]Spring总结以及在面试中的一些问题.
1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spri ...
- django面试五
http和https的区别https协议需要到ca申请证书,一般免费证书很少,需要交费. 注:CA - certificate authority,身份认证,权威机构认证,CA认证: http是超文本 ...
- JAVA基础面试(五)
41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系? hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hash ...
- JAVA基础面试(五5)
41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系? hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hash ...
- 5年Java程序员,五面蚂蚁险拿offer定级P7,大厂面试不过如此?
当时面试能记下的就这些了,可能不太全请见谅: 一面 1.HashMap和ConcurrentHashMap: 2.再谈谈一致hash算法? 3.乐观锁还有悲观锁: 4.可重入锁和Synchronize ...
- Unity3D 面试三 ABCDE
说说AB两次面试: “金三银四” 三月份末又面试过两家:共和新路2989弄1号1001这家找了我半天,哇好漂亮的办公大楼!问了保安才知道,这个地址是小区地址.另一家也是创业公司面试我的自称是在腾讯做过 ...
- [原]巧用RenderTexture
郑重声明:转载请注明出处 U_探索 本文诞生于面试过程中这道题:NGUI如何制作3D角色的显示.(大概是这样) 呵呵 没事出去面试面试,考核考核自己也是一种不错的方式哦!不过现在u3d面试,貌似比以 ...
- Spring 问题总结
Spring问答Top 25:http://www.importnew.com/15851.html [Java面试五]Spring总结以及在面试中的一些问题.:http://www.cnblogs. ...
- 面试题: Spring 框架 Bean的生命周期
[Java面试五]Spring总结以及在面试中的一些问题. 1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本 ...
随机推荐
- SharePoint 2013 Workflow Manager 1.0 卸载
一:环境 Window server 2012 r2 Standard SharePoint Server 2013 with sp1 二:开始菜单---Workflow Manager 配置---退 ...
- 前端web服务器数据同步方案
概述: 网站采用了web和mysql数据库分离的架构,前端有web1.web2.web3需要对他们进行上传文件同步 方案: 在web2的windows服务器上安装GoodSync软件,利用其双向同步特 ...
- Python中的一些小语法
目录: 生成随机数 将一个字符串变为datetime类型,并且获取星期几 1.生成随机数 假设我们要操作的list如下: >>> import random >>> ...
- UITableView滑动性能优化扩展
一点UITableView滑动性能优化扩展 影响UITableView的滑动,有哪些因素呢? 关于这一点,人眼能识别的帧率是60左右,这也就是为什么,电脑屏幕的最佳帧率是60Hz. 屏幕一秒钟会刷 ...
- iOS中按钮点击事件处理方式
写在前面 在iOS开发中,时常会用到按钮,通过按钮的点击来完成界面的跳转等功能.按钮事件的实现方式有多种,其中 较为常用的是目标-动作对模式.但这种方式使得view与controller之间的耦合程度 ...
- JS高级 - 面向对象3(面向过程改写面向对象)
改写: 1.前提:所有东西都在 onload 里 2.改写:不能有函数嵌套,可以有全局变量 onload --> 构造函数 全局变量 --> 属性 函数 --> 方法 4.改错: t ...
- 【BZOJ1786】[Ahoi2008]Pair 配对
题解: 打表出奇迹 能发现所有ai一定是不减的 其实很好证明啊.. 考虑两个位置x y(y在x右边) x的最优值已经知道了 考虑y处 先让y=x,然后开始变化 因为x处已经是最优的了,所以如果减小,那 ...
- P3331 [ZJOI2011]礼物(GIFT)
题解: 首先转化为平面问题 对于每一个z,f(x,y)的值为它能向上延伸的最大高度 ...莫名其妙想出来的是n^4 以每个点作为右下边界n^3枚举再o(n)枚举左下边界计算z的最大值 然而很显然这种做 ...
- MySQL安装详细图解整理
MySQL安装详细图解 2018-08-19 08:32:33 一.MYSQL的安装 1.打开下载的mysql安装文件mysql-5.0.27-win64.zip,双击解压缩,运行“setup.ex ...
- BZOJ5074 小B的数字 BZOJ2017年10月月赛 其他
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ5074 题意概括 题解 作为蒟蒻的我第一个就选择了过的人最多的D题. 不仔细看好吓人. 然而并不难. ...