赞
踩
ArrayList存在不安全类型(ArrayList会把所有插入其中的数据都当做Object来处理),装箱拆箱的操作(费时),List是泛型类,功能跟ArrayList相似,但不存在ArrayList所说的问题。
在游戏运行时实例化,prefab相当于一个模板,对你已经有的素材、脚本、参数做一个默认的配置,以便于以后的修改,同时prefab打包的内容简化了导出的操作,便于团队的交流。
对象池存放需要被反复调用资源的一个空间,当一个对象回大量生成的时候如果每次都销毁创建会很费时间,通过对象池把暂时不用的对象放到一个池中(也就是一个集合),当下次要重新生成这个对象的时候先去池中查找一下是否有可用的对象,如果有的话就直接拿出来使用,不需要再创建,如果池中没有可用的对象,才需要重新创建,利用空间换时间来达到游戏的高速运行效果,在FPS游戏中要常被大量复制的对象包括子弹,敌人,粒子等
是指在显示器上为了显示出图像而经过的一系列必要操作。
渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。
主要步骤有:本地坐标->视图坐标->背面裁剪->光照->裁剪->投影->视图变换->光栅化。
1.压缩自带类库;
2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接Destroy掉;
3.释放AssetBundle占用的资源;
4.降低模型的片面数,降低模型的骨骼数量,降低贴图的大小;
5.使用光照贴图,使用多层次细节(LOD)[全称 Levels of Detail ,进行物体不同细节层次之间的平滑过渡。 根据物体所在的环境和所处位置的重要度,决定渲染。降低不重要和远的物体的面数和细节度。一般都是视距近的物体清楚,视距远的物体模糊。
1.Resources.Load();
2.AssetBundle
协程是一种并发编程模型,它可以被视为一种特殊的函数或者说是特殊类型的函数。它的主要特点是在主程序运行的同时,可以开启一段逻辑处理来协助当前程序的执行。这意味着协同程序允许在同一进程中并发执行多个逻辑流程,每个流程都可以在自己的独立空间内运行,但它们之间可以通过特定的机制相互协作和交流。
协同程序具有以下特性:
总结来说,协同程序提供了一种机制,使得开发者能够在单个应用程序中模拟出多线程环境,从而提高程序的并发性和灵活性,虽然协程很像多线程,但是不是多线程,Unity的协程实在每帧结束之后去检测yield的条件是否满足。
碰撞器是触发器的载体,而触发器只是碰撞器身上的一个属性。当Is Trigger=false时,碰撞器根据物理引擎引发碰撞,产生碰撞的效果,可以调用OnCollisionEnter/Stay/Exit函数;当Is Trigger=true时,碰撞器被物理引擎所忽略,没有碰撞效果,可以调用OnTriggerEnter/Stay/Exit函数。如果既要检测到物体的接触又不想让碰撞检测影响物体移动或要检测一个物件是否经过空间中的某个区域这时就可以用到触发器
两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体,而且必须是运动的物体带有Rigidbody脚本才能检测到碰撞。
三个阶段
1.OnCollisionEnter
2.OnCollisionStay
3.OnCollisionExit
PlayerPrefs.SetInt() PlayerPrefs.GetInt()
有4种,点光源,区域光源,聚光灯,平行光。
Awake——>Start——>Update——>FixedUpdate——>LateUpdate——>OnGUI——>Reset——>OnDisable——>OnDestroy
FixedUpdate,每固定帧绘制时执行一次,和Update不同的是FixedUpdate是渲染帧执行,如果你的渲染效率低下的时候FixedUpdate调用次数就会跟着下降。FixedUpdate比较适用于物理引擎的计算,因为是跟每帧渲染有关。Update就比较适合做控制。
LateUpdate,在每帧执行完毕调用,它是在所有Update结束后才调,比较适合用于命令脚本的执行。官网上例子是摄像机的跟随,都是在所有Update操作完才跟进摄像机,不然就有可能出现摄像机已经推进了,但是视角里还未有角色的空帧出现。
使用预制物体对象Prefab,然后复制创建。
1.可以把assets目录和Library目录一起迁移
2.导出包
3.用Unity带的assets Server功能
主要有关节动画、骨骼动画、单一网格模型动画(关键帧动画)。
关节动画:把角色分成若干独立部分,一个部分对应一个网格模型,部分的动画连接成一个整体的动画,角色比较灵活,Quake2中使用这种动画;
骨骼动画,广泛应用的动画方式,集成了以上两个方式的优点,骨骼按角色特点组成一定的层次结构,有关节相连,可做相对运动,皮肤作为单一网格蒙在骨骼之外,决定角色的外观;
单一网格模型动画由一个完整的网格模型构成,在动画序列的关键帧里记录各个顶点的原位置及其改变量,然后插值运算实现动画效果,角色动画较真实。
MipMapping:在三维计算机图形的贴图渲染中有常用的技术,为加快渲染进度和减少图像锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件,这样的贴图被称为MipMap。
localPosition表示相对于父物体坐标系的位置。换句话说,它是相对于父物体的位置偏移量。当你更改一个物体的localPosition时,它将根据其父物体的位置进行相应的移动。这意味着,如果你的父物体移动,子物体的位置也会随之改变。localPosition是以局部坐标系表示的。
position表示物体在世界坐标系中的位置。它是相对于场景中的全局坐标系的位置。当你更改一个物体的position时,它将在场景中移动到指定的位置,不受父物体的影响。
总结来说,localPosition是相对于父物体的位置,而position是相对于场景中的全局位置。使用哪个属性取决于你想要实现的效果和需求。如果你想相对于父物体进行位置调整,使用localPosition;如果你想在场景中进行绝对定位,使用position。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。