unity优化Unity 面试精选unity3D技术分享

Unity3d高频率面试题目(选择题)

2016-07-13  本文已影响1396人  好怕怕

Material(材质球)

【选择(多选或者单选)】

  1. 在Unity中,材质(Materials)主要是用来把()贴到游戏对象上。(AB)
    A
    Mesh
    B
    Particle Renderers
    C
    Texture
    D
    Color

2.判断题:在
Unity
中,若修改了材质(
Material
)的颜色,例如:
renderer.material.color= Color.green;则会重新创建一个材质(Material
)。 (
A)

A、正确
B
、错误
C
、不确定

3.判断题:在
Unity
中,若修改了材质(
Material
)的纹理(
Texture
),例如:
renderer.material.mainTexture = texture;则会重新创建一个材质(Material
)。 (
A)

A、正确
B
、错误
C
、不确定

填空:

  1. 材质(Materials
    )用来把
    网格(Mesh

    或 粒子渲染器(Particle Renderers

    贴到游戏对象上

  2. 任何材质的属性取决于选定的着色器(shader

    而发生变化。

  3. 从一个源Shader
    字符串创建一个材质所采用的方法是:
    renderer.material = new Material (shader ) ; 。

  4. 获得一个对象使用的材质,可以通过使用 Renderer.materia l属性。

Texture(纹理)

选择:

  1. 下列选项中可以被渲染的纹理是(C)

A、
Texture B

Movie Texture C

Render Texture D

Texture2D

2.纹理(
Texture
)可以应用的光源有(
ABC)

A、聚光灯
B
、点光源
C
、方向光
D
、区域光

3.纹理(
Texture
)的循环模式有(
B)种

A、一种  

B
、 两种
C
、 三种

4.纹理(
Texture
)的过滤模式(
Filter Mode)有(C)种

A、一种
B
、 两种
C
、 三种

填空:

  1. Texture2D.Apply()方法实际上是应用前面texture.SetPixel (int x, int y, Color color);和texture.SetPixels (int x, int y, Color color); 的更改。

  2. 若对纹理(Texture
    )通过
    texture.SetPixel (int x,int y, Color color)设置纹理像素的颜色,则需调用Texture2D.Apply()方法更新的显卡上。

  3. Texture2D.Apply()方法实际上将结果是以 像素 为单位更新到显卡上。

  4. Texture2D.GetPixel(int x

    int y
    );此方法返回
    一个像素的颜色(Color

  5. Texture2D.GetPixel(int x

    int y
    )方法中,
    如果这个像素的坐标超出边界(大于这个纹理的宽/
    高或者小于
    0
    ),那么它将会以纹理的
    循环模式 为准进行限制或重复。

  6. 若要快速的从纹理上获取一大块像素的颜色,采用 Texture2D.GetPixels(int x
    ),此方法中参数
    x
    表示
    Mip等级

  7. 纹理(Texture
    )的循环模式:
    Repeat
    (重复)表示:
    纹理重复的平铺本身;Clamp
    (钳制)表示:
    纹理的边缘无限延伸。

  8. 纹理(Texture
    )的循环模式:
    Repeat(重复)
    、Clamp(钳制)

  9. 纹理(Texture
    )的过滤模式(
    Filter Mode):Point点模式
    、Bilinear双线性
    、Trilinear三线性

  10. 纹理(Texture
    )的各向异性级别(
    Aniso Level
    )表示:
    在一个过高角度看纹理时提高纹理质量 。

  11. 纹理(Texture
    )可以应用的光源有:
    聚光灯 、点光源 、方向光 。

  12. 对于方向光纹理将平铺,所以在纹理检视面板中必须设置边缘模式为重复(Repeat

    ;对于聚光灯,你应该保持你的cookie
    纹理的边缘为纯黑色,所以在纹理检视面板中,设置边缘模式为
    钳制(Clamp

  13. 在Desktop
    平台下,最常见的漫反射纹理格式 为压缩的
    RGB纹理

  14. 在Desktop
    平台下,漫反射和高光控制纹理的主要格式:压缩的
    RGBA纹理

粒子系统

选择:

  1. Unity中一个典型的粒子系统是一个对象,它包含哪了三个组件(ABD)

A、 一个粒子发射器B、一个粒子动画器C、一个粒子碰撞器D、和一个粒子渲染器。

  1. 如果需要粒子对世界有影响,则需要添加一个(C)组件到游戏对象上

A、 一个粒子发射器 B、一个粒子动画器

C、一个粒子碰撞器 D、一个粒子渲染器。

  1. 粒子系统监视器每次只显示 ()个粒子系统(A)

A、一个
B
、两个
C
、 多个

  1. 如果需要一个静态的粒子系统,可以用()和()来实现(AD)

A、 一个粒子发射器 B、一个粒子动画器

C、一个粒子碰撞器 D、一个粒子渲染器。

  1. 网格粒子发射器(Mesh Particle Emitter)的Emitter Velocity Scale
    (发射器速度比例)此属性
    只适用于模拟()被启用时。(A)

A、世界空间
B
、本地空间
C
、两者都可以

6.网格粒子发射器(
Mesh Particle Emitter
)的
Emitter Velocity Scale
(发射器速度比例)此属性
只适用于模拟世界空间被()时。(B)

A、关闭 B、 启用 C、不确定

7.椭球粒子发射器的最小发射器范围属性决定了可以产生粒子的椭球的内部深度,若将其设置为
1
,将限制产生地点为(
C)。

A、椭球内部
B
、椭球中心
C
、椭球最外层
D
、椭球中心到最外层

8.椭球粒子发射器的最小发射器范围属性决定了可以产生粒子的椭球的内部深度,若将其设置为
0
,将允许()的范围内任何地方产生粒子
1
,将限制产生地点为(
D)。

A、椭球内部
B
、椭球中心
C
、椭球最外层
D
、椭球中心到最外层

【多选题】

1、以下哪个是可以变长的数组【 】

A Array B string[] C string[N] D ArrayList

2、下列叙述中有关
Prefab
说法错误的是?【 】

A、
Prefab
是一种资源类型

B、
Prefab
是一种可以反复使用的游戏对象

C、
Prefab
可以多次在场景进行实例

D、实例出的
GameObject
上的组件信息一经改变,其对应的
Prefab
也会自动改变

3、下面关于
playerprefs
的用法错误的是【 】

A:
PlayerPrefs.SetInt("Player Score", 10);

B:
int score = PlayerPrefs.GetInt("Player Score");

C:
bool res = PlayerPrefs.HasKey("Player Score");

D: bool res = PlayerPrefs.RemoveKey(“
Player Score

);

4、下列选项中有关
Animator
的说法正确的是?【 】

A、
Animator

Unity
引擎中内置的组件

B、任何一个具有动画状态机功能的
Game Object
都需要一个
Animator
组件

C、它主要用于角色行为的设置,包括
State Machines
、混合树
Blend Trees
以及通过脚本控制的事件

D、
Animator

Animation
组件的用法是相同的

5、要显示带透明效果的贴图,可以使用哪种
shader
【 】

A.Diffuse B.Specular

C.Vertex Lit D.Alpha Blended

6、以下哪一个选项不属于
Unity
引擎所支持的视频格式文件? 【 】

A、后缀名为
mov
的文件

B、后缀名为
mpg
的文件

C、后缀名为
avi
的文件

D、后缀名为
swf
的文件

7、以下哪组摄像机中
Normalized View Port Rect
的数值设置可以使得摄像机显示的画面位于
1280*720
分辨率的屏幕画面的右上角。 【 】

A、
X=640

Y=-360

W=640

H=360

B、
X=640

Y=0

W=640

H=360

C、
X=0.5

Y=0

W=0.5

H=0.5

D、
X=0.5

Y=0.5

W=0.5

H=0.5

8、下面不属于
Camera CleaFlags
选项的有【 】

A:
Sky box

B:
solid Color

C:
Depth Only

D:
Frame Only

9、在对
2D
纹理的设置中,什么用途的纹理通常可以不强制使用
2
次幂的宽高数值? 【 】

A、用于制作天空盒的纹理

B、用于
UI
元素的纹理

C、用于三维模型贴图的纹理

D、用作
Cookie
贴图的纹理

10、在
Unity
工程的一个场景中,需控制多个摄像机的渲染画面的前后层次,可以通过
Camera
组件中哪个选项来进行设置。【 】

A、
Field of view

B、
Depth

C、
Clear Flags

D、
Rendering Path

11、下列选项中,关于
Transform
组件的
Scale
参数的描述错误
?
【 】

A、
Transform
组件的
Scale
参数不会影响
ParticleSystem
产生粒子的大小

B、
Transform
组件的
Scale
参数不会影响
GUITexture
的大小

C、添加
Collider
组件后的
GameObject
,其
Collider
组件的尺寸不受
Transform
组件的
Scale
参数影响

D、添加
Rigidbody
组件后的物体,大小将不再受
Transform
组件中
Scale
参数的影响

12、某个自定义脚本中有个自定义变量
public int a = 1;

Inspector
中将该值手动改为
2
,随后在脚本中将该变量的初始值改为
3
,随后点击运行,在游戏过程中该值被改为

程序停止后,
a
的值为 【 】

A.1 B.2 C.3 D.4

13、以下哪些类型的纹理能够在渲染时为三维模型的表面增加凹凸细节?【 】

A、
Normal map

B、
Cube map

C、
Light map

D、
Specular map

14、 在网络数据传输格式关于
XML

Json
描述正确的是【 】

A、
Json
数据存储量更小,而且解码效率比
XML
快。

B、
XML
是当前网络服务中最通用的数据传输格式,是一种类似于
HTML
的语言

C、
JSON
是一个较轻量级的数据交换格式,易于人们阅读和编写。采用完全独立的语

   言文本格式,但也使用了类似c

语言家族的习惯。

D、
JSON
在流行度上要比
XML
强很多

填空题

1、发布
iOS, Android
平台时所需要选择的
Splash Image
的作用是


2、
LOD
的优点


3、物体发生碰撞时,有


个阶段,各个阶段分别对应的函数


____________________________________________________________________________;

4 string如何转成
int
例子
string str = "123456"


5等待
3
秒后继续执行后续代码的写法


解答题

1、
unity3d
从唤醒到销毁有一段生命周期,请列出系统自己调用的几个重要方法
Update()

Start()

Awake()

LateUpdate()
的先后顺序

2、
Unity3D
摄像机
Camera

Clear Flags
提供几种选项?并简要说明各个选项的作用。

3、书写一个加载并销毁
GAMEOBJECT
的过程。文件存放在
Resources
文件夹下
test
目录下,文件名“
testObj

void LoadAndDestory()

{

}

4、现有资源
alltestAssetBunle.unity3d,
存放在
http://www.test.com/
根目录下,书写方法从网络获取资源,并实例化其中名为“
testobj
”的资源。

IEnumerator LoadFromNet()

{

}

5、列举一些常用的
SHADER

6写一个继承于
MonoBehaviour
的单件类

Public Class SingtonMono:
MonoBehaviour

{

}

7、写一个开始监听和结束监听事件的例子

填空

  1. 粒子渲染模式共有5种。

  2. 粒子渲染模式(ParticleRenderMode
    )中的
    Stretch表示在运动方向拉伸粒子。

  3. ParticleEmitter.emit的返回值类型:bool(布尔值)

  4. 粒子系统监视器每次只显示 1个粒子系统。

  5. 对于旧粒子系统,一个粒子系统是由三个独立部分组成:粒子发射器、粒子动画器、和粒子渲染器。

  6. 如果需要一个静态的粒子系统,可以用一个粒子发射器和粒子渲染器来完成。

  7. 粒子发射器、粒子动画器和粒子渲染器一起工作来创建、处理和显示粒子系统。

  8. 如果需要粒子对世界有影响,则需要添加一个粒子碰撞器组件到游戏对象上。

  9. 在粒子系统中,当粒子被发射时,其所有不同的速度相加成为最终的速度。

  10. 网格粒子发射器(Mesh Particle Emitter)在一个网格周围发射粒子。

  11. 网格粒子发射器(Mesh Particle Emitter)通过附属网格的顶点发射粒子。因此,你的网格区域的多边形越密集,粒子发射也就密集。

  12. 网格粒子发射器(Mesh Particle Emitter)的Emitter Velocity Scale
    (发射器速度比例)此属性
    只适用于模拟世界空间被启用时。

  13. 网格粒子发射器(Mesh Particle Emitter)的属性Emitter Velocity Scale
    (发射器速度比例),
    如果此属性设置为1
    ,粒子将
    在它们产生时精确继承发射器的变换(速度)。如果设置为2

    粒子将继承双倍的发射器变换速度。

  14. 单次发射器将Emission
    属性中(指定的数目)的所有的粒子
    一次性全部发射,然后停止发射粒子。

  15. 如果粒子发射器启用插值三角形,将允许粒子在网格的顶点之间产生。这个选项默认是关闭的,所以粒子仅会产生在顶点上。

  16. 椭球粒子发射器的最小发射器范围属性决定了可以产生粒子的椭球的内部深度。将其设置为0
    将允许从
    椭球中心到最外层的范围内任何地方产生粒子。将其设置为1
    将限制产生地点为
    椭球最外层。

  17. 粒子动画器(ParticleAnimator)随着时间移动粒子。

上一篇下一篇

猜你喜欢

热点阅读