tilemap 里anchor只会调整图,不会移动碰撞器
摄像机跟随脚本
import package --utility中
FollowTarget.cs
SmoothFollow.cs
后者有参数可以实现平滑跟随
tilemap 里anchor只会调整图,不会移动碰撞器
摄像机跟随脚本
import package --utility中
FollowTarget.cs
SmoothFollow.cs
后者有参数可以实现平滑跟随
1.下载最新或使用老师给出的TileMap扩展包,并导入。
2.导入相机脚本Cinemachine
1.新建一个RuleTile,Tiles-Adv-GroundRuleTile(RuleTile),然后为其赋值默认的瓦片,设置多 个Tiling Rules。
2.将建好的RuleTile拖到调色板(AdvGroundPalette)中。
3.新建画布Ground。
4.
1.新建规则瓦片:Tiles-Adv-WaterfallRuleTile。
2.添加两个Tiling Rules,Output改为Animation,Size改为5(动画帧数),并赋值。
3.当有瓦片符合多个Tiling Rlues时,优先响应位置靠上的Tiling Rlues。
4.不同画布中的瓦片可以覆盖
随机生成花花草草:
1.新建Tiles-Adv-Plant(RuleTile)
2.Output设置为Random(修改Noise可以改变随机的结果)
3.将花草石头放入。
4.新建调色板、画布即可。
5.如果树的素材重新手动切片,一棵树为一个切片,但新建调色板时,需要手动设置瓦片大小,不同的树大小也不一样,所以不推荐手动切片,都切成64*64,不使用随机生成的方法生成。
管道瓷砖PipelineTile,用RuleTile也可以实现,实现的效果好像和监狱建筑
#非常重要!TileMap重点知识之一!
RuleTile规则瓦片
可以快速画出平台,省去切换瓦片的麻烦
设定不同位置的瓦片,可以自动画出完整的平台
设定方法是给周围四个方向打上标签,比如上方没有瓦片的就是草地瓦片,上方打上红叉,其他三个方向打上绿色箭头。以此类推。拐角处的在斜方向打红叉即可。
动画RuleTile
在Output里选择Animation就可以创建动画瓦片
规则是从上到下的优先级,所以只有一格时可能不能正确识别,注意修正
RandomTile随机瓦片
Output里选择Random,可以随机画出瓦片
可以用Noise更改随机的瓦片出现频率
创建palette时可以用cellsize控制瓦片占用格子数
PipelineTile管道瓦片
可以看成自动旋转的地形瓦片,不常用
CoordinateBrush
在笔刷下显示坐标,可以指定z轴进行绘制,在不同层绘制
GameObjectBrush
为PrefabBrush做基础,未知用途
LineBrush
绘制线条的笔刷,没有什么特别的
TintBrush/TintBrush(Smooth)
颜色笔刷,用来给瓦片涂色,需要Material
PrefabBrush
用来刷Prefab的,比如刷宝石
RandomBrush
随机刷东西
Cinemachine可编程摄像机
中间的矩形是DeadZone,人物在其中移动,摄像机不会动
第二层的矩形是SoftZone,人物在其中移动,摄像机会缓慢跟随
第三层的矩形,人物在其中移动,摄像机会瞬间跟随
Cinemachine Confiner
限制器,可以用polygon collider限制摄像机移动范围,实现跌落死时摄像机不跟随
Tilemap tilemap;
tilemap.BoxFill() 用tile填充一个矩形,不可覆盖,不可批量清除
tilemap.SetTile()设定单个tile,可覆盖,设为null可以清除tile
SwapTile 查找和替换Tile
GetTilesBlock 在一个block里使用GetTile的功能,批量获取tile
SetTilesBlock 在一个block里使用SetTile的功能,批量设置tile
FloodFill 油漆桶
3D中画TileMap只用注意轴的切换即可
TileMap是只有在2017.2以上才有的功能
TileMap是unity快速构建2D地图的功能
1.背景平铺功能,用1宽乘以xxx长的图片平铺一张背景,需要把图片的MeshType调成FullRect比较好,不用Tight。
2.在2D地图中,我们希望每一块地图都是一个unity单位,也就是每一块地图的单位都是1个格子,所以需要从图片的PixelsPerUnit
栏中将数值调成整除数值,比如宽是256的图片有上下两格,那么该数值就要调成128。
★★★3.用到了图片的Draw功能,没搞懂,好像就是平铺模式
4.在Window工具中选择2D,里面的TilePalette,点击CreateNewPalette就可以生成调色板了。
Grid是可以选择四边形或者六边形,CellSize可以选择自动大小或者自定义大小。
5.SortingLayer排序层,在排序层中可以除默认层外自定义排序层,按照从上到下的顺序谁在上面谁先画。
6.在TileMap的地图上挂组件会应用到整个map上的所有画出来的物体。
为了降低性能消耗,我们可以添加CompositeCollider2D,当挂上整个组件时会为对象添加一个刚体和一个可以联合碰撞器的选项,
在TilemapCollider2D面上上勾选UsedByComposite即可将块状碰撞器联合在一起。
7.在Tiles的每个物块的源文件上可以修改这个物块的ColliderType,如果该物块是Sprite的ColliderType那么当你给这个这些对象挂碰撞器的时候,
unity会自动帮你计算该物块的有用像素,也就是大致的帮你勾勒出物体的轮廓,如果是Grid模式,那么unity就直接给整个正方形网格添加碰撞器。
8.调节TileMap里面的TileAnchor可以只调节map的位置而不调节碰撞器的位置。
9.移动场景中的物体时,按住Ctrl可以一格一格地移动物体。
10.可以创建Prefab笔刷。刷Prefab。
http://github.com/Unity-Technologies/2d-extras
sprite
Tile
Palette
Brush
Tilemap
素材的裁剪,背景图片平铺MeshType-- Full Rect,