本篇是本人学习courera课程unity3d编程基础 课程笔记,想学习可以直接报名哦。文章版权归本人所有,转载请谨慎。
这次,我们要完成这2个效果:
- 我们创建一个小球 smallball, 一个大球bigball,一个方块,两个球都在方块上方。我们想让 bigball 掉下来砸向 smallball。最终,bigball掉落在
方块上面,smallball 被挤下去。 - 给2个小球都设置木质材质,方块设置铁块材质。
首先,实现第1个效果:
打开 hierarchy 层级视图,我们创建一个小球 smallball, 一个大球bigball,一个方块,摆好位置,这里,我们想让 bigball 掉下来砸向 smallball。最终,bigball掉落在方块上面,smallball 被挤下去。
我们勾选大球 bigball RegistBody的 constraints 属性中 freeze position 与 freeze rotation 的 x z 选项 – 大球只能在 y 轴上运动与旋转。
这样做为了限制“大球“左右前后移动,只沿着垂直轴y移动。
点击预览按钮,就可以看到效果,大球掉落,把小球挤下去了!
图1 大球挤掉小球
接着,我们给3个对象添加材质, project 视图 -> assets -> 鼠标右键,依次选择 create physic matelrial,创建一个物理材质,我们将其重命名为 wood 表示物理材质。
接下来在 project 视图中选中 wood 物理材质就可以在 inspector 检视视图中设置其属性。
我们将 wood 物理材质设置成大球 bigball 的物理材质: 拖拽到 collider 组件的 material 的属性中。
另外一个球和方块同样的方式设置:

图2 修改对象物理材质
到此,完成开头的要求。
这篇,我们了解了:
- “物理材质“的渲染组件;
- “刚体RegistBody“的作用:模拟物理世界有质量的实物,产生力;还可以限制移动方向。
本文通过实例演示如何在Unity3D中实现基本物理交互,包括创建不同大小的球体及方块,设置物理材质和刚体约束,使大球能够准确地击中小球并使其移动。
2万+

被折叠的 条评论
为什么被折叠?



