最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

unity3d知识点

来源:动视网 责编:小OO 时间:2025-09-24 12:15:57
文档

unity3d知识点

unity3d知识点【篇一:unity3d知识点】数据结构和算法很重要!图形学也很重要!大的游戏公司很看重个人基础,综合能力小公司看你实际工作能力,看你的demo。1.什么是渲染管道?是指在显示器上为了显示出图像而经过的一系列必要操作。渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。主要步骤有:本地坐标-视图坐标-背面裁剪-光照-裁剪-投影-视图变换-光栅化。2.如何优化内存?有很多种方式,例如1.压缩自带类库;2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接d
推荐度:
导读unity3d知识点【篇一:unity3d知识点】数据结构和算法很重要!图形学也很重要!大的游戏公司很看重个人基础,综合能力小公司看你实际工作能力,看你的demo。1.什么是渲染管道?是指在显示器上为了显示出图像而经过的一系列必要操作。渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。主要步骤有:本地坐标-视图坐标-背面裁剪-光照-裁剪-投影-视图变换-光栅化。2.如何优化内存?有很多种方式,例如1.压缩自带类库;2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接d
unity3d 知识点 【篇一: unity3d 知识点】

数据结构和算法很重要!图形学也很重要!大的游戏公司很看重个

人基础,综合能力小公司看你实际工作能力,看你的 demo 。

1.什么是渲染管道?

是指在显示器上为了显示出图像而经过的一系列必要操作。

渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另

一个坐标系中去。

主要步骤有:

本地坐标 - 视图坐标 - 背面裁剪 - 光照- 裁剪- 投影- 视图变换 - 光栅化。

2.如何优化内存?

有很多种方式,例如

1.压缩自带类库;

2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接 destroy

掉;

3.释放 assetbundle 占用的资源;

4.降低模型的片面数,降低模型的骨骼数量,降低贴图的大小;

5.使用光照贴图,使用多层次细节 (lod) ,使用着色器 (shader) ,使用

预设(prefab) 。

3.动态加载资源的方式? 1.resources.load();

2.assetbundle

1.通过 resources 模块,调用它的 load 函数:可以直接 load 并返

回某个类型的 object ,前提是要把这个资源放在 resource 命名的文

件夹下, unity 不关有没有场景引用,都会将其全部打入到安装包中。

resources.load();

3.通过 assetdatabase.loadasset :这种方式只在 editor 范围内有

效,游戏运行时没有这个函数,它通常是在开发中调试用的

【assetdatabase 资源数据库】

区别:resources 的方式需要把所有资源全部打入安装包,这对游

戏的分包发布(微端)和版本升级( patch )是不利的,所以 unity

推荐的方式是不用它,都用 bundle 的方式替代,把资源达成几个小

的 bundle ,用哪个就 load 哪个,这样还能分包发布和 patch ,但是

在开发过程中,不可能没更新一个资源就打一次 bundle ,所以

editor 环境下可以使用 assetdatabase 来模拟,这通常需要我们封

装一个 dynamic resource 的 loader 模块,在不同的环境下做不同 实现。 动态资源的存放有时我需要存放一些自己的文件在磁盘上,例如我 想把几个 bundle 放在初始的安装里, unity 有一个 streaming

asset 的概念,用于提供存储接口的访问。我们需要在编辑器建立一

个 streamingassets 名字的文件夹,把需要我们放在客户磁盘上的 动态文件放在这个文件夹下面,这样安装后,这些文件会放在用户

磁盘的指定位置,这个位置可以通过

application.streamingassetspath 来得到。

4.什么是协同程序?

在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行。

换句话说,开启协程就是开启一个线程。可以用来控制运动、序列

以及对象的行为。

5.你用过哪些插件?

一 界面制作 推荐: ngui

二 2d 游戏制作 推荐: 2d toolkit / 工具包,工具箱

三 可视化编程 推荐: playmaker

四 插值插件 推荐: itween,hotween

五 路径搜寻 推荐: simple path

六 美术及动画制作 推荐: ragespline,smooth moves

