纳金网
标题:
unity3基础教程之组件介绍—物理引擎2 之碰撞器
[打印本页]
作者:
paopao
时间:
2013-3-12 09:48
标题:
unity3基础教程之组件介绍—物理引擎2 之碰撞器
今天看下unity3d物理引擎的另外一个重要组成部分,碰撞器,在unity3d中,如果一个物体想感受碰撞,就必须添加碰撞组件。 我们先通过一个小例子看下什么叫碰撞,物体添加碰撞和没有添加碰撞有什么区别。首先创建一个场景,包括两个cube一个设置为红色一个设置为黄色,创建一个地面。然后给两个物体添加Rigidbody,讲黄色的物体的BoxCollider组件去掉。然后运行游戏,我们会发现红色的小球与地面发生了碰撞,黄色小球没有感应到碰撞,直接穿过地面。
下面我们看下怎么给一个物体添加碰撞器,选中需要添加碰撞器的物体,然后选择菜单栏的Component->
kysics如图:
图中用红线框住的部分就是unity给我们提供的所有的碰撞类型。Box Collider:盒子碰撞器,适用于立方体之间的碰撞,Sphere Collider:球体碰撞器适用于球体之间的碰撞Capssule Collider:胶囊碰撞器适用于胶囊体之间的碰撞Mesh Collider:网格碰撞器他的碰撞方式由自定义模型的自身网格觉得,适用于自定义网格碰撞Wheel Collider:车轮碰撞器适用于车轮与地面之间或其他物体之间的碰撞Terrain collider:这个应该是地形碰撞器,新加上的,没用过。下面们点击Box Collider选项,这样我们就给物体添加了一个盒子碰撞器。在Inspector中可以看到Box Collider组件的属性如图:
Is Trigger:触发器 如激活,此碰撞器用于触发事件,并且被物理引擎忽略。Material:物理材质 引用何种物理材质决定了他和其他对象如何作用。Center 中心 碰撞器在对象本地坐标中的位置。Size 尺寸 在X、Y、Z三维上的碰撞器尺寸。中心和尺寸就不用多讲了。下面我们重点来看下Is Trigger和Material。首先看看Is Trigge,如果我们勾选了Is Trigge后面的选项,物体将不受物理引擎控制,当和一个触发器发生碰撞时会发出三个独特的触发信息。触发器用于触发你游戏中的其他事件,比如过场动画、自动门开启、显示教程信息等等。当然为了使两个触发器碰撞时发出碰撞事件,其中一个必须包含刚体。 。一个触发器和一个普通碰撞器碰撞,其中之一必须附加刚体。Material是物理材质,是用来设置物体表面材质的,不同的表面材质可影响碰撞后的物理效果。下面我们看下怎么在碰撞其中添加物理材质。Unity标准资源包中提供了一些物理材质的资源,首先要将他们添加进来。方法如下,在Project视图中单击鼠标右键,在弹出的快捷菜单中选中Import Package->
husic Materials,导入资源包
标准资源包中提供了五种物理材质:
Bouncy:弹性材质。Ice:冰材质。Metal:金属材质。Rubber:橡胶材质。Wood:木头材质。下面看添加方法,首先在Scene视图中选择需要添加物理材质的物体然后在Project视图中通过拖动将Bouncy赋值给Inspector视图中的SphereCollider即可。
除了这五个制作好的物理材质外,还可以自己制作物理材质,制作方法如下。在prject视图中点击Create->
hysic Material菜单即可。
选择我们新建的物理材质,在Inspector视图中,看到新建物理材质的所有属性。下面简要介绍一下这些属性的含义
Dynamic Friction:动态摩擦,取值0,1之间,0是最小动态摩擦,1为最大动态摩擦。Static Friiction:静态摩擦,取值同上Bounciness:碰撞反弹系数,取值0表示无反弹,1表示最大反弹。Fiction Combine:普通碰撞后的摩擦模式Bounce Combine:反弹碰撞后的摩擦模式Friction Direction:摩擦方向,方向分为x,y,z轴。Dynamic Friction2:动摩擦系数Ststic Friction2:静摩擦系数。按照需求调节完成。这样一个新的物理材质就制作完成了。也可改变不同参数,看看每个参数对物体的影响。
作者:
Zack
时间:
2013-3-12 11:15
Physical Materials的部分很实用,希望有更多的介绍
作者:
狂风大尉
时间:
2013-3-13 00:15
楼主辛苦了,希望有更详细的教程
作者:
fgdf#dfg
时间:
2013-3-13 13:10
感谢分享!!!!!!
作者:
王者再临
时间:
2013-3-16 12:21
楼主如果能再多一些例子就更好了
欢迎光临 纳金网 (http://rs.narkii.com/club/)
Powered by Discuz! X2.5