我有一个放置在随机位置的对象数组。 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
我需要找到一种解决方案,以帮助防止阵列中的任何一辆车彼此之间距离太近。
有什么想法吗?