七 画面增强 推荐: bitmap2material,strumpy shader editor

八 摄像机管理 推荐: security camera

九 资源包 推荐: nature pack

十、造路插件 easyroads3d

6.使用 unity3d 实现 2d 游戏,有几种方式?

1.使用本身的 gui ;

2.把摄像机的 projection( 投影)值调为 orthographic( 正交投影 ),不

考虑 z 轴;

3.使用 2d 插件,如: 2dtoolkit ;

7.unity3d 中的碰撞器和触发器的区别?

触发器只是碰撞器身上的一个属性,碰撞器是触发器的载体。

碰撞器有碰撞的效果, istrigger=false ,可以调用

oncollisionenter/stay/exit 函数;

触发器没有碰撞效果, istrigger=true ,可以调用

ontriggerenter/stay/exit 函数。

a.如果不想让碰撞检测影响物体移动但是又想检测到碰撞这时用到触

发器(trigger )

b.触发器用来检测一个物件是否经过空间中的某个区域

8.物体发生碰撞的必要条件

两个物体都必须带有碰撞器 (collider) ,其中一个物体还必须带有

rigidbody 刚体。

8.1 charactercontroller 和 rigidbody 的区别?

charactercontroller 自带胶囊碰撞器,里面包含有刚体的属性;

rigidbody 就是刚体,使物体带有刚体的特征。

[charactercontroller: 角色控制器 ]rigidbody 具有完全真实物理的特

性,而 charactercontroller 可以说是受限的 rigidbody ,具有一定 的物理效果但不是完全真实的

9.在物体发生碰撞的整个过程中,有几个阶段,分别列出对应的函数

三个阶段

1.oncollisionenter( 进入碰撞 )

2.oncollisionstay ( 逗留碰撞 )

3.oncollisionexit( 当退出碰撞 )

10.unity3d 的物理引擎中,有几种施加力的方式,分别描述出来

rigidbody.addforce/addforceatposition ,都在 rigidbody 系列函

数中。

11.什么叫做链条关节?

hinge joint ,可以模拟两个物体间用一根链条连接在一起的情况,

能保持两个物体在一个固定距离内部相互移动而不产生作用力,但

是达到固定距离后就会产生拉力。

12.物体自身旋转使用的函数? transform.rotate()

13.物体围绕某点旋转使用的函数? transform.rotatearound()

14.unity3d 提供了一个用于保存和读取数据的类 (playerprefs) ,请

列出保存和读取整形数据的函数

playerprefs.setint() playerprefs.getint()

15.unity3d 提供了几种光源类型,分别是哪几种?

四种。

平行光: directional light

点光源: point light

聚光灯: spot light 区域光源: area light

16.unity3d 脚本从唤醒到销毁有着一套比较完整的生命周期,请列

出系统自带的几个重要的方法。

awake — start — update — fixedupdate — lateupdate — ongui —

reset — ondisable — ondestroy

17.物理更新一般放在哪个系统函数里?

fixedupdate ,每固定帧绘制时执行一次,和 update 不同的是

fixedupdate 是渲染帧执行,如果你的渲染效率低下的时候

fixedupdate 调用次数就会跟着下降。 fixedupdate 比较适用于物理

引擎的计算,因为是跟每帧渲染有关。 update 就比较适合做控制。

18.移动摄像机的动作放在哪个系统函数中,为什么放在这个函数中?

lateupdate ,在每帧执行完毕调用,它是在所有 update 结束后才调,

比较适合用于命令脚本的执行。官网上例子是摄像机的跟随,都是

在所有 update 操作完才跟进摄像机,不然就有可能出现摄像机已经

推进了,但是视角里还未有角色的空帧出现。

19.当游戏中需要频繁创建一个物体时,我们需要怎样做能够节省内

存?

使用预制物体对象 prefab ,然后复制创建。

20.在场景中放置多个 camera 并同时处于活动状态会发生什么?

游戏界面可以看到很多摄像机的混合。

21.请描述 prefab 的作用,并描述如何在移动设备的环境下恰当的使

用它?

