前置说明: 我们用来做sprite 的图片,通常会留有很多空白的地方,我们在画完了sprite之后,这些地方很可能就没有什么作用了。如果想避免这些资源上的浪费,我们可以把各个sprite做成图集,把图片上的空间尽量利用得充实一点。这时候,我们就需要一个制作图集的工具。 其实这个功能要自己写也不难的,只是把各个sprite上的图片做copy pixel处理,然
恭喜熊猫先生,在半年的散养状态之后,终于再次开始工作了。(小声比比,今年真的是好难找工作啊。模棱两可的能力,四处碰壁)SpriteAtlasunity2017引入的新内容。其实就是图集。最大的好处就是,同一图集里的图片,在渲染的时候,会只产生一个DrawCall。(可能大概也许是这样)今天就来说一说关于这个东西的几件事情。搜别人的文章,真的是太难了,各种找不到……以unity2018的api为基
1.1 简介Sprite Shape 可以很灵活的更改sprite的轮廓。比如:它由两部分组成:Sprite Shape Profile、Sprite Shape Controller,需要导入2D Sprite Shape Package.1.1.1 Sprite导入要求 Texture Type - ‘Sprite (2D and UI)’.Sprite Mode&nbsp
一 , 制作一个SpriteAtlas对象        1, 将所有要打入目标图集的图片设置为 "Sprite (2D and UI)" , 如下图所示   2, 新建一个SpriteAtlas对象       3, 在Objects for Packing 添加小图片 (注意是sprite类型的), 如下图 4, 制作成功,如下图所示 二, 使用图集 1, 代码 , 先上 using U
原创 2021-07-02 17:59:03
3144阅读
目录SpriteAtlas创建方法1、Type: Maskter母版 Variant变体2、Include Build: 勾选时运行游戏时自动加载入内存中,否则需要手动加载(使用到的时候才会加载!)3、Allow Rotation:允许图集的图片旋转,勾选后Unity会寻找最好姿势放置在图集内(这样就能让图集容下更多的图片,但是一般我们不勾选,因为这个旋转会影响到实际显示。)4、Tight Pac
转载 6月前
151阅读
Sliced Sprite(一个含有9个切片的Sprite,创建固定边框的控件最佳选择) Tiled Sprite(一个Sprite缩放填充整个区域) Filled Sprite(每个Sprite都会有一个单独的参数来控制那些是可见的,常被用来做进度条或者滚动条) NGUI:UIAtlas UIAtlas是一个容器,他包含了许多sprite的坐标信息
转载 10月前
97阅读
打AssetBundle时不需要对.spriteatlas文件单独打包,对其单独打包既可能造成资源的冗余,又有可能造成资源加载的异常。具体为什么,出于各种考量(懒),没有去深究。。。然后.spriteatlas文件的一些选项:...
原创 2021-11-18 15:38:11
402阅读
我研究SpriteAtlas的Include in Build的作用将近一天了,实在是头大,然后也不知不觉把丢失的英语给捡起来了。。。首先官方的介绍:    https://docs.unity3d.com/Manual/SpriteAtlasDistribution.html        中文意思:不勾选Inclu
我的环境 Unity引擎版本:Unity2019.3.7f1 AssetBundles-Browser 于2021-1-14拉取,github上最后提交日期是2019-12-14,在本文简称:ABBrowser 注意事项:每次修改spriteAtlas的属性后,都要把ab文件删除后再重新打包。 事件
原创 2021-07-20 17:03:23
791阅读
结构WNDCLASS包含一个窗口类的全部信息,也是Windows编程中使用的基本数据结构之一。WNDCLASS是一个由系统支持的结构,用来储存某一类串口的信息,如ClassStyle,消息函数,Icon,Cursor,背景Brush等。也就是说CreateWindow只是将某个WNDCLASS定义的窗体变成实例。要得到某一窗口的WNDCLASS数据,可以使用GetClassLong()。窗口类属性
       WNDCLASS是一个由系统支持的结构,用来储存某一类窗口的信息,如ClassStyle,消息处理函数,Icon,Cursor,背景Brush等。也就是说,CreateWindow只是将某个WNDCLASS定义的窗体变成实例。要得到某一窗口的WNDCLASS数据,可以用GetClassLong();  Regist
