我的unity面试题

更新时间:2024-05-08 19:15:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

·20140710·新塔公司·面试题目·C#/JAVA·

www.xinta.co合肥新塔软件主营业务:手机游戏和留学考试相关如有问题您可以电话联系招聘主管杨先生13365793004

试用期3500元左右,转正以后4000,试用期2-3个月选择新塔十大理由:

1顶级工作环境,精装修办公室

2硬件设施一流,工作电脑是4核心16G内存双显示器27寸配置+3春节假期长达14天4每年安排出游体检

5经常性组织篮球赛活动,鼓励运动6经常性有零食水果等等7午休提供床铺

8五险一金,带薪年假9提供宿舍

10转正给予20W股股份期权奖励,持续增加

题目做完后请直接把sln文件打包发到hr@xinta.co邮箱

1.2.3.4.5.给定一个数组N={1,2,3,4,5,6,7,8,9,10},请用控制台应用

程序打印出来所有两两元素的和,比如输出1+2=3,1+3=4...

给定一个数组N={1,2,3,4,5,6,7,8,9,10},请用控制台应用

程序在打印出来所有两两元素的加和里面,找出来只出现过两次的加和,比如5就只出现了2次,1+4=5,2+3=5,请列出所有出现过两次的加和

给定一个字符串,删除字符串中重复出现过的字符,比如给定”

ABCDEEAA”,输出”BCD”,就是把重复出现过的字符都去掉,只留下出现过一次的字符,要求兼容正常输入

递归输出F数组,1,2,3,5,8...该数组的生成规律是每一个数字

都是前两个数字的和,1+2=3,2+3=5,3+5=8,5+8=13...,切记一定是递归实现,不是循环实现

给你一个单词A=begin,任意交换单词A中字母顺序得到另外一个单词,

请输出所有可能的单词组合,如果A=cat,那么请输出cta,act,tac,tca,atc,包括原单词,总共六种不同的组合,现在A=begin,请列出所有组合

6.7.8.9.有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最

小值即可,不需要求出是哪两个数,比如数组是[1,4,8],那么两两之差绝对值如下,4-1=3,8-1=7,8-4=4,那么最小的差值绝对值是3,程序里给定数组是[1,3,5,7,9,12,14,18,25,30],不需要获取输入

控制台获得两个字符串,A=”21DSAF”,B=”2DA”,在A中找出所有B

的字符删除掉,然后输出C,”21DSAF”中删除”2DA”剩下C=”1SF”,要求能够兼容正常输入

给定一个正整数N,输出1到N的所有数字,然后统计所有这些数字里

出现过1的次数,比如输入3,123,1出现了1次,输入11,1234567891011,1出现了四次,要求能够兼容正常输入

1024的阶乘,就是1*2*3*4*.....*1024,统计结果数字末尾的零的个数,

这个数字非常大,无法通过正常得到乘积的方法来计算零的个数,请使用其他方法求出末尾零的个数

10.控制台程序输出您的期望正式薪资,即转正以后的工资,然后请用

程序输出小于等于您期望薪资的最小质数,质数就是因子只有1和它本身,比如2是质数,只有1和2能整除2,13是质数,只有1和13,20不是质数,因为有因子2和5。

比如期望薪资1500,小于等于1500的质数是1499,1499只有1和1499因子,没有任何其他因子可以整除1499

期望薪资1900,小于等于1900的最大质数是1899期望薪资2300,小于等于2300的最大质数是2297期望薪资2700,输出质数2699期望薪资3100,输出质数3089...

以上质数都是只有1和它本身的因子,没有任何其他数字可以整除该数。Material(材质球)

选择:

1.在Unity中,材质(Materials)主要是用来把()贴到游戏对象上。(AB)A、MeshB、ParticleRenderersC、TextureD、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)或粒子渲染器(ParticleRenderers)贴到游戏对象上

2.任何材质的属性取决于选定的着色器(shader)而发生变化。3.从一个源Shader字符串创建一个材质所采用的方法是:renderer.material=newMaterial(shader);。

4.获得一个对象使用的材质,可以通过使用Renderer.material属性。Texture(纹理)选择:

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

A、TextureB、MovieTextureC、RenderTextureD、Texture2D2.纹理(Texture)可以应用的光源有(ABC)A、聚光灯B、点光源C、方向光D、区域光3.纹理(Texture)的循环模式有(B)种

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

4.纹理(Texture)的过滤模式(FilterMode)有(C)种A、一种B、两种C、三种填空:

1.Texture2D.Apply()方法实际上是应用前面texture.SetPixel(intx,inty,Colorcolor);和texture.SetPixels(intx,inty,Colorcolor);的更改。2.若对纹理(Texture)通过texture.SetPixel(intx,inty,Colorcolor)设置纹理像素的颜色,则需调用Texture2D.Apply()方法更新的显卡上。3.Texture2D.Apply()方法实际上将结果是以像素为单位更新到显卡上。4.Texture2D.GetPixel(intx,inty);此方法返回一个像素的颜色(Color)。5.Texture2D.GetPixel(intx,inty)方法中,如果这个像素的坐标超出边界(大于这个纹理的宽/高或者小于0),那么它将会以纹理的循环模式为准进行限制或重复。

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

7.纹理(Texture)的循环模式:Repeat(重复)表示:纹理重复的平铺本身;

Clamp(钳制)表示:纹理的边缘无限延伸。

8.纹理(Texture)的循环模式:Repeat(重复)、Clamp(钳制)。9.纹理(Texture)的过滤模式(FilterMode):Point点模式、Bilinear双线性、Trilinear三线性。

10.纹理(Texture)的各向异性级别(AnisoLevel)表示:在一个过高角度看

纹理时提高纹理质量。

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

12.对于方向光纹理将平铺,所以在纹理检视面板中必须设置边缘模式为重复(Repeat);对于聚光灯,你应该保持你的cookie纹理的边缘为纯黑色,所以在纹理检视面板中,设置边缘模式为钳制(Clamp)。

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

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

选择:

1.Unity中一个典型的粒子系统是一个对象,它包含哪了三个组件(ABD)A、一个粒子发射器B、一个粒子动画器C、一个粒子碰撞器D、和一个粒子

渲染器。

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

A、一个粒子发射器B、一个粒子动画器C、一个粒子碰撞器D、一个粒子渲染器。3.粒子系统监视器每次只显示()个粒子系统(A)

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

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

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

5.网格粒子发射器(MeshParticleEmitter)的EmitterVelocityScale(发射器速度比例)此属性只适用于模拟()被启用时。(A)

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

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

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

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

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

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

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

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

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

3.ParticleEmitter.emit的返回值类型:bool(布尔值)。4.粒子系统监视器每次只显示1个粒子系统。

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

6.如果需要一个静态的粒子系统,可以用一个粒子发射器和粒子渲染器来完成。7.粒子发射器、粒子动画器和粒子渲染器一起工作来创建、处理和显示粒子系统。

8.如果需要粒子对世界有影响,则需要添加一个粒子碰撞器组件到游戏对象上。9.在粒子系统中,当粒子被发射时,其所有不同的速度相加成为最终的速度。10.网格粒子发射器(MeshParticleEmitter)在一个网格周围发射粒子。

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

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

13.网格粒子发射器(MeshParticleEmitter)的属性EmitterVelocityScale(发射器速度比例),如果此属性设置为1,粒子将在它们产生时精确继承发射器的变换(速度)。如果设置为2,粒子将继承双倍的发射器变换速度。14.单次发射器将Emission属性中(指定的数目)的所有的粒子一次性全部发射,然后停止发射粒子。

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

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

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

1、以下哪个是可以变长的数组【】AArrayBstring[]Cstring[N]DArrayList2、下列叙述中有关Prefab说法错误的是?【】A、Prefab是一种资源类型

B、Prefab是一种可以反复使用的游戏对象C、Prefab可以多次在场景进行实例

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

3、下面关于playerprefs的用法错误的是【】A:PlayerPrefs.SetInt(\Score\10);

