unity3d怎么做碰撞?unity3d如何添加碰撞体?求解!

unity3d怎么做碰撞?unity3d如何添加碰撞体?求解!,第1张

1、打开unity3d场景在里面导入一个相对更复杂的模型。

2、首先我们给这个模型添加Rigdibody刚体组件。

3、接着在pont给其添加Mesh Collider组件。

4、勾选里面的 Convex,会默认根据自己的模型生成一个碰撞范围,但孙悉是不是很精确。

5、如果要更精确的碰撞,我们可以根据模型对应的部分,创建多个碰撞网格模型。

6、然后我们展开模型,把里面的网则嫌乎格ear1拖放到Mesh中,然后勾选Convex就可以在对应的位置建立碰撞范围,比如这里的右边的耳朵。

7、接着我们可以再次添加一个Mesh Collider把模型的另一个耳朵ear也添加上碰撞范围ear2。

8、同样的方者历式我们可以把模型需要添加碰撞的地方都添加上去,然后运行就可以得到更真实的物理效果了。

unity编辑碰撞器不见有可能是卖睁没有添加。unity3D碰撞器的添加可以通过在Component中点盯配袜击Physics2D,PolygonCollider2D,可对一个不规则形状的对象凯激添加碰撞体。

1、碰撞器(Collider)是组件,加了碰撞器的游戏物体才可能实现碰撞效果。

2、在Unity内部提供了许多碰撞器,通过AddComponentPhysics可以添加3D碰撞器组件1。

3、Unity提供的组件有:BoxCollider(盒碰撞器),SphereCollider(球碰撞器),CapsuleCollider(胶囊碰撞器),MeshCollider(网格碰撞器),WheelCollider(轮子碰撞器,用来创建交通工具),TerrainCollider(地形碰撞器),CharacterController(角色控制器)。

原因:放的太大了。。缩小可见区,放大字体,改成resize freely 闹枝

要产生碰撞必须为物体添加刚体组件和碰撞器,刚体可以让物体在物理条件下运动。碰撞体是物理液老敏组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞。如果两个刚体含好相互撞在一起,除非两个对象有碰撞体时物理引擎才会计算碰撞,在物理模拟中,没有碰撞体的刚体会彼此相互穿过。

在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器

碰撞器:一群组件,它包含了很多种类,比如:Box Collider(盒碰撞体),Mesh Collider(网格碰撞体)等,这些碰撞器应用的场合不同,但都必须加到GameObjecet身上。

触发器,只需要在检视面板中的碰撞器组件中勾选IsTrigger属性选择框。

触发信息检测:

1.MonoBehaviour.OnTriggerEnter(Collider collider)当进入触发器

2.MonoBehaviour.OnTriggerExit(Collider collider)当退出触发器

3.MonoBehaviour.OnTriggerStay(Collider collider)当逗留触发器

碰撞信息检测:

1.MonoBehaviour.OnCollisionEnter(Collision collision) 当进入碰撞器

2.MonoBehaviour.OnCollisionExit(Collision collision) 当退出碰撞器

3.MonoBehaviour.OnCollisionStay(Collision collision)  当逗留碰撞器

碰撞器是触发器的载体,而触发器只是碰撞器身上的一个属性

当Is Trigger=false时,碰撞器根据物理引擎引发碰撞,产生碰撞的效果,可以调用OnCollisionEnter/Stay/Exit函数;

当Is Trigger=true时,碰撞器被物理引擎所忽略,没有碰撞效果,可以调用OnTriggerEnter/Stay/Exit函数。

碰撞器是另一种组件,它和刚体一起,来使碰撞发生。如果两个刚体撞在一起,物理引擎将不会计算碰撞除非它们包含一个碰撞器组件。没有碰撞器的刚体,会在物理模拟中相互穿透。碰撞器必须独立于刚体加在对象上。碰撞器并不一定需要附加刚体,但是要使移动物体具有碰撞效果必须附加刚体。为了使两个触发器碰撞时发出碰撞事件,其中一个必须包含刚体


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存