欢迎来到天天文库
浏览记录
ID:39891005
大小:1.87 MB
页数:12页
时间:2019-07-14
《Unity3D 游戏技术开发之Native2D特性研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Unity3D游戏技术开发之Native2D特性研究欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。一、精灵(Sprite)与精灵图集虽然我们将Unity3D的2D特性成为Native2D,不过事实上Natvite只是相对于第三方插件而言的,从本质上Unity3D的2D仍然是属于3D的范畴。精灵(Sprite)是我们走进Native2D的第一个组件,所以的2D特性都是以这个组件作为基础。学习过2D游戏开发的朋
2、友应该知道精灵其实就是我们在2D世界里一张贴图。好了,下面我们创建一个新的项目来演示如何使用Sprite组件吧!第一个让我们激动人心的特性是我们可以在创建项目的时候就决定一个项目是3D游戏还是2D游戏,如图,这里我们直接选择2D,因为我们今天要探索的是Unity3D的Native2D特性,文章出处【狗刨学习网】。进入Unity后我们将注意到Unity的工具栏上会出现一个2D/3D的选项按钮且在当前场景中2D按钮被激活,这意味着这是一个2D项目,通过切换该按钮我们可以发现,Unity3D的Native2D就是将Unity3D的Z轴固定以后的效果,所以从本质上来讲
3、Unity3D的Native2D还是3D引擎在2D效果下的一种实现。我们注意到Sprite组件中有一个最重要的SpriteRenderer组件,该组件负责的是对Sprite的渲染,我们可以通过指定Sprite这个属性来指定的渲染的资源。我们选择其中的一个图片资源,可以看到其属性窗口:其中TextureType用来指明贴图的类型,这里我们选择Sprite类型,因为只有这种类型的贴图才能提供给Sprite组件来使用。SpriteMod用来指定精灵是一张单个的图还是一系列图集,我们注意到这张图片是一个帧动画序列,所以我们应该选择Multiple类型。接下来,我们单击
4、SpriteEditor按钮打开精灵编辑器,目的是将这些精灵图集分割成单个的图片。如果大家阅读过博主刚开始学习Unity3D时写过的文章,一定记得博主曾经用PhotoShop将一张帧动画序列图用切图的方式分割出来,再通过绘制贴图的方式来实现帧动画吧。这样是不是很麻烦啊?没关系,Unity3D的Nativie2D提供的精灵编辑器可以帮你快速地完成这一工作。文章出处:狗刨学习网。我们打开精灵编辑器:大家可以看到这里博主将这张图片分割成了16个图片。这里有一个技巧是可以通过Trim按钮获得大小一致的图块,因为精灵编辑器可以帮助你判断图形的边界。这样做的好处是Unit
5、y可以帮你生成16张个帧动画序列,从而你可以任意地调用某一帧动画,然而资源管理器中并不会生成相应的文件,这样可以节省项目资源的大小。文章出处:狗刨学习网。如图:好了,接下来,我们来编写脚本来展示如何使用这组精灵动画:1.using UnityEngine; 2.using System.Collections; 3. 4.public class SpriteScript : MonoBehaviour { 5. 6. //向上的精灵集合 7. public Sprite[] UpSprites; 8. //向下的精灵集合 9
6、. public Sprite[] DownSprites; 10. //向左的精灵集合 11. public Sprite[] LeftSprites; 12. //向右的精灵集合 13. public Sprite[] RightSprites; 14. 15. //上一次使用的精灵集合 16. private Sprite[] lastSprites; 17. //当前使用的精灵集合 18. private Sprite[] currentSprites; 19. 20.
7、//当前帧序列索引 21. private int index=0; 22. //每秒帧数 23. private float fps=10; 1. //当前经历时间 2. private float currentTime=0; 3. 4. //角色当前状态 5. private PlayerState state; 6. 7. //精灵渲染器 8. private SpriteRenderer renderer=null; 9. 10. void Start () 1
8、1. { 12.
此文档下载收益归作者所有