2-08. 碰撞层和景观树

安装美观插件

绘制地图

增加碰撞层

添加组件

然后再增加 Composite Collider 2D,在自动增加的 Rigidbody 2D 里将 Body Type 改为 Static

在 Tilemap Collider 2D 上勾选 Used By Composite

绘制碰撞

关闭图片渲染

将图中的勾选去掉,这样就只保留了碰撞的部分

调整碰撞范围

我们可以看到三角形碰撞体,它的碰撞范围不太正确

因此我们需要修改 Sprite Editor

在打开的窗口中选择 Custom Physics Shape

然后选择三角形,点击 Generate

我们可以把这两个点拉下来,这样它就形成一条直线了

其它图片也可以这样设置

设置完毕之后,地图上的碰撞体还没有更新,把碰撞体 disable 掉再 enable 回来,这样就能看到碰撞体修改生效了

绘制所有的碰撞体

像这种水边,可以做的更加平滑一点

最终效果如下图所示

绘制完毕之后,将 Tilemap Renderer 关闭,这样就不会画出红色的框框了

添加树

做一个静止的树

增加一个空节点,TreeGreen

在 TreeGreen 下面添加一个子节点 Top,Sorting Layer 改成 Instance,Soring Order 改为 1,这样可以永远挡住人物

再在 TreeGreen 下面添加一个子节点 Tree_Trunk,Sorting Layer 改成 Instance,因为树干和人物有叠层关系,所以需要将 Sprite Sort Point 改为 Pivot

现在的叠层关系还是不太正确,因此我们需要修改树干的锚点位置

给树增加动画

在 Top 节点上面添加 Animator 组件

创建 Animator Controller

然后选中 Top 节点,在 Animation 窗口中,Create Animation Clip

在 Animations 文件夹下面创建 SceneryTrees 文件夹,然后在 SceneryTrees 文件夹下面创建 tree_green 动画片段

复制粘贴出一个粉色的树,记得动画状态机里面需要把 tree_pink 设为默认

项目相关代码

代码仓库:https://gitee.com/nbda1121440/DreamOfTheKingdom.git

标签:20240321_1945

posted @   hellozjf  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示