prefab 在实例化的时候用到,主要用于经常会用到的物体,属性方

便修改。

22.请简述 unity3d 下如何安全的在不同工程间迁移 asset 数据,请

列举出三种方法?

1.可以把 assets 目录和 library 目录一起迁移

2.导出包

3.用 unity 带的 assets server 功能

23.请描述游戏动画有哪几种,以及其原理? 主要有关节动画、骨骼动画、单一网格模型动画 (关键帧动画 )。

a.关节动画:把角色分成若干部分,一个部分对应一个网格模型,

部分的动画连接成一 个整体的动画,角色比较灵活, quake2 中使用 这种动画;

b.骨骼动画,广泛应用的动画方式,集成了以上两个方式的优点,骨

骼按角色特点组成一定的层次结构,有关节相连,可做相对运动,

皮肤作为单一网格蒙在骨骼之外,决定角色的外观;

c.单一网格模型动画由一个完整的网格模型构成,在动画序列的关键

帧里记录各个顶点的原位置及其改变量,然后插值运算实现动画效

果,角色动画较真实。

24.请描述为什么 unity3d 中会发生在组件上出现数据丢失的情况

一般是组件上绑定的物体对象被删除了

25.alpha blend 工作原理

alpha blend 实现透明效果,不过只能针对某块区域进行 alpha 操作,

透明度可设。

26.写出光照计算中的 diffuse 的计算公式

