精华内容
下载资源
问答
  • unity-pixel-editor:用于在Unity Engine中创建图片的像素编辑器
  • Unity2D Sprite Editor 图片切割

    千次阅读 2016-07-01 16:24:19
    http://blog.csdn.net/akof1314/article/details/38845933
    http://blog.csdn.net/akof1314/article/details/38845933
    
    展开全文
  • Unity3D Editor】导入图片自动转换成Sprite https://blog.csdn.net/july_unity/article/details/79275097 一,导入 1,无论是什么格式的图片(最好直接使用PS直接导出的PSD格式),Unity都会自己搞一套格式,...

    【Unity3D Editor】导入图片自动转换成Sprite

    https://blog.csdn.net/july_unity/article/details/79275097

    一,导入

     

    1,无论是什么格式的图片(最好直接使用PS直接导出的PSD格式),Unity都会自己搞一套格式,并且打包的时候也不会用你文件夹下图片的格式,而是Unity自己的格式。

    2,都可以在导入时设置,图片在发生拉伸变化时使用那种滤波模式,point ,Biliner,Trilinear,得到依次滤波效果提升的图片,point 使用最邻近滤波,采样像素通常只有一个,图像放大缩小后会有像素风格,在制作棋盘时,不希望有模糊效果选择这这种模式更好。Biliner使用线性滤波,找相邻四个像素差值,放大缩小后会有模糊效果,会被模糊,Trilinear,几乎和Biliner是一样的,只是Triliner在多级纹理渐变中进行了混合,如果一个纹理没有使用该技术(Creat MitMap)几乎是一样效果。Splite 可以直接选CreatMipMap,Texture需要把图片设置为Advance后选择是否使用多级纹理渐变技术(unity会根据相机距离对象距离,生成8个Mip,该做法在3D场景UI是很好的做法,如果UI都在平面就暴露出了它的弊端,因为都在平面,所以不会有距离相机距离的变化,勾选就行,不然会增加内存,切记。)

    3.Texture 在导入设置是Warp Mode 设置可以纹理在渲染超过纹理坐标时,Climp只选择重复纹理边缘像素,还是repeat模式重复整个纹理的模式

    4.MaxSize 该纹理的最大尺寸,如原图尺寸为1024*568,该项设置成4096,unity也只会使用它的原尺寸大小,改值的大小大于等于图片原尺寸,如果小于该纹理质量会有损失

     

    5.Format 格式设置

    1. Compressed 压缩格式,如果纹理没有透明通道,一般使用该项,优化内存量,如果有透明通道,显示原图片有可能出现问题。4位
    2. 16bit 低质量真彩格式。16位
    3. TrueColor 真彩模式。质量最高,是压缩格式的8倍,但也更消耗内存,32位
    4. Crunched 这种类型将会根据显卡的GPU来选择合适的压缩格式进行压缩然后会选用一种CPU上就能处理的压缩格式再压缩一遍。如果在制作供人下载的资源包的时候这种类型非常的合适。这个类型的压缩需要很长时间,但在运行时解压是非常快的。

     

     6.使用Advance 进一步设置Sprite 或者Texture 

     你的贴图无论如何都必须是2的幂次方。因为只有2的幂次方图片 并且没有透明通道才会被压缩,IOS会压缩成pvr格  式,Android会压缩成ETC格式,压缩以后图片会小很多的,好几倍的小

     如果原图不是2的幂次方,可以在advance设置Non Power of 2值,

    1. ToNearest :转换成距离该图片最近的2的幂次方值。
    2. ToLarger : 转换成比该图片大的2的幂次方值。
    3. ToSmaller : 转换成比该图片小的2的幂次方值。

    二,对比

    Sprite,精灵

    1.2D--UI

    1.Sprite 用在 Image 组件上.,可以用来制作动画,

    可以设置Simple模式,作为一般UI,

    设置为Sliced模式,即九宫格模式,在图集中设置图图片边界后,使图片的拉伸只拉伸中间部分,不拉伸边界

    设置为Tiled 模式,实现过个图片重复平铺的效果,

    设置为Filed模式,实现图片的部分到整体的播放,可以用来做技能冷却,或者游戏的进度条(不是压缩的拉伸)

    材质通常不需要选择,很少用到,可以用来实现一些特殊效果,如凹凸感觉

      2.Sprite 有图集的概念,可以选择整图导入,UNITY中使用SpriteEditor切割,也可以选择导入后设置图片的packageTag系统       自动打包图集,图片小的,重复性比较高的图片最好打成图集,

     

      注意:1,一个图集内的图片用UISprite,那么它就是一个DrawCall。但是如果你做了一个图集是1024X1024的。此时你的界面   上只用了图集中的一张很小的图,那么很抱歉1024X1024这张大图都需要载入你的内存里面,1024就是4M的内存,如   果你做了10个1024的图集,你的界面上刚好都只用了每个图集里面的一张小图,那么再次抱歉你的内存直接飙40M

                2.带透明通道和不带透明通道的,CreatMipMap和不Create 的,不能制作成同一图集  

    2.3D---场景

      1.单个Sprite 直接拖入场景中,系统自动添加SpriteRanderder 组件,作为3D物体直接使用,

      2. 多个Sprite直接拖入场景,可以直接制作帧动画,在2D中同样也可以。

    2.Texture 纹理

     2D.---UI

    1.Texture用在Raw Image组件上,可以用来制作动画

    2.tuxture没有图集的概念,这样内存里只会占用你这一张图的大小,内存虽然小了但是DrawCall就上去了。因为每一

    张UITexture就是一次DrawCall。原画,或者背景图建议直接使用UITexture。

     3.可以通过UV 调节图片显示的偏移,和重复(可以用来制作多格子血条)

    3D--场景

    1.无论单个,多个,不可以直接拖入3D场景中!!,2D也不行

    2.用于3D模型贴图,(Shader代码把贴图和纹理坐标映射),再由GPU把模型渲染出来

    MeshFiiter组件中模型网格,存储的纹理坐标信息(Unity自己创建的Cube会自动添加纹理坐标所以创建后就能贴上纹理,3D建模时如果忽略 没有给模型生成纹理坐标,会导致模型贴上贴图没有效果)

    MesherRenderder 物体渲染组件

    补充:

     

    材质纹理贴图的关系:
    材质 Material包含贴图 Map,贴图包含纹理 Texture。

    纹理是最基本的数据输入单位,游戏领域基本上都用的是位图。此外还有程序化生成的纹理 Procedural Texture。

    贴图的英语 Map 其实包含了另一层含义就是“映射”。其功能就是把纹理通过 UV 坐标映射到3D 物体表面。贴图包含了除了纹理以外其他很多信息,比方说 UV 坐标、贴图输入输出控制等等。

    材质是一个数据集,主要功能就是给渲染器提供数据和光照算法。贴图就是其中数据的一部分,根据用途不同,贴图也会被分成不同的类型,比方说 Diffuse Map,Specular Map,Normal Map 和 Gloss Map 等等。另外一个重要部分就是光照(高光,漫反射,环境等信息),通过Shader语言,调用CG,HLSL,GLSL图像编程接口写入一个文本中,构成材质的数据集合。

    同时材质可以提供接口可以方便调试。

     

    像素,分辨率
    像素是计算机屏幕上所能显示的最小单位。用来表示图像的单位。

    一个像素有多大呢?主要取决于显示器的分辨率,相同面积不同分辨率的显示屏,其像素点大小就不相同。

    如一张640X480的图片,表示这张图片在每一个长度的方向上都有640个像素点,而每一个宽度方向上都480个像素点,总数就是640X480=307200(个像素),简称30万像素

    分辨率指屏幕上像素的数目,为了控制像素的亮度和彩色深度,每个像素需要很多个二进制位来表示,如果要显示256种颜色,则每个像素至少需要8位(一个字节)来表示,即2的8次方等于256;当显示真彩色时,每个像素要用3个字节的存储量.像素值也是长度定义中使用最为普遍的单位像素值的英文名称为pixel

    用像素值定义长度的时候,一定要考虑屏幕分辨率的兼容性,例如,一个设计者设置了一个张图片的显示宽度是800像素,在800*600像素分辨率的屏幕上它能够占据整个宽度,而在1600*1200像素宽度的屏幕上,它只能占有屏幕宽度的一半。

    大小=分辨率*位深/8     分辨率=宽*高(如:1024*768,640*480)    位深:如24位,16位,8位       /8计算的是字节数。

    例如:

     

     

     

     

    一幅图像分辨率:1024*768,24位,则其大小计算如下: 不考虑压缩,占位等。。。。
    大小=1024*768*24/8=2359296byte=2304KB

    1、厘米和像素

    厘米和像素没任何关系,厘米是长度单位,什么是象素呢?像素是组成图像的最基本单元。它是一个小的方形的颜色块。

    一个图像通常由许多像素组成,这些像素被排成横行或纵列,每个像素都是方形的。当你用缩放工具将图像放到足够大时,就可以看到类似马赛克的效果,每个小方块就是一个像素。

    每个像素都有不同的颜色值。单位面积内的像素越多,分辨率(dpi)越高,图像的效果就越好。

    显示器上正常显示的图像,当放大到一定比例后,就会看到类似马赛克的效果。每个小方块为一个像素,也可称为栅格。像素图的质量是由分辨率决定的,单位面积内的像素越多,分辨率越高,图像的效果就越好。

    显示屏的尺寸是指其对角线的长度,用英寸表示,1英寸=25.4毫米。

    我们以一款手机为例来说明这个问题。其主屏尺寸:4寸,主屏分辨率:800x480像素,通过勾股定理计算可知其长宽为3.430寸X2.058寸(87.1毫米X52.3毫米)。800/3.430=233,即每英寸长度有233个像素,每一个像素有87.1/800=0.109毫米大。

    显示屏的尺寸是指其对角线的长度,用英寸表示,1英寸=25.4毫米。

    就是说这个手机的显示屏共由800X480=384000个边长为0.109毫米大小相等的像素点所组成。任何一张图片在这个显示器里百分之百全屏显示时(图片作为墙纸或屏保时效果最好),其像素点都是这么大。如果图片大过显示屏,则要滑动滚动条才能看完全图,如果小于显示屏,则会居中显示,无图显示处为黑框显示。对于640X480分辨率的图在此显示屏中会居中显示,在长度方向上两端会有一截为黑框显示。这个图片的尺寸长为69.68毫米,宽为52.3毫米。如果是在光线不足的条件下照得的相片,你会看到一格格的马赛克,画面很是粗糙。

    而对于4.3寸主屏,若其分辨率:1280x720像素,则长和宽3.746X2.108(95.2毫米X53.5毫米),1280/3.746=341,即每英寸长度有341个像素,每一个像素有95.2/1280=0.074毫米大。显而易见这个屏幕比前面那个屏显示的效果好得多了。640X480分辨率的图片在这里的长和宽分别为47.6毫米和35.7毫米。对于4.5寸主屏,若其分辨率为:1280x720像素,则长和宽3.923X2.206(99.6毫米X56.0毫米),1280/3.923=326,即每英寸长度上有326个像素,每一个像素有99.6/1280=0.078毫米。和前面的4.3寸屏差不多

     

     

     

     

     

     

     

    展开全文
  • unity里利用Sprite Editor切割本图片为多张图片,让Batches和SetPass calls的值处于最小值,用以减少性能损耗。 上图可以见到,尽管图片有十多张,但是Batches和SetPass calls都是维持3的值。笼统一点的说,...

    原图片
    在unity里利用Sprite Editor切割本图片为多张图片,让Batches和SetPass calls的值处于最小值,用以减少性能损耗。
    分割后
    性能展示
    上图可以见到,尽管图片有十多张,但是Batches和SetPass calls都是维持3的值。笼统一点的说,Batches和SetPass calls的值越大,游戏运行需要消耗的资源也越多,也会导致游戏运行变慢、卡顿等情况,所以尽量减少这两个值变得尤为重要。

    图片切割步骤:
    1、导入未分割图片资源(如图1)后点击图片,在Inspector栏里修改Texture Type为Sprite(2D and UI)
    2、修改Sprite Mode项为Multiple
    3、点击进入Sprite Editor
    在这里插入图片描述
    PS:如进入不了Sprite Editor,请检查是否已经安装该插件。
    安装方法:Window - Package Manager 搜索 2D Sprite 并单击右下角安装。
    4、进入Sprite Editor后点击左上角Slice选择好合适的切割方式,按Sclice确定切割。(切割后可以根据自己需要再每个进行手动调整)
    在这里插入图片描述
    (我这里是用了Grid By Cell Size设置每个统一的大小,然后再手动进行细微调整)
    5、调整完成后按右上角Apply确定。
    在这里插入图片描述
    至此完成。

    展开全文
  • Unity Editor下判断图片是否带alpha通道

    千次阅读 2019-02-22 16:15:19
    核心代码: //texPath为图片路径 texImporter = TextureImporter.GetAtPath(texPath) as TextureImporter; if (texImporter.DoesSourceTextureHaveAlpha()) { return true; } ...

    核心代码:

    //texPath为图片路径
    texImporter = TextureImporter.GetAtPath(texPath) as TextureImporter;
    if (texImporter.DoesSourceTextureHaveAlpha())
            {
                return true;
            }
    
    展开全文
  • Unity 图片修改

    千次阅读 2018-01-24 17:43:31
    检测图片,修改图片格式 ...using UnityEditor; using System.IO; using System.Collections.Generic; using System.Text; using System.Reflection; public class TextureCheck { [MenuItem("检查图片/检查文件
  • 在UGUI使用过程中,我们经常会替换已有图片,除了在文件夹里操作外,也经常直接将图片拖拽到Unity编辑器中,这个主要是为了防止抽象派美术们不会传meta文件,导致各种冲突。...using UnityEditor;...
  • 本文为 Unity3D 入门小伙伴整理 Unity 编辑器中的常用快捷键。 本文内容调节工具视图调节窗口调整进入退出播放模式所有快捷键 调节工具 Unity 编辑器左上角的一组按钮,正好也对应着键盘左上角的字母: 图标 ...
  • UnityEditor动态生成图集SpriteAtlas,并包含文件夹图片 //首先读取json [MenuItem("工具/创建Atlas")] static void AtlasCreate() { string rpath = "Assets/AssetAll/ps"; DirectoryInfo direction = new ...
  • Unity UGUI Font Editor

    2018-04-07 16:57:23
    游戏制作中,经常需要使用各种花哨...将包里面的数据放置到unity的资源目录下,右键点击fnt文件,在右键菜单中选择BatchCreateArtistFont来生成相关的字体文件, fnt文件为BMFont导出的文件,BMFont如何使用请自行百度
  • 会频繁更新 主要给自己看性能优化总结:成本和分析工具:Memory Profiler/Unity Editor Profiler/Frame Debugger/RenderDoc/ VS / ADB /Instruments / GPA /Inter VTune Profiler /Unity Bulid Report Tool优化大纲:1:...
  • unity 可以通过修改图片格式来减少包体大小,不同平台对不用格式图片的加载速度,也有差别.在开发WebGl是因为没有开发好的工具,要对图片进行一个处理,自己写了一个脚本工具类,来进行图片适配WebGl端. 最后的效果,用过...
  • 很久很久没有更新了,最近忙着参加比赛 没有多少空闲...然后再window窗口打开Sprite Editor编辑器 之后先点击Tirm即可开始裁剪 我们会发现下边多出来很多小绿格 我们可以手动调整大小 做到随心所欲的裁剪 总之 uni
  • 前段时间写了一篇名叫《Unity使用Windows弹窗保存图片》的文章 然而现在项目进入了测试阶段 就在发布的时候,这个地方出问题了 问题出在using UnityEditor; 如上文章介绍,我们使用了SaveFilePanel这个API来...
  • using System.Collections; using System.Collections.Generic; using System.Threading; ...using UnityEditor; using System; using System.IO; public class ScaleOne : EditorWindow { [M...
  • UnityEditor相关功能

    2018-12-26 17:35:42
    一、脚本对象可视化编辑...图片例子: /// <summary> /// 数据类 /// </summary> [Serializable] public class ChildItem { public string Name; public int ID; /...
  • 网上很多代码设置图片压缩格式的案例,都很简单,提供思路,随时百度。 本篇文章是为了满足项目需求,加了一些功能: ...本文涉及大部分的Unity Editor的UI绘制API,互相学习。 效果如下: 获取所有信息
  • using UnityEngine;using System.Collections;...using UnityEditor;enum GetPicType{DownLoad = 0,LocalLoad,}public class Picture : MonoBehaviour{//这里是本地的ip地址string url = "http://127.0.0.1:800...
  • Unity插件—导出利用SpriteEditor分割完的图片 我们在搜集资源的时候会碰到把很多UI集成到一张png图片的情况,这个时候我们会用SpriteEditor将其分割,但是如果我们用NGUI的话就需要制作图集,这个时候我们需要小的...
  • using UnityEditor; /// <summary> /// 扩展原生组件 /// </summary> /// [CustomEditor(typeof(Camera))] //脚本名 public class Editor_Test4 :Editor {![在这里插入图片描述](https:...
  • 那么我也顺便的介绍一下unity3d editor sprite 分割后的结果保存吧。我们用来做sprite 的图片,通常会留有很多空白的地方,我们在画完了sprite之后,这些地方很可能就没有什么作用了。如果想避免这些资源上的浪费,...
  • 本文实例为大家分享了Unity3D选择本地图片并加载的具体代码,供大家参考,具体内容如下①找到System.Windows.Forms.dll:在unity的安装目录中找到它,如E:\ProgramFiles(x86)\Unity\Editor\Data\Mono\lib\mono\2.0②...
  • Unity WWW 网络图片加载

    2020-06-03 17:02:28
    Unity 网络图片加载 目录Unity 网络图片加载 ...using UnityEditor; /// <summary> /// 网络图片加载 /// </summary> enum GetPicType { DownLoad = 0, LocalLoad, } public class Picture : Mon
  • 本文实例为大家分享了Unity生成图片灰白图的具体代码,供大家参考,具体内容如下 效果 原图 生成出来的灰白图 制作方法 把文章末尾的的TextureUtils.cs脚本放到工程的Assets / Editor目录中 然后选中项目中的一张...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 368
精华内容 147
关键字:

editorunity图片