如何使物体互相避开

时间:2018-08-23 19:30:51

标签: python vizard

我有一个放置在随机位置的对象数组。 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

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

有什么想法吗?

0 个答案:

没有答案