在Unity游戏开发在面试时会面试哪些内容?

1、请描述游戏动画有几种,以及其原理。 关键帧动画:每一帧动画序列当中包含了顶点的空间位置信息以及改变量,然后通过插值运算,得出动画效果。选中某一游戏对象,创建animation,添加属性Transform,MeshRender、collider。还可以添加关键帧,在关键帧上Add Animation Event事件。 骨骼动画:模型当中有一个骨骼结构层次的对象,存储了各个骨骼在空间内的位置信息。皮肤蒙皮附着在骨骼上,决定了角色的外观,每一个顶点数据都会随着多个骨骼影响而改变,从而实现动画效果。创建animator将各个动画拖入到动画状态机当中,设置参数,连接各个动画状态,在通过脚本控制来实现动画控制 关节动画:了解不多,是骨骼动画的前身,模型分成N个部分网格,分成部分动画,组成一个整体动画


2、Avator的作用 用户提供的模型骨架和Unity的骨架结构进行适配,是一种骨架映射关系。 方便动画的重定向 AnimationType有三种类型 Humanoid人型:可以动画重定向,游戏对象挂载animator,子类原始模型+重定向模型,设置原始模型和使用模型的AnimationType为Humanoid类型 Generic非人型 Legacy旧版 Avator Mask身体遮罩,身体某一部分是否受到动画影响 反向动力学 IK,通过手或脚来控制身体其他部分

对惹,这里有一个游戏开发交流小组,大家可以点击进来一起交流一下开发经验呀!


3、物体发生碰撞的必要条件 物体A有(Collider和Rigidbody)或者CharacterController,物体B有collider rigidbody完全受物理引擎影响 CharacterController物理引擎影响受限制


4、GUI与UGUI的优点和缺点 UGUI所见即所得,UGUI使用Canvas和事件系统,UGUI还能自适应屏幕 GUI在脚本周期中使用OnGui函数,通过脚本代码控制。OnGui性能消耗大,每一次渲染都是一个DrawCall 在手游端都在寻求原生GUI的替代方案


5、一个场景放置多个carmera并同时处于活动状态,会发生什么 多个Camera渲染画面,受到Camera组件的属性ClearFlag、CullingMask和Depth的影响,影响最终的合成画面。


6、使用过哪些插件 shader graph制作shader光影效果 cinemachine+timeline+postprocessingstack制作过场动画 nodecanvas制作怪物ai easytouch手游触摸控制


7、U3D 中用于记录节点空间几何信息的组件名称,及其父类名称 Transform继承于Component继承于Object 常用脚本继承类关系 链接: 参考资料.


8、请简述如何在不同分辨率下保持 UI 的一致性 Canvas画布设置组件CanvasScaler的分辨率模式为Scale with screen size,保持画布一定比例下随屏幕改变,画布进行缩放。 UI位置的一致性通过设置锚点,Anchor Presets锚点预设


9、MeshFilter、MeshRender 和 SkinnedMeshRender 的关系与不同 MeshFilter网格过滤器,通过mesh属性获取模型网格 MeshRender网格渲染器,渲染Material,lighting,probe探针 SkinnedMeshRender蒙皮网格渲染器,渲染人物模型,渲染基本属性,材质,光照,探针,其他设置属性 Unity换装主要是切换Mesh、root bone和材质贴图


10、简述 SkinnedMesh 的实现原理 SkinnedMesh蒙皮网格动画 分为骨骼和蒙皮两部分 骨骼是一个层次结构,存储了骨骼的Transform数据 蒙皮是mesh顶点附着在骨骼之上,顶点可以被多个骨骼影响,决定了其权重等, 还有将顶点从Mesh空间变换到骨骼空间~


11、Prefab 的作用?Editor下动态创建Prefab的方式? prefab是素材,模型,贴图,shader等默认配置的集合体,便于修改 prefab已经被序列化存储在二进制文件当中,方便传输,方便打包导出的操作 prefab是一个模板,方便进行实例化 团队协作的便捷性

使用脚本publci字段,直接将prefab拖拽到这个字段下 Asset文件夹下,创建Resource文件夹,prefab放入,在代码里使用Resource.load(“prefab名称”)


