轻松创建精灵
使用Unity新功能给场景添加Sprite有多简单呢?试试以下步骤你就知道了。
Step 1:从Finder窗口拖拽cat.png到场景视图Sceneview,如下所示:
Step 2:用你制作游戏节省下来的时间发封感谢信给Unity devs..
本演示可以通过使用Unity’s default import settings加以简化,但这种方法也不应该长期用于你的图像编辑过程。不管怎样,这是用来说明展示point – Unity的新特点,从而使产品在2D环境中运行起来变得极其简单!
Sprite Assets
在Hierarchy中选中cat,然后在Inspector中进行查看。事实上,在Inspector中看的视图位置可能与你在下面的截图看到的不同。需要注意的是,为了在视图中呈现cat,你可以用Unity自带的Sprite Renderer添加到GameObject上。
虽然看起来不是很清晰,但unity中也有一定的几何结构可以用来创建图形。对于每一个sprite, unity创建了基本上大小合适的,非透明的像素网格。请注意下面僵尸图像周围的蓝色网格:
通过创建一个像这样的网格,而不是在四方格中使用sprite作为纹理,可以在渲染时更好的提高场景的填充率。它也可以更简便的创建多边形collider,更多细节,会在之后的教程中提到。
注意:大家不要对这个僵尸的出现感到迷惑,我只是觉得,它的网格比原始的cat sprite更加有趣。
通过本教程,你会学到Sprite Renderer的属性,但是现在,看看标着sprite的区域。里面可以看到该renderer的sprite asset名称。你可以每次只设置一个sprite asset到该renderer上,但是随后,你需要学会如何在运行时更新这个字段来创建动画。
在下面的图像中,你可以看到cat GameObject的渲染器中添加了一个叫cat的Sprite:
确保Project浏览器可见。然后在inspector中单击sprite领域,在项目浏览器中找到并调亮sprite asset,如下所示:
注:高亮边框可能在几秒钟消失,如果你没有注意到它,再次点击sprite领域。当然,只有一个asset在project中,你不可能找不到它。
在之前的截屏中你可以看到,在project浏览器中unity调亮了一个cat,它是另一个物体的产物,也叫做的cat。浏览器中真的有两个cat?的确,你也许会感到疑惑,以下将为您解释:
l parentcat就是是texture asset.它可以作为你导入图片(cat.png)的一个参考样例。当你想从你的作品中创建sprite时,它可以控制你的导入设置。可以看到,它更好的展示了缩略图文件的状态。
l childcat是当导入cat.png时unity创建的sprite。在这个例子中,只有一个childcat,因为unity只从文件中创建了一个单个的sprite,但是随后,在切分sprite列表的那一部分,你会看到如何从单一图像来创建多个的sprite。
注:虽然我一直主张unity渲染Sprite对象,Sprite类实际上只包含链接一个Texture2D对象的信息,这些信息实际存储在真正的图像数据中。如果你想在运行时生成sprite,你可以创建自己的Texture2D动态的对象。
正如你看到的cat.png,您可以从Finder直接拖拽art asset到场景(或是Hierarchy),用来向场景中添加sprite。一般做法是,在你添加对象到场景之前,你会选择添加asset到你的project中。
添加到您的项目您下载的剩余图像文件:background.png,enemy.png和zombie.png。
通过从project浏览器拖拽敌人到hierarchy来向场景中添加敌人。
和cat的情况类似,在project浏览器中有两个item都叫enemy,但你选择哪一个并不要紧。这是因为拖拽sprite asset(子)始终都会用到特定的sprite,而拖拽texture asset(母)会用到第一个childsprite,在只有一个child的情况,情况也如此。
在hierarchy中选中enemy,然后设置它的Transformcomponent’sPosition为(2,0,0),就像下面这样:
在你的场景变得稀薄之前,选中hierarchy中的cat,设置它的position为(0,2,0),像这样:
现在,你的场景应设置成如下图所示:
最后,从project浏览器中拖拽background到hierarchy上,然后,设置它的position为(0,0,0)。如下所示:
随后,你可以适当的提高下背景图像的质量,但是如果,它看起来并不是特别好,也不用担心。(提示:当unity的默认设置不正确时,应该导入background.png)现在你的效果图应该是这样: