我有两个游戏对象,其中一个是我的“英雄”,另一个是带有 NavMesh 的敌人,我设法使健康系统没有问题但知道当剑与敌人碰撞时似乎rigidbody 不工作或什么的,因为我已经尝试了几个我在 Internet 上找到的解决方案,但似乎没有任何工作。我希望一旦剑与敌人相撞,敌人就会被推开。我试过这个:
public void takeDamage() {
// revert rigidbody velocity:
rigidbody.velocity *= -1;
}
另一个代码
float distance = 25.0f;
if (player.position.x < enemyPosition.position.x) {
Vector3 new_position = new Vector3 (distance, enemyPosition.position.y, enemyPosition.position.z);
rb.position = new_position;
}
谢谢
编辑:
好像是用这段代码解决的:
Vector3 new_position = new Vector3 (3.0f, 0f, 0f) + rb.transform.position;
rb.transform.position = new_position;
测试一下
void OnCollisionEnter(Collision collision) {
if (collision.relativeVelocity.magnitude > 1)
rb.velocity = new Vector3(0, 10, 0);
}
我是一名优秀的程序员,十分优秀!