Unity3D 游戏技术开发之Native2D特性研究.doc
《Unity3D 游戏技术开发之Native2D特性研究.doc》由会员分享,可在线阅读,更多相关《Unity3D 游戏技术开发之Native2D特性研究.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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轴固定以后的效果,所以从本质上来讲Unity3D的Native2D还 是3D引擎在2D效果
3、下的一种实现。 我们注意到Sprite组件中有一个最重要的SpriteRenderer组件,该组件负责的是对Sprite的渲染,我们可以通过指定Sprite这个属性来指定的渲染的资源。我们选择其中的一个图片资源,可以看到其属性窗口: 其中TextureType用来指明贴图的类型,这里我们选择Sprite类型,因为只有这种类型的贴图才能提供给Sprite组件来使用。 SpriteMod用来指定精灵是一张单个的图还是一系列图集,我们注意到这张图片是一个帧动画序列,所以我们应该选择Multiple类型。接下来,我 们单击SpriteEditor按钮打开精灵编辑器,目的是将这些精灵图集分割成单个的图片
4、。如果大家阅读过博主刚开始学习Unity3D时写过的文章, 一定记得博主曾经用PhotoShop将一张帧动画序列图用切图的方式分割出来,再通过绘制贴图的方式来实现帧动画吧。这样是不是很麻烦啊?没关 系,Unity3D的Nativie2D提供的精灵编辑器可以帮你快速地完成这一工作。文章出处:狗刨学习网。我们打开精灵编辑器: 大家可以看到这里博主将这张图片分割成了16个图片。这里有一个技巧是可以通过Trim按钮获得大小一致的图块,因为精灵编辑器可以帮助你判断图形的边 界。这样做的好处是Unity可以帮你生成16张个帧动画序列,从而你可以任意地调用某一帧动画,然而资源管理器中并不会生成相应的文件,这
5、样可以节省项 目资源的大小。文章出处:狗刨学习网。如图: 好了,接下来,我们来编写脚本来展示如何使用这组精灵动画: 1. usingUnityEngine; 2. usingSystem.Collections; 3. 4. publicclassSpriteScript:MonoBehaviour 5. 6. /向上的精灵集合 7. publicSpriteUpSprites; 8. /向下的精灵集合 9. publicSpriteDownSprites; 10. /向左的精灵集合 11. publicSpriteLeftSprites; 12. /向右的精灵集合 13. publicSpr
6、iteRightSprites; 14. 15. /上一次使用的精灵集合 16. privateSpritelastSprites; 17. /当前使用的精灵集合 18. privateSpritecurrentSprites; 19. 20. /当前帧序列索引 21. privateintindex=0; 22. /每秒帧数 23. privatefloatfps=10; 24. /当前经历时间 25. privatefloatcurrentTime=0; 26. 27. /角色当前状态 28. privatePlayerStatestate; 29. 30. /精灵渲染器 31. priv
7、ateSpriteRendererrenderer=null; 32. 33. voidStart() 34. 35. /初始化角色状态 36. state=PlayerState.Idle; 37. /初始化角色精灵集合 38. currentSprites=UpSprites; 39. lastSprites=currentSprites; 40. /获取精灵渲染器 41. renderer=GetComponent(); 42. 43. 44. 45. voidFixedUpdate() 46. 47. if(Input.GetAxis(Horizontal)=1) 48. state=
8、PlayerState.Walk; 49. SetSprites(RightSprites); 50. MoveTo(newVector2(Time.deltaTime*2.5F,0); 51. elseif(Input.GetAxis(Horizontal)=-1) 52. state=PlayerState.Walk; 53. SetSprites(LeftSprites); 54. MoveTo(newVector2(-Time.deltaTime*2.5F,0); 55. elseif(Input.GetAxis(Vertical)=1) 56. state=PlayerState.W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Unity3D 游戏技术开发之Native2D特性研究 游戏 技术开发 Native2D 特性 研究
限制150内