计算公式为: idiffuse = dintensity*dcolor*n.l ; (dintensity 表示漫

反射强度,

dcolor 表示漫反射光颜色,

n 为该点的法向量,

l 为光源向量 其中 n 与 l 点乘,如果结果小于等于 0,则漫反射为 0。

27.lod 是什么,优缺点是什么?

lod(level of detail) 多层次细节,是最常用的游戏优化技术。它按照

模型的位置和重要程度决定物体渲染的资源分配,降低非重要物体

的面数和细节度,从而获得高效率的渲染运算。

28.两种阴影判断的方法、工作原理。

a.阴影由两部分组成:本影与半影

a.本影:景物表面上那些没有被光源直接照射的区域(全黑的轮廓分

明的区域)

b.半影:景物表面上那些被某些特定光源直接照射但并非被所有特定

光源直接照射的区域(半明半暗区域)

求阴影区域的方法:做两次消隐过程 一次对每个光源进行消隐,求出对于光源而言不可见的区域 l;

一次对视点的位置进行消隐,求出对于视点而言可见的面 s;

shadow area= l ∩ s

b.阴影分为两种:自身阴影和投射阴影

自身阴影:因物体自身的遮挡而使光线照射不到它上面的某些可见

工作原理:利用背面剔除的方法求出,即假设视点在点光源的位置。

投射阴影:因不透明物体遮挡光线使得场景中位于该物体后面的物

体或区域受不到光照照射而形成的阴影

工作原理:从光源处向物体的所有可见面投射光线,将这些面投影

到场景中得到投影面,再将这些投影面与场景中的其他平面求交得

出阴影多边形,保存这些阴影多边形信息,然后再按视点位置对场

景进行相应处理得到所要求的视图(利用空间换时间,每次只需依

据视点位置进行一次阴影计算即可,省去了一次消隐过程)若是动

态光源此方法就无效了。

29.vertex shader 是什么,怎么计算?

顶点着色器

顶点着色器是一段执行在 gpu 上的程序,用来取代 fixed pipeline

中的 transformation 和 lighting ,vertex shader 主要操作顶点。

vertex shader 对输入顶点完成了从 local space 到 homogeneous

space (齐次空间)的变换过程, homogeneous space 即

projection space 的下一个 space 。在这其间共有 world

transformation, view transformation 和 projection

transformation 及 lighting 几个过程。

30.mipmap 是什么,作用?

mipmapping :在三维计算机图形的贴图渲染中有常用的技术,为加

快渲染进度和减少图像锯齿,贴图被处理成由一系列被预先计算和

优化过的图片组成的文件,这样的贴图被称为 mipmap 。

31.机试:二选一

1.用代码实现第三角色控制器

2.实现吊机吊物体的功能

【吊机吊物体需要节点挂接和坐标系转换】

32.反向旋转动画的方法是什么?

【反转动画,讲动画的速度调到 -1,碰撞时,被碰撞物体与碰撞物体

有 collider 组件,碰撞物体有刚体组件,或角色碰撞得包含角色组

件 or 改变 animation.speed 】

33.碰撞检测需要物体具备什么属性?

能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利

用触发器

【physics.overlapsphere 相交球检测碰撞,碰撞检测需要包围盒】

34.获取、增加、删除组件的命令分别是什么?

获取:getcomponent 增加:addcomponent 删除:destroy

35.animation.crossfade 命令作用是: (c)

a.动画放大 b. 动画转换 c. 动画的淡入为其他动画

36.application.loadlevel 命令为: (a)

a 加载关卡 b. 异步加载关卡 c. 加载动作

37.调试记录到控制台的命令是什么?

debug.log();

39.编辑器类存放路径是什么? 工程目录下的 assets/editor 文件夹下。

40.使用原生 gui 创建一个可以拖动的窗口命令是什么?

gui.dragwindow();

41.localposition 与 position 的使用区别? localposition :自身位置,相对于父级的变换的位置。

、position :在世界坐标 transform 的位置

42.写一个计时器工具,从整点开始计时,格式为: 00:00:00

43.写出 animation 的五个方法

addclip 添加剪辑、

blend 混合、

play 播放、

stop 停止、

sample 采样

44.怎么拿到一个对象上脚本的方法 gameobject.getcomponent ();

45.请简述向量的点乘,向量的叉乘以及向量归一化的几何意义?

点乘的几何意义是:计算两个向量之间的夹角,以及在某一方向上

的投影;

叉乘的几何意义是:创建垂直于平面,三角形,或者多边形的向量;

46.unity3d 是否支持写成多线程?如果支持的话要注意什么?

支持:如果同时你要处理很多事情或者与 unity 的对象互动小可以用

thread, 否则使用 coroutine.

注意:c# 中有 lock 这个关键字 ,以确保只有一个线程可以在特定时间

内访问特定的对象

47.unity3d 中的协程 (coroutine) 和 c# 线程之间的区别是什么?

unity3d 没有多线程的概念,不过 unity 也给我们提供了

startcoroutine (协同程序)和 loadlevelasync (异步加载关卡)

后台加载场景的方法。

startcoroutine 为什么叫协同程序呢,所谓协同,就是当你在

startcoroutine 的函数体里处理一段代码时,利用 yield 语句等待执

行结果,这期间不影响主程序的继续执行,可以协同工作。而

loadlevelasync 则允许你在后台加载新资源和场景,所以再利用协

同,你就可以前台用 loading 条或动画提示玩家游戏未卡死,同时

后台协同处理加载的事宜

asynchronous[eskr?n?s].synchronous 同步

48.请简述四元数的作用以及四元数相对于欧拉角的优点

a.四元数一般定义如下: q=w+xi+yj+zk 其中 w,x,y,z 是实数。同时,

有: i*i=-1 j*j=-1 k*k=-1

b.四元数也可以表示为: q=[w,v]

有多种方式可表示旋转,如 axis/angle 、欧拉角 (euler angles) 、矩

阵(matrix) 、四元组等。

相对于其它方法,四元组有其本身的优点:

a.四元数不会有欧拉角存在的 gimbal lock 问题[万向节死锁 ]

b.四元数由 4 个数组成,旋转矩阵需要 9 个数

c.两个四元数之间更容易插值

d.四元数、矩阵在多次运算后会积攒误差,需要分别对其做规范化

(normalize) 和正交化 (orthogonalize) ,对四元数规范化更容易 e.与

旋转矩阵类似,两个四元组相乘可表示两次旋转

49.请简述 onbecamevisible 及 onbecameinvisible 的发生时机,

以及他们执行的意义?

当 renderer( 渲染器 )在任何相机上都不可见时调用:

onbecameinvisible

当 renderer( 渲染器 )在任何相机上可见时调用: onbecamevisible

50.动画层 (animation layers) 的作用是什么?

动画层作为一个具有层级动画编辑概念的工具,可以用来制作和处

理任何类型的动画

51.请说出 4 种面向对象的设计原则,并分别简述它们的含义。

1) 单一职责原则 (the single responsiblity principle ,简称

srp ):一个类,最好只做一件事,只有一个引起它的变化 .

