所以我正在做一个汽车会自动移动的游戏,所以只要汽车撞到物体,它就会继续漂浮在空中,而不会受到重力的影响,所以这是我的主要代码,对此我还是有点陌生: \
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的特性,受重力影响且质量很大,但这并不影响任何此>]
所以我正在做一个汽车会自动移动的游戏,所以每当汽车撞到物体时,它都会继续漂浮在空中,而不会受到重力的影响,所以这就是我的主要代码,我是...
还要确保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
}
}
向游戏对象添加刚体时,您实际上是将对平移的直接控制权移交给了刚体,并且您不再应该直接更改变换。