2015-04-07 70 views
2

假设您想让用户创建由组件组成的2D飞艇(侧视图)。一个组件可以是浮动气球,另一个组件可以是储藏室等。由组件组成的游戏对象的2D物理效果

并且说你想让这个飞艇将物理应用到整体上,每个组件都在其中扮演一个角色。例如,气球会从其下压力中消失,而其他隔间会对其施加压力。与此同时,整个飞艇作为一个整体工作(或者至少唯一的物理分离将在浮体组件和其他应用重量的物体之间),所以物理学被应用于它,就好像它是一个物体一样。

现在,如何管理?我如何通过脚本自定义游戏对象,为其赋予不同重量的不同组件,并使它像一个预制对象那样工作?

对不起,如果问题很简单,但我只是开始统一。非常感谢你!

TL; DR:可定制的飞艇gameobject与不同的组件,具有不同的权重。如何使其表现为单个物理实体并管理其不同组件?

回答

1

我不确定我完全理解了这个问题:D 你的意思是有一个游戏对象,有一些儿童游戏对象,每个对象都有单独的对撞机和刚体,而刚体物理应用于父游戏对象?您可以为此目的使用联合对撞机(如HingeJoint2D),并将父级的刚体设置为ConnectedRigidBody。 (而不是单词“component”,使用child或part或sth来避免歧义)。因为Unity3D中的组件是类似于脚本,刚体,对撞机等与游戏对象相连的组件。)

+0

我认为转换父母是我正在寻找的。实际上有趣的是,除了官方文档外,关于如何在网络上处理这种系统(复杂的二维对象和父母教育)的信息并不多。 – marcospgp

+1

您也可以使用关节。我不认为你的情况只能通过转换父母来解决。例如,如果您的父母有一个刚体和一个孩子与另一个刚体,孩子的物理独立工作(即,孩子不影响父母,如果是热气球,气球部分会上升身体仍然会下降),除非你将它们与关节之类的东西连接起来。 –

+0

是的,为飞艇的底部做父母,并通过关节连接到浮动部分:) – marcospgp