初试组件-设置物理重量,碰撞体
设置重力/刚体
经过前面的学习呢!我已经对搭建简单的场景有个大致的了解了!也学到了一些技巧!
这里开始接触一些组件!目标尝试给人物或者场景增加真实的物理比如重力,碰撞交互等!
首先我们给人物增加重力组件,首先选中 Player(可以自己改名的)
然后找到检查器最下面的 Add components
点开可以看到很多内置的组件!因为我们这里是2d场景开发!
所以我们在选组件的时候要找到相关的组件去使用!
首先先给人物添加一个重力组件!!
Add components > physics 2D > RigidBody 2D
点击之后呢就添加好了!
添加好了这里会有一些设置!可以根据自己需要调整,比如质量.
除了在组件这里可以调整之外呢,在编辑器Project Settings中默认可以修改一些项目全局的2d 物理设置!
其实很多东西用到了,用久了就知道了不用刻意去非要记住他!
点击运行我们看看是上面效果!
可以看到因为没有任何东西可以接住Player,但是本身带有重力,所以会掉出屏幕!那么下面我们就去添加碰撞体组件!让两个物体能发生交互碰撞达到Player不会掉出屏幕的效果!
添加碰撞体组件
添加碰撞体组件,像是在我们的素材外面添加一层包装盒,两个包装盒之间可以进行碰撞检测!
Add components > physics 2D > Capsule Collider 2D
这里我们选择的是胶囊碰撞体
(它内置了各种各样的碰撞组件!)
创建后,点击上面标记的地方,就会出来一个圆圈!我们可以对碰撞体的范围进行调整!
如果要碰撞两个物体都要套上盒子才能碰撞交互,所以我们给地面也套上盒子!
组合碰撞体!Composite Collider
因为我们的地图是用前面的瓦片地图创建的碰撞体,所以我们需要给我们的地面添加瓦片类型的碰撞体!
你可以直接搜索相关关键字去检索组件!
添加完成之后,就可以看到它会自动的根据我们的瓦片地图生成边框来包裹住我们的地图!
那么默认的话他给我们生成的是一块一块的碰撞体!
如果你把Offset属性调一下就能看得出来!
那么这样的话,当进行碰撞检测的时候,每一块都要单独的进行碰撞检测,emmm不知道会不会对性能和后面写代码有一些影响!
但是这里我们可以将它本属于一整块的碰撞体给组合成为一个!
那么这里我们需要额外的添加一个 Composite Collider 2d
的组件!
然后回到TileMap Collider中 勾选 used By Composite ! 就发现格子不见啦!只有最外面的一圈!顺便平移一下看的更明显一点!
那么以上我们的碰撞体就添加完成啦!顺便一提,当碰撞体添加完成的时候,重力组件也会被添加到当前选中的元素上!
所以当我们点击运行游戏的时候,两个都会受重力影响一起下落!
这里我们就要给我们的地图设置一下Body Type 为静止!这样我们的地图就是静止在原位了!
然后点击运行游戏,就可以看到人物稳稳的落在了地面上!
评论区