Unity3D面试题大合集

unity的动态加载?

1.Resources.load();//加载Resources文件夹内的文档

2.WWW加载//协同程序

3.AssetsBundle:

                例:从资源包里获取指定类型的文件

AssetBundle ab = new AssetBundle();//AssetBundle可以由不同途径获取

                TextAsset xml = ab.Load("xml",typeof(TextAsset));

1. 协同程序?

在MonoBehaviour主线程内开展的一段逻辑处理,协助主线程执行另一段程序。类似于开启另外一条线程单独处理一些特殊事情。

协同程序的特点:

拥有自己的内存堆栈,与其他程序共享全局函数。

协同程序开启后进入运行状态,遇到中断指令后暂停执行,返回主线程继续执行主线程。暂停指令结束后继续执行协同程序里余下的信息。

3.碰撞器和触发器的区别?

碰撞器(Collider)有碰撞效果,isTrigger = false;可以调用OnColliderEnter/Stay/Exit。

触发器没有碰撞效果,isTrigger = true; 一个触发器不会碰撞刚体,当一个刚体进入或者退出触发器时,将发送:OnTriggerEnter/Stay/Exit。

4.碰撞发生的必要条件?

两个物体必须带有碰撞器(Collider),一个物体还必须带有刚体(RigidBody)或则角色控制器(CharacterController,自带胶囊碰撞器,已经封装了一个刚体在里面)。

5.unity的保存数据的类(玩家偏好设置)?

        PlayerPrefs.SetInt();

        PlayerPrefs.SetString();

6.MonoBehaviour脚本的生命周期?

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

                如图:

FixedUpdate:以指定的帧频执行。(在Edit -> project settings -> Time -> FixedTimestep 中设定该频率

LateUpdate:MonoBehaviour脚本每一帧执行,所有Update函数执行完毕后执行LateUpdate函数。

7.物理更新?

物理更新放在FixedUpdate函数中执行,固定帧数执行,渲染效率低下时,FixedUpdate调用频率跟着下降。

8.游戏动画种类?

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

9.Unity实现2D游戏的方式?

        1.使用自带的GUI。

2.将Camera的Projection(投影方式)设置成Orthographic(正交投影)不考虑Z轴。

3.使用插件 2D ToolKit

10.Unity物理引擎中添加力的方式?

        RigidBody.addForce //添加一个力到刚体。作为结果刚体将开始移动。

RigidBody.AddRelativeForce//添加一个力到刚体。相对于它的系统坐标。

RigidBody.addForceAtPoint//在position位置应用force力。作为结果这个将在这个物体上应用一个力矩和力。

RigidBody .AddExplosionForce//添加一个爆炸力,爆炸力将随着到刚体的距离线形衰减。

11.Unity各种光照模式的光照强度的计算公式?

        环境光照强度 =         环境光照强度 * 环境光照颜色

         (Lambient = Aintensity * Acolor)

        漫反射光照强度 = 漫反射系数 * 漫反射颜色 * 该点法向量.光源向量

(iDiffuse = Dintensity * Dcolor *N.L)

镜面反射强度 = 镜面光照强度 * 镜面光颜色 * (光的反射向量.观察者向量)^镜面光指数

(Ispecular = Sintensity * Scolor *(R.V)^n)

        实际光照强度 = 环境光(lambient)+漫反射光(ldiffuse)+镜面高光(lspecular)

 


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值