Как заставить предметы избегать друг друга

У меня есть массив объектов, которые я установил в случайных позициях. В 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 ответов

Другие вопросы по тегам