Unity3D重要知识点总结_第1页
Unity3D重要知识点总结_第2页
Unity3D重要知识点总结_第3页
Unity3D重要知识点总结_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Unity3D重要知识点总结学习Untiy3d过程中,你需要知道数据结构和算法很重,要图形学很重要,大的游戏公司看重个人基础,综合能力小公司就看你实际工作能力,看你的Demo做的如何。那么今天我们来看一下Unity3d学习中的重要知识点有哪些。1.什么是渲染管道?是指在显示器上为了显示出图像而经过的一系列必要操作。渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。主要步骤有:本地坐标->视图坐标->背面裁剪->光照->裁剪->投影->视图变换->光栅化。2.如何优化内存?有很多种方式,例如1.压缩自带类库;2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接Destroy掉;3.释放AssetBundle占用的资源;4.降低模型的片面数,降低模型的骨骼数量,降低贴图的大小;5.使用光照贴图,使用多层次细节(LOD),使用着色器(Shader),使用预设(Prefab)。3.动态加载资源的方式?1.Resources.Load();2.AssetBundle1.通过Resources模块,调用它的load函数:可以直接load并返回某个类型的Object,前提是要把这个资源放在Resource命名的文件夹下,Unity不关有没有场景引用,都会将其全部打入到安装包中。Resources.Load();2.通过bundle的形式:即将资源打成assetbundle放在服务器或本地磁盘,然后使用WWW模块get下来,然后从这个bundle中load某个object。AssetBundle3.通过AssetDatabase.loadasset:这种方式只在editor范围内有效,游戏运行时没有这个函数,它通常是在开发中调试用的【AssetDatabase资源数据库】区别:Resources的方式需要把所有资源全部打入安装包,这对游戏的分包发布(微端)和版本升级(patch)是不利的,所以unity推荐的方式是不用它,都用bundle的方式替代,把资源达成几个小的bundle,用哪个就load哪个,这样还能分包发布和patch,但是在开发过程中,不可能没更新一个资源就打一次bundle,所以editor环境下可以使用AssetDatabase来模拟,这通常需要我们封装一个dynamicresource的loader模块,在不同的环境下做不同实现。动态资源的存放有时我需要存放一些自己的文件在磁盘上,例如我想把几个bundle放在初始的安装里,unity有一个streamingasset的概念,用于提供存储接口的访问。我们需要在编辑器建立一个StreamingAssets名字的文件夹,把需要我们放在客户磁盘上的动态文件放在这个文件夹下面,这样安装后,这些文件会放在用户磁盘的指定位置,这个位置可以通过Application.streamingAssetsPath来得到。4.什么是协同程序?在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行。换句话说,开启协程就是开启一个线程。可以用来控制运动、序列以及对象的行为。5.你用过哪些插件?一界面制作推荐:NGUI二2D游戏制作推荐:2DToolkit/工具包,工具箱三可视化编程推荐:PlayMaker四插值插件推荐:iTween,HOTween五路径搜寻推荐:SimplePath六美术及动画制作推荐:RageSpline,SmoothMoves七画面增强推荐:Bitmap2Material,StrumpyShaderEditor八摄像机管理推荐:SecurityCamera九资源包推荐:NaturePack十、造路插件EasyRoads3D6.使用Unity3d实现2d游戏,有几种方式?1.使用本身的GUI;2.把摄像机的Projection(投影)值调为Orthographic(正交投影),不考虑z轴;3.使用2d插件,如:2DToolKit;7.Unity3d中的碰撞器和触发器的区别?触发器只是碰撞器身上的一个属性,碰撞器是触发器的载体。碰撞器有碰撞的效果,IsTrigger=false,可以调用OnCollisionEnter/Stay/Exit函数;触发器没有碰撞效果,IsTrigger=true,可以调用OnTriggerEnter/Stay/Exit函数。a.如果不想让碰撞检测影响物体移动但是又想检测到碰撞这时用到触发器(Trigger)b.触发器用来检测一个物件是否经过空间中的某个区域8.物体发生碰撞的必要条件两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体。8.1CharacterController和Rigidbody的区别?CharacterController自带胶囊碰撞器,里面包含有刚体的属性;Rigidbody就是刚体,使物体带有刚体的特征。[CharacterController:角色控制器]Rigidbody具有完全真实物理的特性,而CharacterController可以说是受限的Rigidbody,具有一定的物理效果但不是完全真实的9.在物体发生碰撞的整个过程中,有几个阶段,分别列出对应的函数三个阶段1.OnCollisionEnter(进入碰撞)2.OnCollisionStay(逗留碰撞)3.OnCollisionExit(当退出碰撞)10.Unity3d的物理引擎中,有几种施加力的方式,分别描述出来rigidbody.AddForce/AddForceAtPosition,都在rigidbody系列函数中。11.什么叫做链条关节?HingeJoint,可以模拟两个物体间用一根链条连接在一起的情况,能保持两个物体在一个固定距离内部相互移动而不产生作用力,但是达到固定距离后就会产生拉力。12.物体自身旋转使用的函数?Transform.Rotate()13.物体围绕某点旋转使用的函数?Transform.RotateAround()14.Unity3d提供了一个用于保存和读取数据的类(PlayerPrefs),请列出保存和读取整形数据的函数PlayerPrefs.SetInt()PlayerPrefs.GetInt()15.Unity3d提供了几种光源类型,分别是哪几种?四种。平行光:DirectionalLight点光源:PointLight聚光灯:SpotLight区域

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论