2) 开放-封闭原则 (the open -close principle ,简称 ocp ):

对于扩展是开放的,对于更改是封闭的

3) liskov 替换原则( the liskov substitution principle, 简称 lsp ):

子类必须能够替换其基类

4) 依赖倒置原则( the dependency inversion pricinple ,简称

dip ):依赖于抽象

5) 接口隔离原则 (the interface segregation principle ,简称

isp ):使用多个小的专门的接口,而不要使用一个大的总接口。

52.material 和 physic material 区别?

physicmaterial 物理材质:物理材质描述,如何处理物体碰撞(摩

擦,弹性)。

material 材质(材质类)为了获得一个对象使用的材质,可以使用

renderer.materia 属性:

53.法线贴图 、cg 动画

a.法线贴图:是在原物体的凹凸表面的每个点上均作法线,通过 rgb

颜色通道来标记法线的方向,你可以把它理解成与原凹凸表面平行

的另一个不同的表面,但实际上它又只是一个光滑的平面。

b.cg 动画:原为 computer graphics 的英文缩写。随着以计算机为

主要工具进行视觉设计和生产的一系列相关产业的形成 ,国际上习惯 将利用计算机技术进行视觉设计和生产的领域通称为 cg 。它既包括 技术也包括艺术,几乎囊括了当今电脑时代中所有的视觉艺术创作 活动,如平面印刷品的设计、网页设计、三维动画、影视特效、多

媒体技术、以计算机辅助设计为主的建筑设计及工业造型设计等。

ngui (nugui1 、ngui2 )

54. 如何销毁一个 unityengine.object 及其子类?

使用 destroy() 方法;

55、请描述游戏动画有哪几种,以及其原理。

主要有关节动画、单一网格模型动画 (关键帧动画 )、骨骼动画。

a、关节动画把角色分成若干部分,一个部分对应一个网格模型,

部分的动画连接成一个整体的动画,角色比较灵活 quake2

([kwe?k]vi. 发抖,颤抖;)中使用了这种动画 ;

b、 单一网络模型动画由一个完整的网格模型构成,在动画序列的关

键帧里记录各个顶点的原位置及其改变量,然后插值运算实现动画

效果,角色动画较真实。

c、骨骼动画,广泛应用的动画方式,集成了以上两个方式的优点,

骨骼按角色特点组成一定的层次结构,由关节相连,可做相对运动,

皮肤作为单一网格蒙在骨骼之外,决定角色的外观。皮肤网格每一

个顶点都会受到骨骼的影响,从而实现完美的动画

56、下面哪种做法可以打开 unity 的 asset store

windows - asset store

57、mecanim 系统中, body mask 的作用是?

指定身体的某一部分是否参与渲染

58、以下哪种操作步骤可以打开 unity 编辑器的 lightmapping 视图? windows -- lightmapping

59、关于光照贴图

a:使用光照贴图比使用实时光源渲染要快

b:可以降低游戏内存消耗

c、多个物体可以使用同一张光照贴图

60、关于 vector3 的 api ,以下说法正确的是?

vector3.forward 与 vector3 (0,0,1 )是一样的意思;

61、 什么是导航网格( navmesh )?

一种用于实现自动寻路的网格

62、什么是局部坐标,什么是世界坐标? 世界坐标是不会变的,一直以世界坐标轴的 xyz 为标准。局部坐标

其实就是自身的坐标,会随着物体的旋转而变化的。

63、itween 插件的作用是什么, itween 作用于世界坐标还是局部坐

标,请列举出 3 个其常用方法?