B:intscore=PlayerPrefs.GetInt(\Score\C:boolres=PlayerPrefs.HasKey(\Score\

D:boolres=PlayerPrefs.RemoveKey(“PlayerScore”);

4、下列选项中有关Animator的说法正确的是?【】A、Animator是Unity引擎中内置的组件

B、任何一个具有动画状态机功能的GameObject都需要一个Animator组件C、它主要用于角色行为的设置,包括StateMachines、混合树BlendTrees以及通过脚本控制的事件

D、Animator同Animation组件的用法是相同的5、要显示带透明效果的贴图,可以使用哪种shader【A.DiffuseB.SpecularC.VertexLitD.AlphaBlended

6、以下哪一个选项不属于Unity引擎所支持的视频格式文件?【A、后缀名为mov的文件B、后缀名为mpg的文件C、后缀名为avi的文件D、后缀名为swf的文件

7、以下哪组摄像机中NormalizedViewPortRect的数值设置可以使得摄像机显示的画面位于1280*720分辨率的屏幕画面的右上角。【】A、X=640,Y=-360,W=640,H=360B、X=640,Y=0,W=640,H=360C、X=0.5,Y=0,W=0.5,H=0.5D、X=0.5,Y=0.5,W=0.5,H=0.5

8、下面不属于CameraCleaFlags选项的有【A:SkyboxB:solidColorC:DepthOnlyD:FrameOnly

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

A、用于制作天空盒的纹理B、用于UI元素的纹理

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

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

C、ClearFlagsD、RenderingPath

11、下列选项中,关于Transform组件的Scale参数的描述错误?【】A、Transform组件的Scale参数不会影响ParticleSystem产生粒子的大小B、Transform组件的Scale参数不会影响GUITexture的大小C、添加Collider组件后的GameObject,其Collider组件的尺寸不受Transform组件的Scale参数影响

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

12、某个自定义脚本中有个自定义变量publicinta=1;在Inspector中将该值手动改为2,随后在脚本中将该变量的初始值改为3,随后点击运行,在游戏过程中该值被改为4.程序停止后,a的值为【】A.1B.2C.3D.413、以下哪些类型的纹理能够在渲染时为三维模型的表面增加凹凸细节?【A、NormalmapB、CubemapC、LightmapD、Specularmap

14、在网络数据传输格式关于XML和Json描述正确的是【】A、Json数据存储量更小,而且解码效率比XML快。

B、XML是当前网络服务中最通用的数据传输格式,是一种类似于HTML的语言C、JSON是一个较轻量级的数据交换格式,易于人们阅读和编写。采用完全独立的语

言文本格式,但也使用了类似c语言家族的习惯。

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

1、发布iOS,Android平台时所需要选择的SplashImage的作用是____________________;2、LOD的优点_______________________________________________________________;

3、物体发生碰撞时,有_______个阶段,各个阶段分别对应的函数___________________

____________________________________________________________________________;

4string如何转成int例子stringstr=\

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

__________________________________________________________________解答题

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

2、Unity3D摄像机Camera的ClearFlags提供几种选项?并简要说明各个选项的作用。

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

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

}

5、列举一些常用的SHADER

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

PublicClassSingtonMono:MonoBehaviour{

}

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

unity3d面试题

1.哪种实时光源是Unity中没有的?

A:点光源B:方向光C:聚光灯D:日光灯2.

如何在Unity中创建地形系统?

TerrainTerrain

A:Terrain->CreateB:Component->CreateC:Asset->Create

Terrain

D:Windows->Create3.

A:TerrainC:ComponentD:Assets4.A:Edit

->->->->Wind

Terrain

Zone”?Zone

Zone

Other->Wind

->Zone

Light,以下步骤正确的是?

LightLight

->->

DirectionalDirectional

Light

WindZoneWind

以下哪种操作步骤可以在场景中添加“Wind

->CreatePhysics

->

CreateRendering->

B:GameObject

在Unity编辑器中创建一个Directional

Setting

Other->Light

->CreateRenderingDirectional

B:GameObjectC:ComponentD:Assets5.A:SkyboxB:SolidC:Depth6.

ColorOnly->

Directional

下列哪一项不属于Camera中的“ClearFlags”?

D:Background

以下哪种脚本语言是Unity编辑器所不支持的?A:JavaScriptB:C#C:BooD:Perl7.

对于Prefab,以下说法错误的是?A:Prefab资源可以在项目中多次重复使用

B:由Prefab实例出的GameObject,其在Hierarchy视图中表现为蓝色C:Prefab上的组件信息一经改变,其实例出的GameObject也会自动改变D:实例出的GameObject上的组件信息一经改变,其对应的Prefab也会自动改变8.

下面哪种做法可以打开Unity的Asset

->

Asset

Store

->->->AssetAssetAsset

StoreStoreStore

Store?

A:WindowsB:EditC:FileD:Assets9.

A:ProjectB:Inspector

在哪个面板中可以修改物体的空间属性,如位置、朝向、大小等?

C:HierarchyD:Toolbar10.

如何为一个Asset资源设定一个Label,从而能够方便准确的搜索到?

Label

A:在Project窗口中选中一个Asset,右键->Create->LabelB:在Project窗口中选中一个Asset,右键->Add标

D:在Project窗口中选中一个Asset,在Inspector窗口中点击按钮

“AddLabel”

7.用u3d实现2d游戏,有几种方式?答:1.用本身的GUI

2.把摄像机的Projection调成Orthographic,物体的Z轴不考虑

了。

8.u3d中碰撞器和触发器的区别?

答:碰撞器会有碰撞的效果,IsTrigger=false,可以调用OnCollisionEnter/Stay/Exit函数。触发器没有碰撞效果,isTrigger=true,可以调用OnTriggerEnter/stay/exit函数9.物体发生碰撞的必要条件

答:其中至少一个物体(运动的)必须带有碰撞器(collider)+刚体(Rigidbody)或者CharacterController,另一个物体也必须至少带有collider。10.CharacterController和Rigidbody的区别

答:CharacterController自带胶囊碰撞器,里面好像封装了一个刚体

Rigidbody就是刚体,使物体带有物理的特性

11.物体发生碰撞时,有几个阶段,分别对应的函数答:三个阶段,OnCollisionEnter/Stay/Exit函数12.u3d中,几种施加力的方式,描述出来。

答:rigidbody.AddForce/AddForceAtPosition,都在rigidbody系列函数13.什么叫做链条关节

答:HingeJoint,他可以模拟两个物体间用一根链条连接在一起的情况,能保持两个物体在一个固定距离内部相互移动而不产生作用力,但是达到固定距离后就会产生拉力。

14.物体自旋转使用的函数叫什么答:transform.Rotate

15.物体绕某点旋转使用函数叫什么答:transform.RotateAround

16.u3d提供了一个用于保存读取数据的类,(playerPrefs),请列出保存读取整形数据的函数

答:PlayerPrefs.SetInt(“CoinNum”,100);17.unity3d提供了几种光源,分别是什么

答:4种,Directionllight,PointLight,SpotLight,AreaLight

18.unity3d从唤醒到销毁有一段生命周期,请列出系统自己调用的几个重要方法。

C:在Project窗口中选中一个Asset,在Inspector窗口中点击添加Label的图

答:Awake--->Start--->Update-->FixedUpdate-->LateUpdate--->OnGUI-->Reset-->OnDisable-->OnDestory;

21.当游戏中需要频繁创建一个物体对象时,我们需要怎么做来节省内存。答:(把需要创建的物体拖成预设,动态的创建。需要几个我们就创建几个。22.一个场景放置多个camera并同时处于活动状态,会发生什么答:游戏界面可以看到很多摄像机的混合。可以用depth(深度),Layer(层)+CullingMask,enable=false/true来控制23.简述prefab的用处和环境

答:Prefab在实例化的时候用到,主要用于经常会用到的物体,属性方便修改。1什么是敌人的AI2谈谈弗洛伊德算法

3会安卓或HTML吗?(这个我回答不会,就直接面试结束了)在运行模式下,如何保存GameObject。包括属性和子物体,请给出思路能在运行模式下保存吗?

1.camera的作用

2.shader的工作原理和作用3.u3d在移动平台的性能优化4.u3d的跨平台的原理

5.mecanainm与传统动画的区别6.摄像机遮挡的基本原理

Unity3D题

1.两个物体碰撞的条件。

2.碰撞有几个阶段,分别是哪几个阶段。3.刚体和角色控制器的区别。4.什么是LOD,LOD有什么作用。

5.游戏动画有哪几种,这些动画的原来是什么。6.什么是NomalMapping,它有什么优点。

7.与Unity自带的GUI相比,我们用到的第三方插件有哪些,分别有什么

优缺点。

8.Socket是什么,常用的使用过程是怎样的。

9.NGUI中,监听Button的Click事件有几种,请举例。10.U3D实现2D游戏,有几种方式。

11.Unity3D中碰撞器与触发器有什么区别。12.Unity3D中系统默认的函数有哪些。13.Unity3D中专门用于烘培的灯光是什么。

14.物理更新和移动摄像机分别在哪个函数中运行,为什么。

15.场景中多个摄像机,我们通过调节什么来控制它们照射不同的物体。16.在运行模式下,如何保存GameObject。包括属性和子物体,请给出思路。逻辑题

17.有100个硬币,其中有一个质量较轻,如何用最少的方法,找到这个硬

币。

18.有若干条相同的绳子,但是它们的材质不均匀。点燃一根绳子,从头烧

到尾是一个小时。那么,你如何记录一个小时十五分钟。

19.有十二个硬币,其中的一个不知道轻重,有一个天平,没有砝码。你如

何只称量三次,找出那个硬币,并知其是轻还是重。

C#题

20.重载与override的区别。21.接口与抽象类的区别。22.类和结构的区别。23.事件与委托的区别。24.字段与属性有什么区别。

25.接口IEnumerable和IEnumerator的联系和区别。26.代码实现冒泡法排序。

27.Unity3D能否实现C#中的代理模式。如果能用代码举例。本人总结的一些Unity3d高频面试题目=======================================

C#,UI,NGUI,数据结构和算法很重要,图形学也很重要!大的游戏公司很看重个人基础、综合能力;小公司看你实际工作能力,看你的Demo。

高频问答的问题:一.什么是渲染管道?

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

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

主要步骤有:

本地坐标->视图坐标->背面裁剪->光照->裁剪->投影->视图变换->光栅化。二.如何优化内存?

有很多种方式,例如1.压缩自带类库;

2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接Destroy掉;3.释放AssetBundle占用的资源;

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

5.使用光照贴图,使用多层次细节(LOD),使用着色器(Shader),使用预设(Prefab)。

三、动态加载资源的方式?(有时候也问区别,具体请百度)

1.Resources.Load();2.AssetBundle四、什么是协同程序?

在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行。换句话说,开启协程就是开启一个线程。可以用来控制运动、序列以及对象的行为。五、你用过哪些插件?

(最好多熟悉几个插件,问的时候好回答)

====================================================1.使用Unity3d实现2d游戏,有几种方式?

1.使用本身的GUI;

2.把摄像机的Projection(投影)值调为Orthographic(正交投影),不考虑z轴;

3.使用2d插件,如:2DToolKit;2.Unity3d中的碰撞器和触发器的区别?

碰撞器有碰撞的效果,IsTrigger=false,可以调用OnCollisionEnter/Stay/Exit函数;

触发器没有碰撞效果,IsTrigger=true,可以调用OnTriggerEnter/Stay/Exit函数。

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

两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体。

4.CharacterController和Rigidbody的区别?

CharacterController自带胶囊碰撞器,里面包含有刚体的属性;Rigidbody就是刚体,使物体带有刚体的特征。5.在物体发生碰撞的整个过程中,有几个阶段,分别列出对应的函数

三个阶段

1.OnCollisionEnter2.OnCollisionStay3.OnCollisionExit

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

rigidbody.AddForce/AddForceAtPosition,都在rigidbody系列函数中。7.什么叫做链条关节?

HingeJoint,可以模拟两个物体间用一根链条连接在一起的情况,能保持两个物体在一个固定距离内部相互移动而不产生作用力,但是达到固定距离后就会产生拉力。

8.物体自身旋转使用的函数?

Transform.Rotate()9.物体围绕某点旋转使用的函数?

Transform.RotateAround()

10.Unity3d提供了一个用于保存和读取数据的类(PlayerPrefs),请列出保存和读取整形数据的函数

PlayerPrefs.SetInt()PlayerPrefs.GetInt()

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

四种。

平行光:DirectionalLight点光源:PointLight聚光灯:SpotLight区域光源:AreaLight

12.Unity3d脚本从唤醒到销毁有着一套比较完整的生命周期,请列出系统自带的几个重要的方法。

Awake——>Start——>Update——>FixedUpdate——>LateUpdate——>OnGUI——>Reset——>OnDisable——>OnDestroy

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

FixedUpdate,每固定帧绘制时执行一次,和Update不同的是FixedUpdate是渲染帧执行,如果你的渲染效率低下的时候FixedUpdate调用次数就会跟着下降。FixedUpdate比较适用于物理引擎的计算,因为是跟每帧渲染有关。Update就比较适合做控制。

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

LateUpdate,在每帧执行完毕调用,它是在所有Update结束后才调,比较适合用于命令脚本的执行。官网上例子是摄像机的跟随,都是在所有Update操作完才跟进摄像机,不然就有可能出现摄像机已经推进了,但是视角里还未有角色的空帧出现。

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

使用预制物体对象Prefab,然后复制创建。16.在场景中放置多个Camera并同时处于活动状态会发生什么?

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

17.请描述Prefab的作用,并描述如何在移动设备的环境下恰当的使用它?

Prefab在实例化的时候用到,主要用于经常会用到的物体,属性方便修改。18.如何销毁一个UnityEngine.Object及其子类?

使用Destroy()方法;

19.请简述Unity3d下如何安全的在不同工程间迁移asset数据,请列举出三种方法?

1.可以把assets目录和Library目录一起迁移2.导出包

3.用Unity带的assetsServer功能20.请描述游戏动画有哪几种,以及其原理?

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

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

本文来源:https://www.bwwdw.com/article/lsbg.html

Top