Unity2D - 3. 手动绘制简单瓦片地图TileMap
2018-03-20 15:44
771 查看
之前使用的地图是一整张图片,手动添加BoxCollider2D,在实际的地图制作中肯定不可行,Unity在2D地图方面提供了瓦片地图(tilemap)工具,即将一个一个小方格的图片拼合在一起成为一张地图,每一个格子中的称为一个瓦片(tile)
在unity2017.3版本中会新建一个
在
新建好地图,然后需要绘制地图,就需要一个调色板了
在拖放前,需要注意Pixels Per Unit(每单位像素数)和Pivot(中心点);前者影响瓦片的尺寸,后者影响瓦片的对齐方式,是sprite在调色板网格中的中心点
假设蓝色块是墙,白色块是地板,小黄块是地上的物体,大黄色块是有阴影的墙
Sprite 要显示的图片,在上面已经说了
Color 附加的颜色,在做纯色瓦片的时候可以用来减少实际图片的数量,其它的想不出来有什么用处
Collider Type 碰撞方式,这个很重要:
None 没有碰撞
sprite 按照sprite尺寸生成碰撞体
grid 根据网格生成碰撞体
按照上面我们的设想,蓝色块应该设置为grid,白色块设置为none,小黄块设置为sprite,大黄块设置为grid
新建一张瓦片地图TileMap
2D Object > TileMap在unity2017.3版本中会新建一个
Grid层,作为瓦片地图的网格,可以调整网格大小、间距等
在
Grid中会有一个
TileMap层,是瓦片地图的主体
新建好地图,然后需要绘制地图,就需要一个调色板了
新建一个调色板Palette
打开Window > Tile palette窗口,新建一个新的调色板,之后就可以将资源中的sprite拖放到调色板中,会自动生成瓦片的资源。
在拖放前,需要注意Pixels Per Unit(每单位像素数)和Pivot(中心点);前者影响瓦片的尺寸,后者影响瓦片的对齐方式,是sprite在调色板网格中的中心点
假设蓝色块是墙,白色块是地板,小黄块是地上的物体,大黄色块是有阴影的墙
设置瓦片属性
选中瓦片资源可以看到三个属性:Sprite 要显示的图片,在上面已经说了
Color 附加的颜色,在做纯色瓦片的时候可以用来减少实际图片的数量,其它的想不出来有什么用处
Collider Type 碰撞方式,这个很重要:
None 没有碰撞
sprite 按照sprite尺寸生成碰撞体
grid 根据网格生成碰撞体
按照上面我们的设想,蓝色块应该设置为grid,白色块设置为none,小黄块设置为sprite,大黄块设置为grid
绘制地图
使用调色板就可以了,注意如果要在不同的瓦片地图上绘画,请修改Active Tilemap
添加碰撞体
虽然已经绘制出了地图,也调整了瓦片的属性,但这时候移动player会发现地图是没有碰撞体积的,解决办法也很简单:给tilemap添加一个Tilemap Collider 2D就行了
相关文章推荐
- Unity2D - 6. 生成随机地图 (2) - 脚本控制Tilemap (1) 自动切换不同的sprite
- Unity2D - 6. 生成随机地图 (2) - 脚本控制Tilemap (2) 加载已有房间地图
- 带高度的isometric tile map 斜45度 2d 地图制作
- cocos2d-x tile map瓦片地图的黑线及地图抖动解决方案
- cocos2d-x tile map瓦片地图的黑线及地图抖动解决方案
- cocos2d-x tile map瓦片地图的黑线及地图抖动解决方案
- Cocos2d-X游戏开发之CCTMXTileMap(瓦片地图)
- 瓦片地图TileMap
- 关于TileMap(瓦片地图)
- Unity LBS地图(瓦片地图,不接入任何SDK)
- OpenStreetMap初探(八)——制作地图瓦片Kosmos及Maperitive使用
- 2D ARPG开发之旅(1) ----- 贴图(tile-based)地图的实现(上)贴图修改版
- iOS百度地图简单应用( iOS地图定位(定位、地理编码与反地理编码、mapView、大头针)
- Plplot绘制简单2D函数图
- Unity4.3新功能:2D工具 的简单使用教程
- 手动绘制一个简单的圆
- Tiled结合Unity实现瓦片地图——Unity实战篇
- unity 3d快熟使用KGFMapSystem开发小地图
- Unity 3D引擎开发 Tile Based Map and Nav 插件介绍
- Flex绘制地图Map