itween 是一个动画库,作者创建它的目的就是最小的投入实现最大

的产出。让你做开发更轻松,用它可以轻松实现各种动画,晃动,

旋转,移动,褪色,上色,控制音频等等 “

方法:

a、moveto 物体移动 ;

b、colorto :随着时间改变对象的颜色组;

c、lookto :随时间旋转物体让其脸部朝向所提供的 vector3 或

transform 位置

、请简述 ngui 中 panel 和 anchor 的作用

anchor 包含 uianchor 脚本。 uianchor 的功能是把对象锚定在屏幕

的边缘(左上,左中,左下,上,中,下,右上,右中,右下),

或缩放物体使其匹配屏幕的尺寸 panel 对象有 uipanel 脚本,

uipanel 是一个容器,它将包含所有 ui 小部件,并负责将所包含的

部件组合优化、承载,以减少绘制命令的调用。

65、unity 摄像机有几种工作方式,分别是什么?

perspective 透视摄像机和 orthographic 正交摄像机

66、layermask.nametolayer() 这个方法有什么作用?

layermask 的使用是按位操作的, layermask.nametolayer(players)

返回该 layer 的编号。

67、请描述 meshrender 中 material 和 shader 的区别?

shader (着色器)实际上就是一小段程序,它负责将输入的 mesh

(网格)以指定的方式和输入的贴图或者颜色等组合作用,然后输

出。绘图单元可以依据这个输出来将图像绘制到屏幕上。输入的贴

图或者颜色等,加上对应的 shader ,以及对 shader 的特定的参数

设置,将这些内容( shader 及输入参数)打包存储在一起,得到的

就是一个 material (材质)

shader 大体上可以分为两类 :

表面着色器( surface shader ) 、

片段着色器( fragment shader )

68、什么是矢量图

矢量图:计算机中显示的图形一般可以分为两大类 —— 矢量图和位

图。矢量图使用直线和曲线来描述图形,这些图形的元素是一些点、

线、矩形、多边形、圆和弧线等等,它们都是通过数学公式计算获

得的。例如一幅花的矢量图形实际上是由线段形成外框轮廓,由外

框的颜色以及外框所封闭的颜色决定花显示出的颜色。由于矢量图

形可通过公式计算获得,所以矢量图形文件体积一般较小。矢量图

形最大的优点是无论放大、缩小或旋转等不会失真;最大的缺点是

难以表现色。

69. 上机题:用鼠标实现在场景中拖动物体,用鼠标滚轮实现缩放

(用一个 cube 即可)。

70、 以下哪个函数在游戏进入新场景后会被马上调用? monobehaviour.onlevelwasloaded 71、unity3d 方法执行的顺序:

1、awake( ) ,2、start( ) (激活时的初始化代码)

3、update( ) 【fixupdate 、lateupdate 】、

4、ongui (渲染模块)

5、然后是卸载模块( teardown ),这里主要有两个方法

ondisable( ) 与 ondestroy( )

72.数学函数

mathf.round; 四舍五入; mathf.clamp  ; mathf.lerp 插值;

【篇二: unity3d 知识点】

毕业 2 年,去年开始 9 月开始转作手机游戏开发,从那时开始到现

在一共面的游戏公司 12 家,其中知名的包括搜狐畅游、掌趣科技、

蓝港在线、玩蟹科技、天神互动、乐元素。开始做虚幻 3 游戏程序

开发,现在转作 unity3d 。面试了 12 家公司大概总结一下面试的常

考方向(以下排名不分先后,红色是需要着重了解的,但不仅限于

此,如果有错,望指正)。

1、面试方式:所有面试,只有 3 家有面试题,蓝港是其中之一,题

量 2-4 页不等;其他都是 1 对 1,2 对 1,或者 3 对 1 直接面试;主要 考 c# 、unity 基础,大公司问的不难,但问得深,基础必须扎实。

2、3d 图形学:比如渲染管道流程。

3、数学、数据结构:二维矩阵、三维矩阵相乘、转置;向量点乘和

叉乘方法和意义;二叉树、堆栈;线性表、链表。

