unity学习笔记之优化

美术导出模型时先设置比例1:100,再重置Xform,设置旋转90度

png 有透明 无损压缩 更小

jpg 没有透明 有损压缩 小

tga 有透明 无损压缩 大

dds 有透明 无损压缩 甚至比png更小 苹果不支持

显存:显存,也被叫做帧缓存,它的作用是用来存储显卡芯片处理过或者即将提取的渲染数据。如同计算机的内存一样,显存是用来存储要处理的图形信息的部件。

图片分辨率遵循2的n次方时,加载到显存中时会更小,如果显存不够就会用内存

图片有透明通道的比没有透明通道的显存占用多

贴图

DXT英伟达

DXT1不透明

DXT5透明

ETC不透明

ETC2 透明 要支持Opengl ES3.0以上

PVRTC 特定显卡效果更好

ARGB 32bits 显存占用大

更详细的

https://www.jianshu.com/p/1fb639cfdc62

https://blog.csdn.net/studyinroom/article/details/90479419

单个模型顶点最大不超过20000,贴图最好不要超过2048

关键帧动画

骨骼动画(类人型)

CAT插件

任意动画->点缓存->帧动画

Draw Call:每帧CPU准备数据调用图形编程接口(DirectX或OpenGL),来命令GPU进行渲染的一次操作

FPS:FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。FPS是测量用于保存、显示动态视频的信息数量。每秒钟帧数越多,所显示的动作就会越流畅。

减少Draw Call,CPU的使用减少,FPS升高,游戏流畅

阴影占一个Draw Call

Dynamic Batching 动态批处理

Dynamic Batching是完全自动进行的,不需要也无法进行任何干预。

对于顶点数在300以内的可移动物体,只要使用相同的材质,就会组成Batch,就只有一个Draw Call

材质的着色器必须是单Pass,单通道,就是没有子着色器(不太懂),并且是Mesh Renderer渲染的才能使用动态批处理

静态物体(设置为static的)不能参与动态批处理

scale设置差距过大可能不会动态批处理

纹理相同材质不同,依然是两个Draw Call

材质中影响Draw Call的只有着色器中的pass,纹理不影响

(使用有子着色器的着色器要把子着色器一起导入项目,不然会变紫)

不同形状物体的材质材质就算相同也要占两个Draw Call

Static Batching

Static Batching则需要把静止的物体标记为Static,然后无论大小,都会组成Batch。

与顶点无关

与pass无关

scale设置差距过大可能不会静态批处理

是Mesh Renderer渲染的才能使用静态批处理

第二个物体不优化

静态批处理适合场景,动态批处理适合动态加载的,当顶点数大于300时可以拆分成多个子物体

LOD

LOD技术即Levels of Detail的简称,意为多细节层次。LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。

根据距离不同使用不同模型

优点:提高渲染效率

缺点:要多准备一套模型,占用内存,开始时加载所有模型到内存中

Occlusion Culling

遮挡剔除,就是被挡住的物体禁用渲染

 

学习Unity3D时,以下是一些重要的笔记: 1. Unity3D基础知识: - 游戏对象(Game Objects)和组件(Components):了解游戏对象的层次结构和组件的作用。 - 场景(Scenes)和摄像机(Cameras):学会如何创建场景并设置摄像机视角。 - 材质(Materials)和纹理(Textures):掌握如何创建和应用材质和纹理。 - 动画(Animations):学习如何创建和控制游戏对象的动画。 2. 脚本编程: - C#语言基础:了解C#语言的基本语法和面向对象编程概念。 - Unity脚本编写:学习如何编写脚本来控制游戏对象的行为和交互。 - 常见组件和功能:掌握常见的Unity组件和功能,如碰撞器(Colliders)、刚体(Rigidbodies)、触发器(Triggers)等。 3. 游戏开发流程: - 设计游戏关卡:了解如何设计游戏场景和关卡,包括布局、道具、敌人等。 - 游戏逻辑实现:将游戏规则和玩家交互转化为代码实现。 - UI界面设计:学习如何设计游戏中的用户界面,包括菜单、计分板等。 - 游戏优化和调试:优化游戏性能,解决常见的错误和问题。 4. 学习资源: - Unity官方文档和教程:官方提供了大量的文档和教程,逐步引导你学习Unity3D。 - 在线教程和视频教程:网上有很多免费和付费的Unity教程和视频教程,可根据自己的需求选择学习。 - 社区论坛和博客:加入Unity开发者社区,与其他开发者交流并获取帮助。 通过系统地学习这些内容,你将能够掌握Unity3D的基础知识并开始开发自己的游戏项目。记得不断实践和尝试,不断提升自己的技能!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值