Uni2D入门
转载 http://blog.csdn.net/kakashi8841/article/details/17558059
开始
Uni2D增加了一些新的便利的特性给Unity,它们用于推动你2D工作流程和生产力。最有用的一个特性是sprite的创建:使用Uni2D,你能通过从项目窗口拖动texture来闪电创建sprite或者物理sprite。这个部分将向你展示怎样设置Uni2D以及插件主要特性与原理。
什么是sprite?
一个sprite是一个带有texture的plane mesh。一个sprite通常和camera是正交的。最简单的sprite是一个由三角形合成的矩形,但它还能更复杂。在Unity中,sprite是一个没有厚度的3D物体。
什么是物理Sprite?
一个物理sprite带有物理碰撞器。它能和其它物理物体碰撞并做出正确的反应。物理sprite的特性和渲染是分开的,所以它们的物理外形不必和sprite的图形一样。Uni2D能自动从sprite的texture中生成物理碰撞器。
什么是animation clip?
一个animation clip是一系列texture,称为帧,它用于以一个固定的速率显示sprite,来造成一种动画的错觉。没什么好惊奇的,一个animation clip就是简单的电影胶片。
什么是ATLAS?
一个texture atlas是一个大图,它包含了一系列更小的子图,它们是用于2D/3D物体某部分的texture。当有某些需要在屏幕渲染的时候,它背后带来的是draw call。由于不同的原因(例如渲染状态改变),一个draw call是一个很慢的操作,因此我们需要保持较低的draw call来保证较高的帧率。在移动设备上,接近30-40个draw call就开始变得危险了,具体取决于你的设备和渲染的场景。
幸运的是,在一些条件下,draw call是可以被批量处理的。unity会自动那么做,Atlas是帮助批处理draw call的一个方式:通过使用一个大texture(altas),不同的精灵能被批处理,只要它们共享同个texture。
什么是骨骼动画(Skeletal Animation)?
骨骼动画是让2D/3D对象动起来的一种方式,这些对象构成的骨骼由骨头层级组成,几乎就像人类的骨骼一样。通过移动一个骨头,mesh会因为受到骨头的影响发生形变。这个技术是直观的,它允许你让一个对象做动作。
无缝更新
如果你某个texture改变了,而它是通过一个Uni2D asset来使用的,比如sprite或animation clip,这个asset将会被自动更新。这个特性为你提供了一个非常舒服的工作流程,你可以使用你喜欢的图片编辑器编辑texture,而只要在Unity中几秒后就能看到结果!还不满意?撤销改变,那么所有事物都会被还原。简单!
理论看够了!
好,让我们开始吧!首先,到Unity的菜单栏点击Uni2D > Sprite Editor
这将打开Sprite Editor。只要这个窗口打开了,将会开启拖放特性,所以先不要那么快关闭它!
Sprite的拖放特性现在已经开启了。下面是Uni2D一些sprite创建的快捷方式。
| 操作 | 快捷方式 | 描述 |
| 拖放texture到场景 | 从texture创建sprite | |
| ALT+拖放texture到场景 | 从texture创建新的物理sprite | |
| SHIFT+拖放多个texture到场景 | 从多个texture中创建sprite动画(按名字排序)。也创建Animation Clip。 | |
| ALT+SHIFT+拖放多个texture到场景 | 从多个texture中(通过名字排序)创建一个新的动画sprite,并使用物理系统。物理是从第一帧动画的texture开始计算的。同时也创建了animation clip。 |
当然还有更多的创建方式:正如你看到的,sprite editor窗口有3个按钮,你可以选择一个或多个texture,然后再点击按钮来创建。
必须在SpriteEdite打开状态下才有效
| 按钮 | 描述 |
| Create sprite | 对每个选择的texture创建一个sprite。和拖放texture到场景是一样的。 |
| Create physics sprite | 对每个选择的texture创建一个物理sprite。和ALT+拖放texture到场景是一样的。 |
| Create animation clip | 从选择的texture创建 animation clip asset。帧是根据texture名字排序的。参照上面快捷方式表格第三和第四种方式。 |
Sprite组件和属性(Uni2D Sprite)
Uni2DSprite组件inspector显示所有的设置,你能按你的爱好扭曲你sprite的形状。inspector支持多选编辑,这样可以节省你宝贵的时间。
Sprite Inspector 预览
Sprite部分
| 设置 | 描述 |
| Sprite Texture | 用于sprite的texture |
| Use Atlas | 包含了texture的atlas。atlas已经包含了下面列出的sprite texture,其它所有可用atlas在“all atlases”子菜单中列出。你也能创建一个新的atlas来立刻包含sprite texture,通过点击"create a new atlas"即可。看Atlasing部分可以了解更多细节。 |
| Shared Material | 默认的,如果没有atlas,sprite有它唯一的material。如果你想要在多个sprite之间共享material(为了优化)设置这个域为你指定的material。 |
| Vertex Color | 给sprite的mesh染色。这个属性也能在运行时通过脚本访问(请看API部分获取更多详情) |
| Collider Triangles | 生成的物理mesh 三角形的统计数目,用于信息显示。当创建物理sprite的时候,尽量让这个数目小一点。 |
| Sprite Scale | 基础scale用于生成sprite。Uni2D使用纹理的width和height做为基础大小并应用0.01因素给它们。默认scale1表示512*512的texture将在Unity中产生一个5.12*5.12的sprite,0.5将创建一个2.56*2.56等等。 |
Pivot部分
| 设置 | 描述 |
| Position | 预定义中心点的位置。默认是Middle Center |
| Custom | 使用这个把轴心放到你喜欢的位置。 |
Pivot 调节不会显示在视图中,但会影响SpriteScale
Sprite Mesh部分
| 设置 | 描述 |
| Mesh | 用于渲染Sprite的Mesh(表格下面有三个图片来演示mesh不同设置)
|
| Alpha cut off(只有mesh属性设置为Texture-To-Mesh或Grid才有) | 0意味着所有的像素都有用,而结果就是一个方形mesh。 |
| Edge Simplicity | 使用这个设置去简化生成mesh的拓扑。一个低的值意味着一个轮廓分明的mesh。一个高的值意味着一个简单的图形。用于减少三角形数目。 |
| Use Physics | 勾选这个复选框,如果你想让你的sprite 使用物理的mesh做为sprite mesh。(前提是这是一个物理sprite) |
| Horizontal/Vertical Sub Divs | 水平和垂直创建网格的数量。增加这个值能在skinned sprite创建更美妙的变形。都为0则为一个方形mesh。 |
不同mesh设置的效果:
Physics 部分
| 设置 | 描述 |
| Physics Mode | 应用到sprite的模式有:
|
| Collision Type | 生成的物理mesh的形状。
|
| Is Kinematic(只有Dynamic物理模式有效) | 勾选这个复选框让sprite不受unity的物理引擎驱动。 |
| Alpha Cut Off | 和sprite的mesh是一样的,不过这个用于生成物理mesh。 |
| Edge simplicity | 和sprite的mesh是一样的,不过这个用于生成物理mesh。 |
| Extrusion depth | 所有生成的物理mesh有厚度,使用这个值可以调整它。 |
| Polygonize Holes(只有Concave和Compound的collision type有效) | 打开它可以在生成物理mesh的时候顾及到小孔。 |
physics > Dynamic 要么为3D要么为2D 否则不会交互
physics Skin Mode 1 no collider 不随Skeletal更新
2 使用脚本更新
3 只有Skeletal移动才更新
Skeletal平滑绑定部分
| 设置 | 描述 |
| Skin quality | 骨头的数目影响到对每个顶点的考虑。越大的值提供越好的效果,但也带来计算量的增加。“auto”值使用Unity当前平台的默认质量,即你项目build setting中设置的。 |
| Bone Influence Falloff | 改变这个值去设置你骨头的影响区域。Bone Influence会在两个骨头的顶点方法中计算。低的值意味着更少的衰减,所以大的影响区域,更高的值意味着更大的衰减,即影响区域更小。 |
| Open Skeletal Animation Editor | 点击这个按钮打开骨骼动画编辑器。更多详情在专门的部分会讲到。 |
Animation 部分
| 属性 | 描述 |
| Play Automatically | 勾选这个复选框会使得在sprite初始化的时候就开始播放默认clip |
| Start clip index | 第一个播放动画的下标 |
| Animation Clips | 当前sprite上面的animation clips。更多详情看Animation Clip部分 |
| Add animation clip | 点击这个按钮来附加一个animation clip到这个sprite上。你也能通过点击菜单栏“Uni2D > Create > Animation Clip”来创建一个新的animation clip并把它附加到sprite上。 |
Uni2D入门的更多相关文章
- Uni2D —— 入门(全)
Uni2D 入门 Uni2D 入门 -- Atlas Uni2D 入门 -- Animation Clip 和 Animation API Uni2D 入门 -- Skeletal Animation ...
- Uni2D 入门 -- Skeletal Animation
转载 csdn http://blog.csdn.net/kakashi8841/article/details/17615195 Skeletal Animation Uni2D V2.0 引进了一 ...
- Uni2D 入门 -- Asset Table
转载 http://blog.csdn.net/kakashi8841/article/details/17686791 Uni2D生成了一个自定义的表格用于保存你资源的唯一ID的引用.这个表格用于更 ...
- Uni2D 入门 -- Atlas转载 http://blog.csdn.net/kakashi8841/article/details/17588095
转载csdnTexture Atlas 我为什么应该使用Texture Atlas? 使用Atlas是一个普遍的好做法,而且它有很多好处.当有某些需要在屏幕渲染的时候,它背后带来的是draw call ...
- Uni2D 入门 -- Animation Clip 和 Animation API
转载 csdn kakashi8841 http://blog.csdn.net/kakashi8841/article/details/17599505 Animation Clip 一个anima ...
- Uni2D 入门
原地址:http://blog.csdn.net/kakashi8841/article/details/17599505
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
随机推荐
- 微信小程序支付签名老是失败,在官网的校验签名工具校验成功,老是返回签名失败
在网上也百度了各种签名不正确的解决方法,都没有问题,但签名就是不成功,实在找不出问题了,我就重置了一下api秘钥,结果成功了…… 不知道什么原因第一次填写的api秘钥也是我重置的,填写的也没有问题,但 ...
- Win10还原被Windows Defender隔离的文件
Win10最新版本的Windows Defender隔离/删除的文件没有还原的选项,导致很多破解文件或是注册机直接隔离,到威胁历史记录中去却无法恢复.经过各个尝试,到微软官方论坛中也尝试了很多方法,后 ...
- vuejs实现瀑布流布局(一)
一直以来,习惯了jquery的DOM操作方式,突然间,开始学习使用vuejs,很多时候,操作DOM观念总是转换不过来,虽然也能实现各种效果,但是总有点不伦不类的. 就类似于最近在做的瀑布流布局,正常的 ...
- nodejs基础学习1
ES6常用新语法 ES6新语法 什么是ES6? 由于JavaScript是上个世纪90年代,由Brendan Eich在用了10天左右的时间发明的:虽然语言的设计者很牛逼,但是也扛不住"时间 ...
- 【Servlet】监听器入门
- 好久没玩docker了,温下手
好久没玩docker了,温下手 安装 Docker Docker 软件包已经包括在默认的 CentOS-Extras 软件源里.因此想要安装 docker,只需要运行下面的 yum 命令: yum i ...
- linux 之 source命令:
source命令: source命令也称为“点命令”,也就是一个点符号(.).source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录. 用法: source filen ...
- Win7平台下配置Sublime Text2 的C++编译环境
Sublime Text 是一个跨平台的编辑器,之前在 Mac 上成功配置了 C++ 在 Sublime Text 的编译环境,接下来介绍下载 windows 平台下的环境配置. 1. 首先判断机器上 ...
- Centos7 搭建Gitlab服务器并配置项目全过程
https://blog.csdn.net/Abysscarry/article/details/79402695 gitlab与jenkins整合搭建 https://blog.csdn. ...
- Flex验证器 validate stringvalidate
1 validate <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns: ...