4、unty3d :熟悉 ngui (原理机制);物理引擎; drawcall 优化;

ai、自动寻路;做 unity3d 遇到的坑( unity 吭特多,只有亲手做过

才知道),动画系统。

5、c# 语言: event 和委托;抽象类和接口;垃圾回收器。

6、英语能力:外语文档阅读能力顺畅,因为很多时候要去国站

了解新技术,所以这个是做的好的关键。面试的时候,也会给你一

篇英文技术文档给你翻译。

7、思想: mvc 思想、代码耦合性;代码编写风格(代码头部注释、

方法注释);爱玩的游戏以及对它的评价(缺点,怎么改进更好);

如果让你设计一个 mmo ,你应该怎么做等。

下面举几个面试的具体例子:

1、一个物体,它顶上有个摄像机,摄像机离他越来越远,最后让物

体消失(不是隐藏它)。

2、鼠标点击一个物体,然后屏幕上显示他的坐标和名称信息。

参看面试题:

其他参考资料:

ngui 机制:

网上找到一张 unity3d 知识体系大纲图,可以对照着学习,有利于

形成思维体系。

【篇三: unity3d 知识点】

这段时间在做 unity 的项目,这差不多是我的第一次实战啊 ~然后公

司来了实习的童鞋要学 unity ,但是我一向不靠谱啊,所以只能帮他

们稍微梳理下基础的东西了啊,唉 ~学长只能帮你们到这里了 ~顺便

就把自己这两天整理的一些基础知识分享上来了,闲话不多说 ~

美术部分:

 unity 的话主要还是分两块吧,第一块是美术(自己都不懂 ~这里

允许我稍微带过一下吧 ~),美术的话主要包括 3d 模型、材质、纹

理(贴图)这几部分吧,当然你也可以说还有 shader (着色器),

unity 本身拥有几十种 shader ,也可以根据自己的需要使用 shaderlab 语言来编写 shader ,这个对我来说相当有难度,所以一

般只用 unity 自带的和网上 “流传 ”的。 接下来是程序方面的: 基本组成:

scene 场景,类似于 flash 中的 stage ,用于放置各种对象。

gameobject ,可以携带各种 component (每个 gameobject 至

少带有 transform 组件,所有的组件都可以从顶部菜单 component

里面找到并添加给游戏对象)。

component 组件,附加在 gameobject 上,不同的组件可以使

gameobject 具有不同的属性, transform 、碰撞器、刚体、渲染器

等都是组件,脚本也是组件的一种,对象所表现出来的行为都是由

组件实现的。

脚本语言:

c# 、javascript 、boo (前两者使用较为广泛,网上教程以前两者

为主,个人推荐 c# ),一般的继承 monobehaviour 类的脚本都需

要依附的场景中的对象上才能被执行。

用户图形界面部分( gui ):

用于制作按钮、文本显示、滚动条、下拉框等常用图形操作界面元

素,使用 guiskin 和 guistyle 可以自定义样式)系统自带 gui 各类

gui 插件, ngui 、ezgui 等。

预制:

用于程序运行时,动态实例化对象的 “母体 ”,比如,在射击类游戏

中,子弹的生成就可以使用实例化预制的方式来实现,这就好比是

flash 中的各种 display 类,你可以定义它的各种属性方法,然后在

使用的时候直接实例化一个实例。在 project 面板右击选择 creat —

—prefab 新建一个预制,将 hierarchy 面板中要制成预制的对象拖

到这个新建预制上即可。

标签和层:

文档

unity3d知识点

unity3d知识点【篇一:unity3d知识点】数据结构和算法很重要!图形学也很重要!大的游戏公司很看重个人基础,综合能力小公司看你实际工作能力,看你的demo。1.什么是渲染管道?是指在显示器上为了显示出图像而经过的一系列必要操作。渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。主要步骤有:本地坐标-视图坐标-背面裁剪-光照-裁剪-投影-视图变换-光栅化。2.如何优化内存?有很多种方式,例如1.压缩自带类库;2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接d
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top