Unity学习笔记(23)——UnityTilemap

2018-11-12  本文已影响0人  超级炮锤

今天开始2D World building w/ Tilemap课程。首先下载教程提供的文件(http://bit.ly/tilemaplive以及http://bit.ly/free3Dgems),跟着教程打开了已经编写好运动脚本的Scene文件,这部分有另外一个一小时左右的教程,2D Playformer Character Controller,下次再学

1.创建一个Tilemap物体的方式和创建UI物体很类似,会生成一个父对象Grid,类似于Canvas。调色板(Tile Palette)的使用很简单,唯一值得说的是在拖动Tileset到调色板上的时候,会生成对应个数的asset文件,里面包含了对特定图片的引用。

2.完成了编辑的方块后需要加上Collider,首先先增加了一个Tilemap Collider,不过会把每个方块单独处理碰撞体,并不是很好。再加上一个Composite Collider,并且勾选Used By Composite选项,瞬间所有的碰撞体都变得清爽无比了,教程没有更深入的介绍这个组件,在其他的教程里有这部分了。

3.接下来介绍了Cinemachine ,一个用于控制玩家移动时镜头移动的组件。据说是个人开发者最早放在asset store上卖的,后来被unity买了开放给所有人免费使用了。其实直接把镜头设为玩家的子对象就可以跟随了,不过生硬而且过于灵敏,只要玩家稍微移动一下镜头就会跟着移动。当通过Cinemachine-Create 2D Camera后,会在已有的camera上增加一个cinemachine组件,同时会创建一个虚拟的摄像机对象,在其中可以设置相机的移动阻尼、Dead zone大小等等。如下图所示,中间的DeadZone区域中的移动会被相机完全无视,蓝色的会根据移动阻尼来移动相机,红色的才会硬切换相机,相当实用。

三个区域对应三种相机特性

4.Cinemachine中还有三种自定义的组件可以添加,Collider、Confiner和FollowZoom,其中Confiner用来限制相机移动的边界区域。只需要在边界对应的对象上增加一个Collider(比如PolygonCollider),然后将其拖动到Confiner中,就搞定了。


今天学了前四节,还剩四节明天应该可以学完。今天第一次接触第三方开发的组件,相当震惊,光是组件的说明文档就有六十多页,今天接触到的功能可能只占到其中的一两页。整个组件功能十分强大,理论上应该能解决游戏开发中绝大多数的相机问题,厉害了……

2018.11.12 0:02

上一篇下一篇

猜你喜欢

热点阅读