游戏制作之路(43)固定关节

栏目: 后端 · 发布时间: 5年前

前面学习了铰链关节,它可以用来模拟像门的方式转动。这次将要来学习另一个关节是固定关节(Fixed Joint),这个关节主要用来让物体与物体之间临时的连接,或者让物体暂时固定。比如像一个羽毛粘在小鸟上,当风一吹,这根羽毛就要飞走,因为羽毛受到了风力,如果没有风力,它是不会飞出去的。

下面通过一个理想电梯例子来说明这个关节的作用。在前面的例子上,添加下面的物体,如下图:

游戏制作之路(43)固定关节

在这里添加两个cube,分别命名为wall1、wall2,然后再在中间添加一个cube,命名为Down,这是一个向下移动的电梯平台,并且为这个组件添加刚体(Rigidbody),设置好重力,就可以测试一下这个游戏了,如下图:

游戏制作之路(43)固定关节

你也许会很吃惊,这个电梯自动就往下跑了,根本等不到上面的球掉下来。如果在现实中,这个电梯是不合格的,因为电梯自己掉去了,人再走过去就会摔死的。因为电梯本身有质量,那么它就有重力,就会在重力的作用之下掉下去。为了让这个电梯不自己掉下去,必须给这个电梯添加一个力,让它维持在那里,当球从上面跌下来,撞击到电梯时才能启动向下运行。这时就可以使用固定关节,让电梯在那里不动。如下图增加:

游戏制作之路(43)固定关节

跟以前一样的方式,点击添加组件按钮,然后选择Physics,再选择Fixed Joint子菜单,就可以创建固定关节(Fixed Joint),如下图:

游戏制作之路(43)固定关节

从上图里,就可以看到有几个参数:

Connected Boby:连接刚体,用于指定关节要连接的刚体,若不指定则该关节,将于世界坐标系相连。

Break Force:断开力,设置关节断开的作用力大小。默认是无穷大。

Break Torque:断开扭矩,设置断开关节所需要的转矩,默认是无穷大。

添加这个组件之后,再运行测试一下,你会发现这时电梯不再动了,并且球跌到上面也不动了,这显然不符合我们的要求,我们想要的效果是平时不动,当球跌到它时就开始向下运动。要实现这个目标,必须修改断开力(Break Force),由于电梯的质量为1,如果设置小于9.8就会向下掉,如果大于这个数值就不会掉,因而把这个值设置为10,这样只有当球撞击之后才会断开这个关节,然后运行之后,如下图:

游戏制作之路(43)固定关节

运行撞断之后,这个组件就不见了,如下图:

游戏制作之路(43)固定关节

通过这个例子,我们学会了怎么样来使用固定关节,让游戏物体具有临时吸附功能。

https://blog.csdn.net/caimouse/article/details/51749579


以上所述就是小编给大家介绍的《游戏制作之路(43)固定关节》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java程序员修炼之道

Java程序员修炼之道

[英] Benjamin J. Evans、[荷兰] Martijn Verburg / 吴海星 / 人民邮电出版社 / 2013-7 / 89.00元

本书分为四部分,第一部分全面介绍Java 7 的新特性,第二部分探讨Java 关键编程知识和技术,第三部分讨论JVM 上的新语言和多语言编程,第四部分将平台和多语言编程知识付诸实践。从介绍Java 7 的新特性入手,本书涵盖了Java 开发中最重要的技术,比如依赖注入、测试驱动的开发和持续集成,探索了JVM 上的非Java 语言,并详细讲解了多语言项目, 特别是涉及Groovy、Scala 和Cl......一起来看看 《Java程序员修炼之道》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换