6588人加入学习
(28人评价)
Unity新功能指南 - 使用TileMap快速构造2D关卡(Unity2017.3)

制作于2018.1.7

价格 免费

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。

[展开全文]

 

 

 

 

  • Unity bug 报错(关闭调色板即可)
  • 透明设置
  • 碰撞设置
  • 碰撞压缩(合并)
  • 偏移设置
  • 添加宝石
  • 摄像机跟随(系统自带脚本)

 

 

[展开全文]

 

  • 创建调色板
  • 创建瓦片
  • 创建Tilemap
  • 分层

 

 

 

[展开全文]

Lens-Orthographic Size  相机大小

Dead zone width/height

调整固定区域,即目标在移动范围内移动不改变摄像机的距离

Screen X/Y 

改变相机坐标

蓝色方框范围内:缓动

红色方框范围内:瞬间移动

 

------

设置摄像机限制位置

Extensions-Add Extensino: Cinemachine Confinder 

将你想要限制范围的物体拖入其中

注意物体需要带有Polygon Collider 2D 碰撞属性

同时要将 Is Trigger 勾选,否则人物会被挤上天

那么勾选后碰击物体的粒子效果还是会上天,则需要将Edit-Project Settings - Physics 2D中的

Queries Hit Triggers 勾选掉

-------------

[展开全文]

Coordinate Brush笔刷

修改z坐标改变位置,同时会影响到碰撞体积判 断

 Line Brush 线性笔刷

将画出的素材形成一条线,并且可以改变末端位置来改变位置

Tint Brush(Smooth) 颜色笔刷

特殊处理带有材质的瓦片

视频中现将一个蓝色材质拖入瀑布中,然后改变Tint Brush的颜色为红来改变效果.

边缘有些许模糊效果

 Prefab Brush

建议一个Prfab Brush只使用一个样式

 

-----

可以通过开启Focus on改变图层迅速找出当前图层画了哪一些东西

[展开全文]

随机生成场景饰物

创建规则,将Output改为随机,随机数为14,将素材逐个拖入 

[展开全文]

瀑布动画效果制作

点开Tiling Rules下的Collider设置为Animation

在画布中 TileMap-Animation Frame Rate数值增大即可实现较为流畅的动画效果

在规则中调整speed

--------

分层

修改TileMap Render-Order in Layer 修改

数值越大越前

 

[展开全文]

规则瓦片Rule Tile 

创建规则瓦片--导入素材 -- 点开Tiling Rules添加规则

 创建新的Tile Palette,将规则拖入

[展开全文]

自动添加碰撞

Tilemap Collider 2D

根据目标中 Collider Type 的选择不同而不同

有网格Grid以及Sprite

并且可以配合 Composite Collider 2d

将碰撞体积整合

Ps.注意勾选Tilemap Collider 2D中的 Used By Composite

PPs.如果想让其不动需要将刚体RigidBody 2D中的Body Type 调整为静态 static

----------

调整素材位置同时不改变碰撞器

Transform调整,既改变素材位置又改变碰撞体积

Tilemap-Tile Ancher调整,只改变素材位置

Tilemap Collider2D-Offset调整,只改变碰撞体积

 

-------------

Unity官方自带的镜头跟随脚本

Project-右键菜单Import Package - Utility:

找到SmoothFollow脚本(平滑)、

FollowTarget脚本(简单跟随)

[展开全文]

管道瓷砖PipelineTile,用RuleTile也可以实现,实现的效果好像和监狱建筑

 

 

 

[展开全文]

随机生成花花草草:

1.新建Tiles-Adv-Plant(RuleTile)

2.Output设置为Random(修改Noise可以改变随机的结果)

3.将花草石头放入。

4.新建调色板、画布即可。

5.如果树的素材重新手动切片,一棵树为一个切片,但新建调色板时,需要手动设置瓦片大小,不同的树大小也不一样,所以不推荐手动切片,都切成64*64,不使用随机生成的方法生成。

[展开全文]

1.新建规则瓦片:Tiles-Adv-WaterfallRuleTile。

2.添加两个Tiling Rules,Output改为Animation,Size改为5(动画帧数),并赋值。

3.当有瓦片符合多个Tiling Rlues时,优先响应位置靠上的Tiling Rlues。

4.不同画布中的瓦片可以覆盖

[展开全文]

1.新建一个RuleTile,Tiles-Adv-GroundRuleTile(RuleTile),然后为其赋值默认的瓦片,设置多 个Tiling Rules。

2.将建好的RuleTile拖到调色板(AdvGroundPalette)中。

3.新建画布Ground。

4.

[展开全文]

1.下载最新或使用老师给出的TileMap扩展包,并导入。

2.导入相机脚本Cinemachine

[展开全文]
1.Tilemap中的AnimationFrameRate为设置动画速率,需要使用额外的插件。
2.可以设置瀑布为半透明(通过修改画布或资源文件的颜色)。
3.瓦片文件的Collider Type中sprite(自动识别添加合适的碰撞器,如对树的形状进行自动识别)和grid(碰撞器为网格)。
4.也可能为树添加混合碰撞器组件来进行优化。
5.地面瓦片和地面上的瓦片有缝隙,可以通过调整画布的Tilemap的tile Anchor的y轴属性来解决。(碰撞器不会变化,通过Composite Collider 2D的offset可以修改碰撞器的偏移)
6.右键点击Project面板,导入Utility中的脚本FollowTarget和SmoothFollow。(unity标准资源包自带的相机跟随脚本)
7.设置相机跟随:将followTarget拖动到相机上,目标为主角,偏移为0,0,-10,或将SmoothFollow拖动到相机上,可以设置缓效果。

[展开全文]
1.创建植物调色板:BasicPlantPalette。
2.绘制地面和树,树要绘制在另一张TileMap中。
3.为瀑布创建调色板:BasicWaterfallPalette,并绘制。
4.为地面画布添加Tilemap Collider 2D。
5.为地面画布添加Composite Collider 2D(用于混合碰撞器,减少性能消耗),然后勾选Tilemap Collider 2D中的use Composite,刚体改为静态(否则会有重力,掉下去)。

 

[展开全文]
1.点击Edit,然后可以对调色板中的瓦片进行编辑。
2.笔刷工具,按shift为擦除。
3.吸取工具,使用吸取工具可以通过框选,来创建临时的笔刷,然后单击橡皮擦也起作用。
4.油漆桶,在一个默认的大小范围内,可以将所有没有刷的地方刷上。也可以替换其它瓦片。
5.选择工具为s键,移动工具为m键。

[展开全文]
之前一直把笔记记到有道云笔记上,需要一直在浏览器和有道云笔记间不断切换,现在发现这里的这个记笔记功能很好用啊,不记笔记的话过几天就忘光了。
1.新建文件夹Tiles-Basic-Ground用于存放地面瓦片。
2.新建文件夹Palettes-Basic用于存放底板。
3.Window-Tile Palette打开瓦片调色板窗口。
4.新建Palette,将Sprite施到瓦片调色板中,创建瓦片。
5.在层次面板新建TileMap,命名为Ground。
6.在瓦片调色板窗口中设置Active TileMap为Ground,相当于PS中的一个图层。
7.最后有必要为场景中的对象设置不同的Sorting Layer。

 

[展开全文]

添加一类瓦片(或者某一区域)的碰撞体时,设置统一成单个碰撞体(节省资源,不然会默认设置成每个瓦片都有一个单独的碰撞体)

[展开全文]

授课教师

SiKi学院讲师

课程特色

图文(1)
视频(18)
下载资料(1)