Unity编辑器基础

本文总结了Unity3D的基础知识和面试常见问题,涉及游戏动画原理、碰撞检测、GUI与UGUI的优缺点、资产迁移、光源类型、导航网格、Prefab使用、动画层、物理材质与渲染技术等多个方面,旨在帮助开发者理解和掌握Unity3D的关键概念和技术要点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一丶题目: 请描述游戏动画有几种,以及其原理。

答案:

主要有关节动画、单一网格模型动画(关键帧动画)、骨骼动画。
关节动画把角色分成若干独立部分,一个部分对应一个网格模型,部分的动画连接成一个整
体的动画,角色比较灵活 Quake2 中使用了这种动画。
单一网络模型动画由一个完整的网格模型构成, 在动画序列的关键帧里记录各个顶点的原位
置及其改变量,然后插值运算实现动画效果,角色动画较真实。
骨骼动画,广泛应用的动画方式,集成了以上两个方式的优点,骨骼按角色特点组成一定的
层次结构,由关节相连,可做相对运动,皮肤作为单一网格蒙在骨骼之外,决定角色的外观。
皮肤网格每一个顶点都会受到骨骼的影响,从而实现完美的动画。(骨骼动画是由关节动画
发展而来的,如今基本都使用骨骼动画来实现角色动画)

 

公司出处:上海华勤通讯

 

二丶题目: 物体发生碰撞的必要条件

答案:

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

公司出处:上海华勤通讯

 

三丶题目: GUI与UGUI的优点和缺点

答案:

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

公司出处:上海华勤通讯

 

四丶题目: 一个场景放置多个carmera并同时处于活动状态,会发生什么

答案:

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

公司出处:上海华勤通讯

 

五丶题目: 使用过哪些第三方插件?

答案

界面制作 推荐:NGUI
2D 游戏制作 推荐:2D Toolkit //[ˈtu:lkɪt] 工具包,工具箱三
可视化编程 推荐:PlayMaker
插值插件 推荐:iTween,HOTween
路径搜寻 推荐:Simple Path
美术及动画制作 推荐:RageSpline,Smooth Moves
画面增强 推荐:Bitmap2Material,Strumpy Shader Editor
摄像机管理 推荐:Security Camera
资源包 推荐:Nature Pack
十、造路插件 EasyRoads3D

公司出处:上海萌果信息科技有限公司/上海华勤通讯

 

六丶题目: U3D 中用于记录节点空间几何信息的组件名称,及其父类名称

答案:

Transform 父类是 Component

公司出处:上海华勤通讯

 

七丶题目: 为何大家都在移动设备上寻求 U3D 原生 GUI 的替代方案

答案:

不美观,OnGUI 很耗费时间,使用不方便 ,DrawCall

公司出处:上海华勤通讯


八丶题目: 请简述如何在不同分辨率下保持 UI 的一致性

答案:

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

公司出处:上海悉梦计算机

 

九丶题目: 为什么 dynamic font 在 unicode 环境下优于 static font

答案:

Unicode 是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。
使用动态字体时,Unity 将不会预先生成一个与所有字体的字符纹理。当需要支持亚洲语言或者较大的字体的时候,若使用正常纹理,则字体的纹理将非常大。

公司出处:上海悉梦计算机

 

十丶题目: Render 的作用?描述 MeshRender 和 SkinnedMeshRender 的关系与不同

答案:

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

公司出处:上海悉梦计算机

 

十一丶题目: 简述 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 空间变换到骨骼空间。公司出处:上海悉梦计算机

 

十二丶题目: Prefab 的作用?如何在移动环境的设备下恰当地使用它?

答案:

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

公司出处:上海悉梦计算机

 

十三丶题目: 如何销毁一个 UnityEngine.Object 及其子类

答案:

Destory

公司出处:上海悉梦计算机

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值