我已经创建了一辆3D赛车,汽车左右移动,但它不会随着真正的汽车旋转而旋转。下面是我的脚本:
public class movement : MonoBehaviour {
Rigidbody rb;
public float forwardforce = 600f;
public float sidwayforce;
float left_right;
public float thrust;
public float speed;
void Start () {
rb = GetComponent<Rigidb
我做了一个小程序来动画的星算法。如果你看这张图片,就会发现很多黄色的汽车在移动。它们在任何时候都可能发生碰撞,可能只是其中一种或全部都会愚蠢地碰撞在一起。
我该如何检测所有这些碰撞?我怎样才能找出哪一辆车撞上了另一辆车?
我知道吡咯有碰撞功能,但它一次只能检测一次碰撞,我必须指定哪个精灵。
现在,我只是尝试迭代每一个雪碧,看看是否有冲突:
for car1 in carlist:
for car2 in carlist:
collide(car1, car2);
这不可能是正确的方法,如果汽车列表到一个巨大的数字,一个双循环将太慢。
📷
我已经创建了两个car对象,它们的当前速度表示为len变量。
这是代码:
蓝色汽车碰撞事件:
if (place_meeting(x,y,obj_CarRed)) { // Checking Collision
len = 0 //Current speed
if (len < obj_carRed.len) { // Blue Car's current speed is greater than Red's
myHP -= obj_carRed.len/2
}
}
因此,我将代码复制到另一个对象,并将Red替换为Blue。当红
问题:-
我的游戏中有一个交通系统,我想摧毁一辆被另一辆车撞到的汽车。但问题是,这两辆车的脚本都是相同的,名为TrafficCar。下面是脚本中的函数,它负责冲突。
void OnCollisionEnter (Collision col)
{
// I want to destroy car after 1 sec due to some reason
if (col.gameObject.tag == gameObject.tag)
Destroy (col.gameObject,1f); // or let suppose I'm using traffic po