1.请描述游戏动画有几种,以及其原理。

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

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

体的动画,角色比较灵活 Quake2 中使用了这种动画。

单一网络模型动画由一个完整的网格模型构成, 在动画序列的关键帧里记录各个顶点的原位

置及其改变量,然后插值运算实现动画效果,角色动画较真实。

骨骼动画,广泛应用的动画方式,集成了以上两个方式的优点,骨骼按角色特点组成一定的

层次结构,由关节相连,可做相对运动,皮肤作为单一网格蒙在骨骼之外,决定角色的外观。

皮肤网格每一个顶点都会受到骨骼的影响,从而实现完美的动画。(骨骼动画是由关节动画

发展而来的,如今基本都使用骨骼动画来实现角色动画)

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

答案:物体 A 必须带有(collider+rigidbody)或者 CharacterController,另一个物体也必须至少带有 collider。

3.GUI与UGUI的优点和缺点

答案:GUI不方便控制,UGUI所见即所得,方便控制。GUI使用在生命周期函数OnGUI中使用,脚本来书写控制。UGUI使用Canvas画布和事件系统。UGUI适应屏幕上比GUI简单。

4.一个场景放置多个carmera并同时处于活动状态,会发生什么

答案:实际看到的画面由多个 camera 的画面组成,由 depth、Clear Flag、Culling Mask 都会影响最终合成效果。

5.U3D 中用于记录节点空间几何信息的组件名称,及其父类名称

答案:Transform 父类是 Component。

6.请简述如何在不同分辨率下保持 UI 的一致性

答案:NGUI 很好的解决了这一点,屏幕分辨率的自适应性,原理就是计算出屏幕的宽高比跟原来的预设的屏幕分辨率求出一个对比值,然后修改摄像机的 size。

7.为什么 dynamic font 在 unicode 环境下优于 static font

答案:Unicode 是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。

使用动态字体时,Unity 将不会预先生成一个与所有字体的字符纹理。当需要支持亚洲语言

或者较大的字体的时候,若使用正常纹理,则字体的纹理将非常大。

8.Render 的作用?描述 MeshRender 和 SkinnedMeshRender 的关系与不同

答案:Mesh 就是指模型的网格(同名组件是用于调整网格属性的),MeshFilter 一般是用于获得模型网格的组件,而 MeshRender 是用于把网格渲染出来的组件

9.简述 SkinnedMesh 的实现原理

答案:Skinned Mesh 中文一般称作骨骼蒙皮动画.这种动画中包含骨骼( Bone )和蒙皮 (Skinned Mesh) 两个部分, Bone 的层次结构和关节动画类似, Mesh 则和关节动画不同:关节动画中是使用多个分散的 Mesh, 而 Skinned Mesh 中 Mesh 是一个整体,也就是说只有一个 Mesh, 实际上如果没有骨骼让 Mesh 运动变形, Mesh 就和静态模型一样了。Skinned Mesh 技术的精华在于蒙皮,所谓的皮并不是模型的贴图。而是 Mesh 本身,蒙皮是指将 Mesh 中的顶点附着(绑定)在骨骼之上,而且每个顶点可以被多个骨骼所控制,这样在关节处的顶点由于同时受到父子骨骼的拉扯而改变位置就消除了裂缝。可以理解为具有蒙皮信息的 Mesh 或可当做皮肤用的 Mesh ,这个皮肤就是 Mesh 。而为了有皮肤功能, Mesh 还需要蒙皮信息,即 Skin 数据,没有 Skin 数据就是一个普通的静态 Mesh 了。 Skin 数据决定顶点如何绑定到骨骼上。顶点的 Skin 数据包括顶点受哪些骨骼影响以及这些骨骼影响该顶点时的权重 (weight) ,另外对于每块骨骼还需要骨骼偏移矩阵 (BoneOffsetMatrix) 用来将顶点从 Mesh 空间变换到骨骼空间。

