目录
让 2d3d Collider包围盒物体 跟随它下面的Collider包围盒机关推板移动而移动 ,并不是仅仅有托举的功能。
怎么说呢:就是 A包围盒物体在上,B包围体在下它托住A,这时移动B包围体的X轴位置 A包围体并不会因此而移动的,但是B包围盒添加了Platform Effector 2D 之后,移动B包围体X轴时它会把A包围体也牵引着一起移动A的位置。 就实现了类似 推币机的推板当金币掉落到推币机推板时 推板往后收缩时 金币会跟着推板收缩到推板尽头(类似真正游戏机厅里面 金币沾着推板移动),而不是推板移动时不跟推板牵引移动,推板收缩到尽头 金币没了推板的托举就掉落那样。
boxCollider需要勾选 Used By Effector【*】
介绍
Platform Effector 2D 是 Unity 中 2D 物理引擎中的一个组件,它可以用来改变 2D 碰撞体的物理行为。具体来说,它可以在平台上添加摩擦力、改变物体的重力方向、使物体经过平台的时候从平台的侧面滑落等。这个组件通常被用来控制 2D 游戏中的角色在平台上的行为,比如玩家角色站在一个移动平台上时的行为。
————————————————
方法
组件参数
Use One Way:勾选此选项后,平台将变为单向平台,角色可以从平台上方穿过,但无法从平台下方穿过。
Use Side Friction:勾选此选项后,角色在平台上将受到侧面的摩擦力,可以防止角色因为平台的移动而滑落。
Surface Arc:这是一个角度值,表示角色在平台上的接触面积大小。如果值较小,角色将紧贴着平台移动;如果值较大,角色将有一定的间隙,可以让角色跳跃等动作更加灵活。
Side Arc:和 Surface Arc 类似,但是作用于平台的侧面。
Rotational Offset:旋转偏移量,可以用来调整平台的旋转角度。
Use Collider Mask:勾选此选项后,可以指定一个碰撞层,只有和该层的物体才能和平台碰撞。
Use Global Angle:勾选此选项后,将会使用全局角度,而不是相对于平台自身的角度。
举例子
好的,比如在一个平台游戏中,你想让玩家角色在站在移动平台上时,能够跟随平台的移动,同时不会因为平台的移动而掉下去。这时,你可以给平台添加一个 Platform Effector 2D 组件,并调整其属性,比如将 One Way 属性勾选上,这样角色就能够从平台的上方通过,而不会从平台的侧面滑落;同时你还可以将 Surface Arc 属性调整为一个较小的值,这样角色就能够紧贴着平台移动。这样一来,玩家角色就能够在移动平台上表现出符合预期的行为了 (比如 角色站在一个浮岛上,角色站上浮岛 跟随浮岛移动,而不会因为浮岛的移动导致人物掉下去 就类似 站住在1个一栋平台上面一样)。