12、如何销毁一个 UnityEngine.Object 及其子类 Destroy


13、为什么 Unity3D 中会发生在组件上出现数据丢失的情况? 组件被删除了


14、如何安全的在不同工程间安全地迁移 asset 数据?三种方法 导出包export package 将assets文件夹和libarary文件加一起迁移 unity自带的assets server功能 (不懂这个功能,上面两个方法用的多)


15、MeshCollider 和其他 Collider 的一个主要不同点? MeshCollider是基于顶点数据,片面组成,消耗性能 BoxCollider是基于算法的,性能好


16、当一个细小的高速物体撞向另一个较大的物体时,会出现什么情况?如何避免? fixedupdate中代码控制,代码中两个位置进行射线检测,射线碰撞信息 增加碰撞体体积,射线穿过,射线长度增加 rigidbody刚体设置两个参数Interpolate急速插值和CollisionDetection碰撞检测


17、MeshRender 中 material 和 sharedmaterial 的区别? 两者是MeshRender的属性 sharedMaterial 是共用的 Material,称为共享材质。修改共享材质会改变所用使用该材质的物体,并且编辑器中的材质设置也会改变。 material 是独立的 Material,返回分配给渲染器的第一个材质。修改材质仅会改变该物体的材质。如果该材质被其他的渲染器使用,将克隆该材质并用于当前的渲染器。


18、用 u3d 实现 2d 游戏,有几种方式? 摄像机改为正交模式 使用引擎改为2D系统 使用UGUI


19、u3d 中碰撞器和触发器的区别? 碰撞器有碰撞效果,触发器会穿过,但能检测到 collider设置属性isTrigger为True OnCollisionEnter/Stay/Exit OnTriggerEnter/Stay/Exit 触发器可以用来检测物体是否经过某片空间


20、CharacterController 和 Rigidbody 的区别 CharacterController一般用在人型角色,继承于Collider,可以认为是受限的Rigidbody Rigidboy完全受物理引擎影响,质量,阻力等属性,Is Kinematic不受物理引擎影响,通过代码改变Transform。


21、什么叫做链条关节 Hinge Joint,模拟两个物体之间有一个链条连接 在某个距离内只会发生移动不产生作用力,类似门的效果 超过某个距离会产生拉力,弹簧的效果


22、unity3d 提供了几种光源,分别是什么 Direction平行光 Point点光源 Spot聚光灯 Area区域光(烘焙用)


23、动画层(Animation Layers)的作用是什么? 动画分层 身体部位动画分层,比如我只想动动头,身体其他部分不发生动画 可以方便处理动画区分


24、Material 和 Physic Material 区别? 物理材质:处理物理效果,比如滑动摩擦力,静态摩擦力,反弹等属性 Material就是普通的贴图


25、什么是导航网格( NavMesh)? 用于自动寻路的网格 比如A*寻路 链接: 更加详细的参考资料.


26、Unity 摄像机有几种工作方式,分别是什么? 正交模式和透视模式


27、UGUI相关概念 UGUI锚点,相对于父对象,屏幕自适应 UGUI分为世界坐标和屏幕坐标 UGUI的Image可以使用material UGUI不需要绑定collider,UI事件会拦截 UGUI通过Mask来裁剪 UGUI顺序根据Hierarchy顺序,越下面渲染在最上层


28、Unity3d中static batching和dynamic batching 各有什么用? 动态批处理和静态批处理,都是在一定条件下,对多次的DrawCall请求进行合并处理,减少CPU的DrawCall数量,达到提高性能的目的

静态批处理将静态的游戏对象组合成大网格(不移动) 对游戏对象Static属性设置成batching static , 前提要共享材质且不移动,不缩放,不旋转

动态批处理是将很小的网格,将类似的顶点组合到一起,一次性绘制 不需要任何操作,可以旋转,缩放,移动 前提是共享材质,且不包含900顶点不超300顶点网格


29、Unity3d中Awake和Start 谁先执行,update和fixedUpdate 有什么区别? awake先执行,一般用来初始化成员变量 start设置物体属性和渲染 fixedUpdate固定帧渲染,用于更新渲染物理引擎 update帧渲染,用于更新操作


