PhysX NxActor Вопрос - PullRequest
       8

PhysX NxActor Вопрос

2 голосов
/ 27 января 2009

Насколько я знаю, используя PhysX API, единственный способ получить NxActor - это экземпляр NxScene с помощью метода createActor. Это действительно беспокоит меня. Я хочу, чтобы мой код был чистым, но я чувствую, что нет другого выбора, кроме как обойти эту сцену от конструктора к конструктору, чтобы классы могли создавать и иметь ссылки на актеров. Я предполагаю, что, в качестве альтернативы, я мог бы сделать сцену глобальной (eek!), Но я не думаю, что глобальные переменные - это хорошая идея. Одна мысль, которую я имел, состояла в том, чтобы мои классы просто хранили NxActorDesc (и чтобы они предоставляли его сцене для создания актера посредством передачи сообщений), но им действительно нужны ссылки на NxActor, чтобы они могли синхронизировать свои преобразования с актером.

Во всяком случае, я хотел бы посмотреть, что могут понять другие. Как вы думаете, я иду по этому пути правильно (проходя всю сцену NxScene)? Это немного странно, но, может быть, я просто сумасшедшая. Если нет, как я могу синхронизировать что-то, например класс Model, с NxActor более элегантным способом? Заранее спасибо!

1 Ответ

0 голосов
/ 20 сентября 2009

Если вы не хотите, чтобы ваши объекты были напрямую связаны с актерами, я бы предложил другой подход. Вы можете придумать способ регистрации объекта, чтобы физика обновила его. Затем модуль, в котором зарегистрированы эти объекты, назначит каждый объект Актору, который будет использоваться для периодической установки информации об объектах. Таким образом, у вас есть только один модуль, связанный с управлением Actor / PhysX, и объектам просто необходим интерфейс, позволяющий обновлять их информацией о физике.

...