Unity 2D精灵(Sprite)与2D物理组件

Unity 2D精灵(Sprite)与2D物理组件,第1张

Sprites是个用于角色、道具、炮d以及其他2D游戏元素的二维图形对象

2D游戏的图像部分主要是图片的处理,图片通常称为Sprite精灵

为了提高2d游戏的效率,会将图片资源拼接成一张大图,在游戏运行的时候在将这张图的莫一部分读取出来作为Sprite显示在屏幕上

该图形是基于Texture2D得到的图像。Sprite类主要识别图像的一部分用于特定的精灵。

此类通过游戏对象上的SpriteRenderer组件应用并实际显示该图像。

1.导入一张大图到引擎中

2.选中图片将Texture Type设为如图1-2所示的Sprite(2D and UI)与Sprite Mode设置为Multiple就可以将这张大图切割成若干小图形

3.点击如图1-2所示的Sprite Editor打开编辑窗口

然后就可以根据自己的需求切割图片的大小,切割好后就会在你原来图片的目录下看到切割的图片

2D物理引擎

1.Rigidbody2D 二维刚体

与Rigidbody类似,添加Rigidbody2D组件到一个精灵上置于物理引擎的控制下。就其本身而言,这意味着精灵会受到重力的影响并可以从脚本使用力控制。通过添加合适的碰撞器组件,该精灵也会响应与其他精灵碰撞。

也可以通过点击Component->Physics 2D就可以看到2D刚体

2.2D碰撞器组件(Collider2D)

注意 :碰撞器调用 俩个物体都必须有 碰撞体 其中一个必须有刚体

触发器: 俩个物体必须都有碰撞体,其中一个必须是刚体,并且其中一个开启Is Trigger

与Collider功能相同,但是只能作用于二维场景

通过点击Component->Physics 2D也是可以看到

如图1-6所示可以通过各属性设置2D物理组件

函数

1.voidOnCollisionEnter2D(Collision2D coll)

当传入的碰撞器接触到这个对象的碰撞器时发送(仅2D物理)。

2.voidOnCollisionExit2D(Collision2D coll)

当另一个对象上的碰撞器停止接触这个对象的碰撞器时发送(仅2D物理)。

3.voidOnCollisionStay2D(Collision2D coll)

当另个对象的碰撞器正在触碰这个对象的碰撞器时,每帧发送(仅2D物理)。

4.voidOnTriggerEnter2D(Collider2D other)

当另个对象的碰撞器进入到这个对象的触发碰撞器时发送(仅2D物理)。

5.voidOnTriggerExit2D(Collider2D other)

当另个对象的碰撞器离开这个对象的触发碰撞器时发送(仅2D物理)。

6.voidOnTriggerStay2D(Collider2D other)

当另个对象的碰撞器停留在这个对象的触发碰撞器内时每帧发送(仅2D物理)。

实例(类似愤怒的小鸟简单实现)

1、首先,打开Unity,创建一个圆球和一个平面。

2、将球的高度调高一点,让它位于平面上空。

3、给球体添加刚体,输入rigidbody,如下图所示。

4、点击运行,带有刚体组件,可以看到小球自然下落到平面上。小球、平面上自带碰撞器,所以小球不能穿过去。

5、可以自己给平面一个碰撞器,点击添加碰撞器,如下图所示。

6、添加好后,可以调整碰撞器的大小,由于是规则图形,所以创建出来的碰撞器与平面非常贴合,改变一下碰撞器的大小为x、y大小为11。

7、可以看到碰撞器已经出现在我们的视野中,可以调整大小以适合物体或角色,这样可以完美模拟现实中的碰撞效果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11650925.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存