30、向量的运算有哪些?Unity有哪些API可以计算 加法减法:物理上计算两个力的合力或者几个速度分量的叠加Vertor3(a1+b1,a2+b2,a3+b3) 数乘:向量与一个标量相乘,变量的正负,表示方向的正反方向变化,对向量的长度进行缩放 点乘:a点乘b得到一个标量,集合意义是a和b长度相乘再乘以两者夹角的余弦 叉乘:a叉乘b得到一个新向量,满足unity的左手坐标系

Vector3类 单位化normalized 向量长度magnitude 叉乘cross 点乘 dot 两向量夹角 angle 距离 distance 投影 project


31、UI面板层级管理 如果分为三层结构,可以使用Unity自带的Api在Hierarchy Transofrm类 SetAsFirstSiBling 列表开头 SetAsLastSiBling 列表最后 SetSiBlingIndex 同级索引

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/57864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++初阶——类和对象(上)

目录 1、类的定义 1.1 类定义格式 1.2 访问限定符 1.3 类域 2、类的实例化 2.1 实例化的概念 3、this指针 1、类的定义 1.1 类定义格式 • class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。…

小北的字节跳动青训营与LangChain系统安装和快速入门学习(持续更新中~~~)

前言 最近,字节跳动的青训营再次扬帆起航,作为第二次参与其中的小北,深感荣幸能借此机会为那些尚未了解青训营的友友们带来一些详细介绍。青训营不仅是一个技术学习与成长的摇篮,更是一个连接未来与梦想的桥梁~ 小北的青训营 X M…

卷积神经网络实验三:模型优化(1)

作者有话说: 这篇文章写的还是比混乱的。因为本人也是第一次做这样的尝试,虽然接触深度学习有一年了,但是对于模型的优化仅仅是局限于理论上。通过这一次的实验,我对于模型的理解也更深了几分。我不期望这篇文章能帮你能解决多大问…

信息安全数学基础(42)分式域

一、定义 设R是一个整环,如果有一个域F使得从R到F有一个单的环同态,并且F中的每一个元素都可以表示成σ(a)σ(b)^(-1)的形式,其中a∈R,b∈R*(R的非零元构成的乘法群),那么把F称为R的分式域。 二…

HTML 基础概念:什么是 HTML ? HTML 的构成 与 HTML 基本文档结构

