是指在显示器上为了显示出图像洏经过的一系列必要操作 渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去
2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接Destroy掉;
4.降低模型的片面数,降低模型的骨骼数量降低贴图的大小;
5.使用光照贴图,使用多层次细节(LOD)使用著色器(Shader),使用预设(Prefab)
3.动态加载资源的方式?
1.通过Resources模块调用它的load函数:可以直接load并返回某个类型的Object,前提是要把这个资源放在Resource命名的文件夾下unity改变image透明度不关有没有场景引用,都会将其全部打入到安装包中Resources.Load();
3.通过AssetDatabase.loadasset :这种方式只在editor范围内有效,游戏运行时没有这个函数它通常是在开发中调试用的
区别:Resources的方式需要把所有资源全部打入安装包,这对游戏的分包发布(微端)和版本升级(patch)是不利的所以unity改變image透明度推荐的方式是不用它,都用bundle的方式替代把资源达成几个小的bundle,用哪个就load哪个这样还能分包发布和patch,但是在开发过程中不可能没更新一个资源就打一次bundle,所以editor环境下可以使用AssetDatabase来模拟这通常需要我们封装一个dynamic resource的loader模块,在不同的环境下做不同实现 动态资源的存放有时我需要存放一些自己的文件在磁盘上,例如我想把几个bundle放在初始的安装里 unity改变image透明度有一个streaming asset的概念,用于提供存储接口的访问峩们需要在编辑器建立一个StreamingAssets名字的文件夹,把需要我们放在客户磁盘上的动态文件放在这个文件夹下面这样安装后,这些文件会放在用戶磁盘的指定位置这个位置可以通过Application.streamingAssetsPath来得到。
在主线程运行时同时开启另一段逻辑处理来协助当前程序的执行。换句话说开启协程僦是开启一个线程。可以用来控制运动、序列以及对象的行为
一 界面制作 推荐:NGUI
6.使用unity改变image透明度3d实现2d游戏,有几种方式
1.使用本身的GUI;
7.unity妀变image透明度3d中的碰撞器和触发器的区别?
触发器只是碰撞器身上的一个属性碰撞器是触发器的载体。
a.如果不想让碰撞检测影响物体移动泹是又想检测到碰撞这时用到触发器(Trigger)
b.触发器用来检测一个物件是否经过空间中的某个区域
8.物体发生碰撞的必要条件
两个物体都必须带囿碰撞器(Collider)其中一个物体还必须带有Rigidbody刚体。
Rigidbody就是刚体使物体带有刚体的特征。
9.在物体发生碰撞的整个过程中有几个阶段,分别列出对應的函数三个阶段
10.unity改变image透明度3d的物理引擎中有几种施加力的方式,分别描述出来
11.什么叫做链条关节
Hinge Joint,可以模拟两个物体间用一根链条連接在一起的情况能保持两个物体在一个固定距离内部相互移动而不产生作用力,但是达到固定距离后就会产生拉力
12.物体自身旋转使鼡的函数?
13.物体围绕某点旋转使用的函数
14.unity改变image透明度3d提供了一个用于保存和读取数据的类(PlayerPrefs),请列出保存和读取整形数据的函数
15.unity改变image透明喥3d提供了几种光源类型分别是哪几种?
16.unity改变image透明度3d脚本从唤醒到销毁有着一套比较完整的生命周期请列出系统自带的几个重要的方法。
17.物理更新一般放在哪个系统函数里
FixedUpdate,每固定帧绘制时执行一次和Update不同的是FixedUpdate是渲染帧执行,如果你的渲染效率低下的时候FixedUpdate调用次数就會跟着下降FixedUpdate比较适用于物理引擎的计算,因为是跟每帧渲染有关Update就比较适合做控制。
18.移动摄像机的动作放在哪个系统函数中为什么放在这个函数中?
LateUpdate在每帧执行完毕调用,它是在所有Update结束后才调比较适合用于命令脚本的执行。官网上例子是摄像机的跟随都是在所有Update操作完才跟进摄像机,不然就有可能出现摄像机已经推进了但是视角里还未有角色的空帧出现。
19.当游戏中需要频繁创建一个物体时我们需要怎样做能够节省内存?
使用预制物体对象Prefab然后复制创建。
20.在场景中放置多个Camera并同时处于活动状态会发生什么
游戏界面可以看到很多摄像机的混合。
21.请描述Prefab的作用并描述如何在移动设备的环境下恰当的使用它?
Prefab在实例化的时候用到主要用于经常会用到的物體,属性方便修改
22.请简述unity改变image透明度3d下如何安全的在不同工程间迁移asset数据,请列举出三种方法
23.请描述游戏动画有哪几种,以及其原理
主要有关节动画、骨骼动画、单一网格模型动画(关键帧动画)。
a.关节动画:把角色分成若干独立部分一个部分对应一个网格模型,部分嘚动画连接成一 个整体的动画角色比较灵活,Quake2中使用这种动画;
b.骨骼动画广泛应用的动画方式,集成了以上两个方式的优点骨骼按角色特点组成一定的层次结构,有关节相连可做相对运动,皮肤作为单一网格蒙在骨骼之外决定角色的外观;
c.单一网格模型动画由一個完整的网格模型构成,在动画序列的关键帧里记录各个顶点的原位置及其改变量然后插值运算实现动画效果,角色动画较真实
24.请描述为什么unity改变image透明度3d中会发生在组件上出现数据丢失的情况
一般是组件上绑定的物体对象被删除了
Alpha Blend 实现透明效果,不过只能针对某块区域進行alpha操作透明度可设。
26.写出光照计算中的diffuse的计算公式
Dcolor 表示漫反射光颜色
L 为光源向量 其中N与L点乘,如果结果小于等于0则漫反射为0。
27.Lod是什么优缺点是什么?
LOD(Level of detail)多层次细节是最常用的游戏优化技术。它按照模型的位置和重要程度决定物体渲染的资源分配降低非重要物体嘚面数和细节度,从而获得高效率的渲染运算
28.两种阴影判断的方法、工作原理。
A.阴影由两部分组成:本影与半影
a.本影:景物表面上那些沒有被光源直接照射的区域(全黑的轮廓分明的区域)
b.半影:景物表面上那些被某些特定光源直接照射但并非被所有特定光源直接照射的區域(半明半暗区域)
求阴影区域的方法:做两次消隐过程
一次对每个光源进行消隐求出对于光源而言不可见的区域L;
一次对视点的位置进行消隐,求出对于视点而言可见的面S;
B.阴影分为两种:自身阴影和投射阴影
自身阴影:因物体自身的遮挡而使光线照射不到它上面的某些可见面
工作原理:利用背面剔除的方法求出即假设视点在点光源的位置。
投射阴影:因不透明物体遮挡光线使得场景中位于该物体後面的物体或区域受不到光照照射而形成的阴影
工作原理:从光源处向物体的所有可见面投射光线将这些面投影到场景中得到投影面,洅将这些投影面与场景中的其他平面求交得出阴影多边形保存这些阴影多边形信息,然后再按视点位置对场景进行相应处理得到所要求嘚视图(利用空间换时间每次只需依据视点位置进行一次阴影计算即可,省去了一次消隐过程)若是动态光源此方法就无效了
MipMapping:在三維计算机图形的贴图渲染中有常用的技术,为加快渲染进度和减少图像锯齿贴图被处理成由一系列被预先计算和优化过的图片组成的文件,这样的贴图被称为MipMap
1.用代码实现第三角色控制器
2.实现吊机吊物体的功能
【吊机吊物体需要节点挂接和坐标系转换】
32.反向旋转动画的方法昰什么
【反转动画,讲动画的速度调到-1碰撞时,被碰撞物体与碰撞物体有collider组件碰撞物体有刚体组件,或角色碰撞得包含角色组件 OR 改變animation.speed】
33.碰撞检测需要物体具备什么属性
能检测碰撞发生的方式有两种,一种是利用碰撞器另一种则是利用触发器
34.获取、增加、删除组件嘚命令分别是什么?
A.动画放大 B.动画转换 C.动画的淡入为其他动画
A加载关卡 B.异步加载关卡 C.加载动作
37.调试记录到控制台的命令是什么
39.编辑器类存放路径是什么?
40.使用原生GUI创建一个可以拖动的窗口命令是什么
42.写一个计时器工具,从整点开始计时格式为:00:00:00
44.怎么拿到一个对象上脚夲的方法
45.请简述向量的点乘,向量的叉乘以及向量归一化的几何意义
点乘的几何意义是:计算两个向量之间的夹角,以及在某一方向上嘚投影;
叉乘的几何意义是:创建垂直于平面三角形,或者多边形的向量;
46.unity改变image透明度3D是否支持写成多线程如果支持的话要注意什么?
支持:如果同时你要处理很多事情或者与unity改变image透明度的对象互动小可以用thread,否则使用coroutine.
注意:C#中有lock这个关键字,以确保只有一个线程可以在特萣时间内访问特定的对象
unity改变image透明度3d没有多线程的概念不过unity改变image透明度也给我们提供了StartCoroutine(协同程序)和LoadLevelAsync(异步加载关卡)后台加载场景嘚方法。 StartCoroutine为什么叫协同程序呢所谓协同,就是当你在StartCoroutine的函数体里处理一段代码时利用yield语句等待执行结果,这期间不影响主程序的继续執行可以协同工作。而LoadLevelAsync则允许你在后台加载新资源和场景所以再利用协同,你就可以前台用loading条或动画提示玩家游戏未卡死同时后台協同处理加载的事宜asynchronous[e??s??kr?n?s].synchronous同步
48.请简述四元数的作用以及四元数相对于欧拉角的优点
有多种方式可表示旋转,如 axis/angle、欧拉角(Euler angles)、矩阵(matrix)、四元组等 相對于其它方法,四元组有其本身的优点:
a.四元数不会有欧拉角存在的 gimbal lock 问题[万向节死锁]
b.四元数由4个数组成旋转矩阵需要9个数
c.两个四元数之間更容易插值
d.四元数、矩阵在多次运算后会积攒误差,需要分别对其做规范化(normalize)和正交化 (orthogonalize)对四元数规范化更容易 e.与旋转矩阵类似,两个四え组相乘可表示两次旋转
动画层作为一个具有层级动画编辑概念的工具可以用来制作和处理任何类型的动画
51.请说出4种面向对象的设计原則,并分别简述它们的含义
2) 开放-封闭原则 (The Open-Close Principle,简称OCP):对于扩展是开放的对于更改是封闭的
PhysicMaterial 物理材质:物理材质描述,如何处悝物体碰撞(摩擦弹性)。
Material材质(材质类)为了获得一个对象使用的材质可以使用 Renderer.materia属性:
53.法线贴图 、CG动画
A.法线贴图:是在原物体的凹凸表面的每个点上均作法线,通过RGB颜色通道来标记法线的方向你可以把它理解成与原凹凸表面平行的另一个不同的表面,但实际上它又呮是一个光滑的平面
B.CG动画:原为Computer Graphics的英文缩写。随着以计算机为主要工具进行视觉设计和生产的一系列相关产业的形成,国际上习惯将利用計算机技术进行视觉设计和生产的领域通称为CG它既包括技术也包括艺术,几乎囊括了当今电脑时代中所有的视觉艺术创作活动如平面茚刷品的设计、网页设计、三维动画、影视特效、多媒体技术、以计算机辅助设计为主的建筑设计及工业造型设计等。
55、请描述游戏动画囿哪几种以及其原理。
主要有关节动画、单一网格模型动画(关键帧动画)、骨骼动画
a、关节动画把角色分成若干独立部分,一个部分对應一个网格模型部分的动画连接成一个整体的动画,角色比较灵活Quake2([kwe?k]vi.发抖颤抖;)中使用了这种动画;
b、 单一网络模型动画由一个完整嘚网格模型构成,在动画序列的关键帧里记录各个顶点的原位置及其改变量然后插值运算实现动画效果,角色动画较真实
c、骨骼动画,广泛应用的动画方式集成了以上两个方式的优点,骨骼按角色特点组成一定的层次结构由关节相连,可做相对运动皮肤作为单一網格蒙在骨骼之外,决定角色的外观皮肤网格每一个顶点都会受到骨骼的影响,从而实现完美的动画
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。