10.Prefab 的作用?如何在移动环境的设备下恰当地使用它?

答案:在游戏运行时实例化,prefab 相当于一个模版,对你已有的素材、脚本、参数做一个默认配置,以便于以后修改,同时 prefab 打包的内容简化了导出的操作,便于团队的交流。

11.如何销毁一个 UnityEngine.Object 及其子类

答案:调用Destory()方法。

12.为什么 Unity3D 中会发生在组件上出现数据丢失的情况?

答案:组件上绑定的对象被删除了。

13.如何安全的在不同工程间安全地迁移 asset 数据?三种方法

答案:1.将 Assets 目录和 ProjectSetting 目录一起迁移。

2.导出包。

3.使用版本控制器Git/SVN。

14.MeshCollider 和其他 Collider 的一个主要不同点?

答案:Meshcollider 是基于顶点的。建议还是用 boxcollider,boxcollider 本身

是基于算法,没有面的概念。

15.当一个细小的高速物体撞向另一个较大的物体时,会出现什么情况?如何避免?

答案:穿透(碰撞检测失败)(避免方法:碰撞体变大,FixedUpdate, 代码限制)

16.MeshRender 中 material 和 sharedmaterial 的区别?

答案:修改 sharedMaterial 将改变所有物体使用这个材质的外观,并且也改变储存在工程里的材质设置。

不推荐修改由 sharedMaterial 返回的材质。如果你想修改渲染器的材质,使用 material替代。

17.用 u3d 实现 2d 游戏,有几种方式?

答案:1.利用引擎自带的 GUI和2D系统。

2.把摄像机设为 Orthographic,用面片作为 2d 元素。

3.利用第三方插件:NGUI、2dToolkit。

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

答案:1.collider 碰撞器会有碰撞的效果,IsTrigger = false,可以调用。

2.OnCollisionEnter/Stay/Exit 函数。

3.trigger 触发器没有碰撞效果,isTrigger = true,可以调用 OnTriggerEnter/stay/exit 函

数。

19.CharacterController 和 Rigidbody 的区别

答案:Rigidbody 具有完全真实物理的特性, 而 CharacterController 可以说是受限的 Rigidbody,具有一定的物理效果但不是完全真实的。

20.什么叫做链条关节

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

21.unity3d 提供了几种光源,分别是什么

答案:平行光:Directional Light

聚光灯:Spot Light

点光源:Point Light

区域光源:Area Light(只用于烘培)

22.u3d 下如何安全的在不同工程迁移 asset 数据

答案:方法 1,可以把 assets 目录和 Library 目录一起迁移,

方法 2,导出包

方法 3,用 unity 带的 assets server 功能

