我希望我的自动驾驶汽车受到重力的影响

问题描述 投票:0回答:2

所以我正在做一个汽车会自动移动的游戏,所以只要汽车撞到物体,它就会继续漂浮在空中,而不会受到重力的影响,所以这是我的主要代码,对此我还是有点陌生​​: \

void Update()
{
    transform.Translate(Vector3.forward * Speed * Time.deltaTime);
}

然后我尝试将其添加到我的代码中

void Start()
{
    coll = GetComponent<Collider>();
    coll.isTrigger = true;
}

// Disables gravity on all rigidbodies entering this collider.
void OnTriggerEnter(Collider other)
{
    if (other.attachedRigidbody)
        other.attachedRigidbody.useGravity = true;
}

但是无论我做什么,它仍然不受此影响,只是不起作用,持续不断前进,您能帮助我解决这个问题吗,我在那场比赛上差不多完成了,所以如果您能帮助我,我将非常感激<3

注:这辆车具有RigidBody的特性,受重力影响且质量很大,但这并不影响任何此>]

所以我正在做一个汽车会自动移动的游戏,所以每当汽车撞到物体时,它都会继续漂浮在空中,而不会受到重力的影响,所以这就是我的主要代码,我是...

c# unity3d unityscript
2个回答
0
投票

还要确保isKinematic设置为false。

void OnTriggerEnter(Collider other)
{
   other.attachedRigidbody.useGravity = true;
   other.attachedRigidbody.isKinematic = false;
}
void OnCollisionEnter(Collision col)
{
    if(col.collider.CompareTag("taghere") || col.collider.name == "Name")
    {
       // you have to mention the script in which rigidbody you want to disable
    }
}

0
投票

向游戏对象添加刚体时,您实际上是将对平移的直接控制权移交给了刚体,并且您不再应该直接更改变换。

© www.soinside.com 2019 - 2024. All rights reserved.