转载 1月前
0阅读
SpriteAtlasunity新的图集,取代了旧图集Sprite Packer 图集打包的意义: 1、减少DrawCall,一张图集只需要一次DrawCall 2、图集将一张或者多张图片合成一张2的幂次方的图片,减少资源大小 Sprite Packer缺点: 旧版Sprite Packer在性能 ...
转载 2021-11-02 19:36:00
1803阅读
2评论
数据的采集。我的思路是,不管后面要如何动手,先要了解项目中图集的一些基本数据,例如:图集的引用情况,图集的大小等等。当然,具体需要什么数据,也是不断在完善过程中的。就像我,光是数据的采集就改了三版。所以,经验确实很重要。      写了一个小工具来采集数据。这里面涉及到了unity编辑器相关的api。UnityEngine.Object AssetDatabase.L
转载 9月前
65阅读
在游戏开发过程中,图片的使用是必不可少的,尤其是在UI部分,往往会使用大量的图片。如果每一张图片都是单独使用的话,实际上会对性能造成很大的损耗的。这时候我们往往是把需要的图片资源进行分类,然后按照需要打包成对应的图集。这样会方便管理和更新迭代,同时也减少了很多的性能开销。假如你一个UI界面使用了10张不同的图片,那么加载这个界面的时候,就会同时对10个图片资源进行渲染,而如果这10张图片是在同一个
转载 2024-08-19 10:39:30
175阅读
文章目录一、Sprite Shape Profile 精灵形状概述文件配置二、Sprite Shape Renderer 精灵形状渲染器三、Sprite Shape Controller 精灵形状控制器 Sprite Shape 是精灵形状的意思,它主要是方便我们以节约美术资源为前提,制作 2D 游戏场景地形或者背景的 在 Window --> Package Manager 中搜索
转载 2024-03-04 21:52:33
770阅读
3 framedebuger观测结果时主要注意Shadows.RenderShadowMap中的Shadows.RenderJobDir和RenderForward.RenderLoopJob。可以看出来合批主要是在这两个函数中实现作用,分别是描画阴影和描画实体。有可能有些设置在一个函数中实现合批了但是在另一个函数中合批失败。1 Different Combined Meshes— th
转载 2024-08-28 14:14:32
199阅读
创建一个2D项目1、打开 unity Hub 2、点击新项目 3、选择2D模版,并修改项目名称创建场景-Scene1、点击左上角的File,选择New Scene, 快捷键:Ctrl + N 2、创建完之后,你会看到一个Untitled 的空场景,记得保存:File > Save 快捷键:Ctrl + S 3、保存的时候,选择保存的路径为 Scenes (若没有,请在自行创建,位置为 Ass
转载 2024-04-17 16:45:06
102阅读
在开发项目中,遇到一个问题,我需要把动态的人物Sprite放在镜头前,同时又要把UI放在固定的位置,并且一些UI弹出式会覆盖掉人物等Sprite避免干扰,下面就来实现这个需求设置相机和Canvas因为我做的是2D游戏,首先先把摄像机的Projection(投影)模式设置为Orthographic(正交) 在这里科普一下 Camare有两种Projection(投影)模式,分别是Perspect
转载 2024-06-21 07:03:00
281阅读
(接上文) Anti-Aliasing(反走样(抗锯齿) Anti-Aliasing is highly desirable in VR, as it helps to smooth the image and reduce jagged edges. If you are using Forward Rendering, you may be able to enable
转载 3月前
382阅读
Unity 工具 之 图集根据切割为一张张单张图片的简单封装(Unity 自带 SpritePackage 打包图集的性能优化)目录一、简单介绍二、实现原理三、注意事项四、实现步骤五、关键代码附加一、一些错误整理二、Unity性能优化之图集打包 - 使用Unity自带的打包图集功能一、简单介绍Unity 工具类,自己整理的一些游戏开发可能用到的模块,单独独立使用,方便游戏开发。本节介绍,如何不修改
转载 2024-04-03 07:31:07
456阅读
  • 1
  • 2
  • 3
  • 4
  • 5