[SunnyLand从0到1]--开端
[SunnyLand从0到1]--开端
个人履历
注册csdn有一段时间了,期间更换了手机号,所以重新注册了一次。那是什么时候呢?大概是从大学二年级开始,但当时并非是因为unity而结识了csdn,而是java。当时并不知道游戏是如何从无到有做出来的,只知道玩游戏。当时老师在交c语言和c++,而那种枯燥的没有界面的编程手段实在让我无解于一个软件一个系统是怎么用如此语言编写出来的。直到我接触了java,当时用swing编写出了第一个界面。,于是高兴的发了一条说说:“终于知道手机应用是怎么编写出来的了,我会好好学习java的!”。直到之后接触了android,因为计算机科学与技术专业并没有开设安卓课程,所以我买了一本《第一行代码》开始了自学,这是我对应用程序开发的一次重大转折点,才知道,我之前对于程序开发只是停留在代码阶段,对于界面毫无所知。到了大二将近暑假的时候,我经过同学的介绍认识了unity–一个开发游戏的引擎,当时还并不懂引擎的概念,只知道unity好像一个游戏编辑器(后来才知道在游戏行业叫引擎,但若把它叫做编译器就太小看引擎了),从此便走上了游戏开发的不归路。经过学习,在毕业答辩时做了一款以photonserver作为服务器的联网漫游游戏,当时以为可以凭此找到一份好工作,但事实并非如此,因为现在看来,我的毕设就像一个拼凑的物体,对于unity相关的渲染、优化、安全等并未有研究。好在这些时间一直在学习相关知识,直到深入了解了一些皮毛,便从2d开始慢慢做出自己的作品。那么现在,我把自己还未完成的作品记录下来,以供讨论。
TileMap的应用
TileMap是unity2017.2以上版本拥有的功能,TileMap的功能很强大,它是开发小型2d或3d(精确来说是2.5D)游戏极佳的工具。因为使用TileMap开发的游戏占用内存小、运行速度快等优点,以前的红白机游戏几乎都是使用TileMap理论来实现的(但使用unity的Tilemap病不能做到像红白机游戏的包大小,因为在打包时Mono虚拟机也占用了包内存,Mono虚拟机是将C#转换成IL中间语言的工具,因为unity底层逻辑是使用C++编写的,所以Mono必不可少,此外还有图片资源、dll资源、代码资源等内存占用)。
让我们开始吧
我们如何开始创建TileMap的游戏呢?首先导入sunnyLand资源包,该资源在unitystore中可免费获取(感谢作者大大Ansimuz),资源导入之后进行每张图片的属性设置:
sunnyLand原始的像素大小为16,所以将PixelsPerhapsUnit设置为16,设置MaxSize为1024以下以便节省空间。TextureType默认为sprite2D and UI,这是在2d游戏或GUI使用的类型,SpriteMode为Single时默认图片内容为一张整图,Advance里设置rgba通道,选择InputTextureAlpha可以保持图片原有的rgba渲染。
利用SpriteEditor切割复合图片
将tileset资源的SpritMode设置为multiple格式,点击SpriteEditor进入图片切割窗口。
点击slice,选择gridbycellsize按像素进行切割,将x和y都设置为16像素,点击slice切割完成,对比每一个图片是否切割合适,点击apply返回unity。
将图片使用TileMap添加到场景
首先,在Hierarchy面板点击右键,选择2D Object,选择Tilemap便在场景中创建出了tilemap面板,该面板用于显示(与绘画相比相当于画板)。接着在菜单栏打开Window->2D->TilePalette(与绘画相比相当于颜料板),在该窗口中点击Tiled->create Palette创建一个新的画板,保存在Tiled文件夹中。将切割好的tileset文件拖入Palette窗口中,依然保存在Tiled文件夹中。
点击Palette中的图片可在scene窗口中绘制场景(绘制的场景显示在Hierarchy所选中的TileMap里)。
本文地址:https://blog.csdn.net/weixin_46156477/article/details/107163092
上一篇: 一代才女爱上渣男,鱼玄机的最后结局如何?
下一篇: Android 6.0 - 申请动态权限
推荐阅读