我是C#的新手,我正在建立一个关于unity3D的Braitenberg车辆模拟。我正在创建一个环境,随机定位的立方体。
问题1:它创建了我插入创建的多维数据集的两倍。
问题2:我很难让车辆避开立方体。我开始试图在控制台中打印一条消息,因为车辆在一个立方体附近,但它不起作用。这是我创建立方体的代码。
public class Cubes : MonoBehaviour {
public float distance;
public List<GameObject> allCubes = new List<GameObject>();
public float[,] positionS = new float[10, 2];
void Start () {
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
for (int x = 0; x < 10; x++)
{
positionS[x, 0] = Random.Range(-20F, 20F);
positionS[x, 1] = Random.Range(-20F, 20F);
//cube.AddComponent<Rigidbody>();
//cube.transform.position = new Vector3(position[x,0], position[x,1], 0.5F);
allCubes.Add((GameObject)Instantiate(cube, new Vector3(positionS[x, 0], 0.5F, positionS[x, 1]), Quaternion.identity));
}
}
}
这里是我检查车辆之间距离的地方:
public class CubeDetector: Cubes
{
public float[] distances;
public CarBehaviour car;
void Update()
{
for (int i = 0; i < allCubes.Count; i++)
{
distances[i] = Vector3.Distance(car.transform.position, allCubes[i].transform.position);
if (i < 9)
{
if (distances[i] < distances[i++])
{
Console.WriteLine('y');
Console.ReadLine();
}
else
{
Console.WriteLine('n');
Console.ReadLine();
}
}
}
}
}
欢迎任何帮助!