【问题标题】:Unity: Hit to another car without affecting my carUnity:在不影响我的车的情况下撞到另一辆车
【发布时间】:2020-08-10 14:24:22
【问题描述】:

我是 Unity 的新手。我正在使用 Standard Assets 包中的 CarCarWaypointBased 预制件来创建赛车游戏。

我想在不影响 Car 对象的情况下打出CarWaypointBased 对象( 就像一辆拥有超能力的汽车!!)。我的意思是,就好像我的车没有被撞(同时让另一辆车移动)。

两者都有默认的CollidersRigidbody

现在碰撞会导致两者移动。 我希望它很清楚。

更新

我在汽车的OnTriggerEnter 中使用AddForce

other.GetComponentInParent<Rigidbody>().AddForce(-transform.forward * 500f ); 

我将汽车的重量设置为 10000,另一个设置为 500。

【问题讨论】:

  • 使用对撞机作为触发器(在超级汽车的对撞机上切换 IsTrigger)。然后处理OnTriggerEnterOnCollisionEnter事件推送其他游戏对象
  • 谢谢@alex-larionov 。请给我更多的解释或例子来推动其他游戏对象?
  • 您需要进行一些数学运算才能找到推动对象的位置和数量。然后在推送的对象上使用AddForce
  • 10000/500=20,这就是为什么你可以将 super_car 的重量设置为 20,而只设置汽车重量 - 1。我认为使用小数字更容易

标签: unity3d standards assets


【解决方案1】:

最简单的方法是在刚体组件中设置权重。为 super_car 设置大约 100 万的权重,为一辆汽车设置 1 或更少。触碰后会飞走。重量之间的差异越小,就越轻的汽车飞走。试试权重

【讨论】:

    猜你喜欢
    • 2022-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2010-12-24
    • 2018-05-06
    • 2020-10-01
    相关资源
    最近更新 更多