0

我有一组设置在随机位置的对象。Vizard 有这个接近传感器/目标功能,我用它来为每辆车分配一个传感器,也让每辆车成为目标。但是,当我为每个传感器/目标交互创建一个动作时,所有汽车都以相同的方式做出反应(这是意料之中的,因为我已经让每辆车成为自己的传感器和目标)。

这是我创建职位列表之后的代码。在这里,我创建了一组 3D 汽车:

obs_cars_array = []
for c_set in obs_pos: # for every coordinate set in the list of positions
    obs_car = viz.add('mini.osg') # assign a car avatar
    obs_car.setPosition([c_set[0], 0.8, c_set[1]]) # set the position of each car avatar
    obs_cars_total.append(obs_car) # create array of 3D car objects

然后我在同一个代码块中创建一个传感器和目标:

    obs_car_target = vizproximity.Target(obs_car) # make each car a target
    manager.addTarget(obs_car_target) # add it to the target manager
    sensor = vizproximity.addBoundingSphereSensor(obs_car,scale=1) # make same car a sensor
    manager.addSensor(sensor) # update sensor manager

我需要找到一种解决方案,以帮助我防止阵列中的任何汽车离另一辆汽车太近。

有任何想法吗?

4

0 回答 0