文章目录 什么是 HTML ?HTML 的构成 ?什么是 HTML 元素?HTML 元素的组成部分HTML 元素的特点 HTML 基本文档结构如何打开新建的 HTML 文件代码查看 什么是 HTML ? HTML(超文本标记语言,HyperText Markup L…

brew 下载过慢, 切换使用国内源

brew 下载过慢, 切换使用国内源 1.尝试brew install graphviz的时候,总是报错,或者跑到国外官网,下载太长时间 2. 更新国内的清华的源,中科大的源,结果brew update的时候要很久 最后用阿里的brew源, 发现…

文本列的性能优化?深入Oracle全文索引

一.什么是全文索引? 全文索引通过分析和处理文本,将文档中的单词分解为词条(tokens),然后存储词条与其所在文档的映射关系。这使得数据库可以快速定位包含特定关键字的记录,而不必对所有文本逐字匹配。 二…

CentOS7配置静态IP(非解决方法指导,纯笨蛋记录)

一、这篇博客算是记录我终于解决我安装的虚拟机ping不通外网的问题,前前后后我尝试了很多次花了很多时间,最后弄完发现其实都是因为我之前根本不知道什么是虚拟机的网络配置。。。。。 这个链接介绍了vmware虚拟机三种网络模式及配置详解_vmware 特定虚…

数据丢失不用愁!10款必备的数据恢复软件全介绍

现在我们使用微信的频率愈发高涨,不论是生活、工作,甚至是兴趣还好可能都能在这个软件里看到身影。正因为它涉及了我们的生活如果因为病毒或者其他原因导致聊天记录清空,对很多人来说都很麻烦。那么微信聊天记录删了怎样才能恢复呢&#xff0…

国内版Sketchfab平台 - CG美术之家(3D编辑发布篇)

CG美术之家为您提供了一个简便的模型上传流程,让发布您的3D模型变得轻而易举。只需准备好通用的3D模型格式,如OBJ、FBX或STL,您就可以轻松上传并分享您的创作。我们的平台支持在线3D渲染,您只需花费不到一分钟的时间,就…

安防被动红外和主动红外

被动红外探测器是依靠被动的吸收热能动物活动时身体散发出的红外热能进行报警的,也称热释红外探头,其探测器本身是不会发射红外线的。 被动红外探测器中有2个关键性元件,一个是菲涅尔透镜,另一个是热释电传感器。**自然界中任何高…

使用Flask构建RESTful API

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用Flask构建RESTful API Flask简介 环境搭建 安装Flask 项目结构 创建应用 路由定义 请求处理 获取查询参数 获取请求体 响应…

知识竞赛活动选手台桌怎么摆放好

知识竞赛活动选手台桌摆放主要根据选手台桌、舞台及和竞赛规则决定,一般有以下几种方案。 一、一字摆放 如果舞台宽度不够,就一字摆放。这样选手就无法看到大屏,选手就要配置看题平板或电脑。也可以在选手前面放置一台大电视。如图&#xf…

SQL之排名窗口函数RANK()、ROW_NUMBER()、DENSE_RANK() 和 NTILE() 的区别(SQL 和 Hive SQL 都支持)

现有一张student 表,表中包含id、uname、age、score 四个字段,如下所示: 该表的数据如下所示: 一、ROW_NUMBER() 1、概念 ROW_NUMBER() 为结果集中的每一行分配一个唯一的连续整数,编号从 1 开始。‌ 该函数按照指…

NeurIPS - Ariel Data Challenge 2024

1比赛概述 Ariel数据挑战2024 邀请参赛者开发机器学习模型,解决天文学领域中的一项重大挑战——从即将到来的欧洲航天局(ESA)Ariel任务的模拟观测中提取微弱的系外行星信号。Ariel任务计划于2029年启动,旨在对银河系邻近的约1,00…

Javaweb 实验4 xml

我发现了有些人喜欢静静看博客不聊天呐, 但是ta会点赞。 这样的人呢帅气低调有内涵, 美丽大方很优雅。 说的就是你, 不用再怀疑哦 实验四 XML 目的: 安装和使用XML的开发环境认识XML的不同类型掌握XML文档的基本语法了解D…

CRON组件一个复杂的一个简单的

CRON组件一个复杂的一个简单的 一个是复杂点的一个是简单点。 1.以简单的为例使用&#xff1a; 父组件 import CronSimple from "/views/xxx/components/cron-simple/index.vue";components: {CronSimple}<el-dialog title"调度CRON"v-if"cronV…

浅谈路由器

路由器是一种网络设备&#xff0c;它在网络中起着至关重要的作用&#xff0c;主要功能包括&#xff1a; 1、数据转发&#xff1a;路由器的主要任务是将数据包从一个网络转发到另一个网络。它根据数据包的目的地址来决定将数据包发送到哪个网络。 2、路径选择&#xff1a;路由器…

乒乓球烧拍日记之三蝴蝶蓝芳碳

朋友给了我个蝴蝶成品拍&#xff0c;要更换胶皮&#xff0c;底板是蓝芳碳磕碰很严重&#xff0c;木材都没了&#xff0c;没法补。淋巴面材&#xff0c;成品拍胶水很牢固非常难去除 把蓝芳碳纤维去除下毛边&#xff0c;然后用乳胶胶水填补缺失部分。(https://img-blog.csdnimg.…

高德地图如何标注店铺名称和位置信息?

在当今数字化和信息化的市场环境中&#xff0c;商家不仅需要提供优质的商品和服务&#xff0c;还需要通过多种方式来提升店铺的线上可见度和顾客体验。其中&#xff0c;在地图上准确标注店铺名称和位置信息已成为商家不可忽视的重要环节。而高德地图作为国内领先的导航和位置服…