unity游戏中提示信息如何实现_Unity编辑器操作面试题集锦(上)相关推荐

  1. unity游戏中提示信息如何实现_RPG游戏中的剧情在Unity3D中如何实现呢?

    原标题:RPG游戏中的剧情在Unity3D中如何实现呢? RPG游戏想必不用多介绍了,剧情系统是RPG游戏中必不可少的功能. 曾经听过一些朋友谈论:目前正在做一款RPG游戏,但是不知道如何实现RPG游 ...

  2. unity游戏中提示信息如何实现_《游戏设计模式》(游戏编程模式)全书笔记+Unity实现...

    Unity实现(Github地址): 笔记部分以下部分只包含笔记,具体实现及项目说明可查看Github 笔记中很多都是个人理解,目的是尽量让原本抽象的概念更易懂一些 关于书名--书名直译是<游戏 ...

  3. SRPG游戏开发(三十四)第八章 游戏中的数据 - 四 数据编辑器(Data Editor)

    返回总目录 第八章 游戏中的数据(Data in Game) 在之前的章节中,我们进行地图对象的生成,移动等操作. 这一章本来可以进行战斗的编写,不过数据缺失是一个问题. 所以这一章我们先来建立一些数 ...

  4. 利用OLAMI在unity游戏中加入中文语音控制(一)

    (欢迎转载.本文源地址:http://blog.csdn.net/speeds3/article/details/76209152) 最近打算尝试一下OLAMI在游戏中应用的可能性,这里做一下记录. ...

  5. 在Unity游戏中使用Live2D

    转载文章,原文链接地址 什么是Live2D Live2D是日本Cybernoids公司开发. Live2D现阶段有两个主要的版本是2.1的版本和3.0的版本. 国内2.1版本用的比较多(ps.此为自己 ...

  6. unity游戏中的换装换色

    游戏中经常遇到给角色换装染色的需求,通过换装换色可以使的资源不增加的基础上在本来的衣服套数翻倍,策划可在这上挖坑,废话不多说,进入正题 主要分为两部分 1.换装 一个角色每个需要更换的部位都是一个单独 ...

  7. unity 游戏中的寻路与导航系统(5种寻路算法详解)

    @了解游戏中常见的寻路方式 通常来讲一般是根据建模方式来决定寻路方式 常见的寻路方式--建模方式 这里提供一下三种建模方式的示意图,如下 ,分别对应着,原图.Grid.WayPoint.NavMesh ...

  8. Unity游戏中的一些规范和优化建议

    一.代码规范和建议 避免Update LateUpdate等函数内频繁的GC Alloc,避免在Update和LateUpdate内有以下操作: 调用GetComponet() 调用FindObjec ...

  9. Unity 游戏中的战斗系统的架构与设计

    前言 很多刚开始做游戏的小伙伴感觉战斗系统是一个比较麻烦的部分,不知道如何设计,角色很多,职业很多,技能有好几种,还有装备相关的东西.今天这篇文章详细的讲解一个战斗系统应该如何架构与设计,你看完并搞懂 ...

最新文章

  1. Windows环境下启动Mysql服务提示“1067 进程意外终止”的解决方案
  2. 百万奖金!交通事件、医学病理、广告检测,江苏大数据开发与应用大赛报名...
  3. jzoj3058-火炬手【高精度,暴力】
  4. 机器学习java_Java机器学习,第1部分
  5. shell 整数条件判断
  6. 又一家药企IPO被拒,原因竟然是……
  7. 关于引用mshtml的问题
  8. idea mac xml注释快捷键
  9. oppo手机热点Android,OPPO手机怎么开启热点?OPPO手机共享网络的三种方法
  10. 线代 | 矩阵的迹 向量内积如何转化为迹
  11. 怎样用Python自制好看的指数估值图
  12. 机器人专用符文_lol机器人新版符文搭配推荐 s8布里茨新版符文配置攻略
  13. 微信公众号的开发和使用注意事项有哪些?
  14. 主动形状模型(ASM)和主动外观模型(AAM)资源汇总
  15. 浙江最新通信施工安全员机考真题及答案解析
  16. 明道云与阿里1688对接案例
  17. css 调用外部字体、自定义字体
  18. JDRead电子书使用心得
  19. End-to-end Audio-visual Speech Recognition with Conformers
  20. libwebsockets 记录

热门文章

  1. 怎么绘制机械孔_机械制图中常用的图纸简化画法,相当适合初学者!
  2. 光学模拟 Android,基于Android的光学字符识别研究与实现
  3. todo在此放置对话框控件_MFC界面开发进入BCGControlBar v30.5时代,Gantt Chart控件升级...
  4. python网络爬虫文献综述怎么写_毕业论文的文献综述怎么写
  5. ps 替换文字_Python操作PPT实现自动查找替换
  6. 【费用流】BZOJ1061: [Noi2008]志愿者招募(这题超好)
  7. 笔记之_java整理JavaScript
  8. C++ Ouput Exactly 2 Digits After Decimal Point 小数点后保留三位数字
  9. NSArray创建和使用
  10. LINUX 内核代码备忘录