如你所知, 游戏中的所有内容都是一个GameObject。甚至构成关卡的各个图块本身都是GameObjects。
当我们将每个组件视为一个GameObject时, 我们了解到场景中可能有成千上万个GameObject, 它们以某种方式相互交互。你可以直观地看到, 如果统一为每个GameObject添加了碰撞, 则引擎为每个碰撞计算碰撞是不切实际的。
在Unity中, 碰撞与实际的精灵本身是分开的, 作为单独的组件附加, 并且是单独计算的。
对撞机组件出于物理碰撞的目的描述对象的形状。碰撞器将是不可见的, 并且必须具有与GameObject网格完全相同的形状。
让我们添加一个简单的墙, 玩家可以撞墙。首先, 创建一个精灵。为此, 请在”
层次结构”
选项卡上右键单击场景, 然后选择2D对象->
Sprite。
文章图片
将” 新精灵” 重命名为Player。
或直接转到项目选项卡, 然后右键单击Assets并选择Create-> Sprites-> Square。
文章图片
将该正方形拖到场景中。
文章图片
现在转到” 检查器” 选项卡中的” 添加组件” , 然后搜索” Box Collider 2D” 。
文章图片
你将在Player GameObject的周边看到一条鲜绿色的线。这是碰撞边界。它定义了可碰撞对象的实际形状。
文章图片
【了解Unity的碰撞(详细介绍图解)】我们可以创建不同大小, 不同形状的碰撞。它们可以是矩形, 甚至可以是多边形。
推荐阅读
- Unity预制件和实例化解释和示例
- c#开发移动APP-Xamarin入门剖析
- c#开发移动APP-Xamarin入门扩展
- c#开发移动APP-Xamarin入门扩展剖析
- Appium 1.9.1 启动报错 Fatal TypeError: Class constructor BaseDriver cannot be invoked without 'new&#
- Gradle自动实现Android组件化模块构建
- android完成注册页面的下拉框及单复选框
- 9Collaborative Metric Learning Recommendation System:Application to Theatrical Movie Releases----
- Jmeter入门13jmeter发送application/octet-stream二进制流数据