C # XNA Farseer - Создание фигур из текстур - PullRequest
1 голос
/ 18 декабря 2011

Я хочу создать вершины столкновения для прикрепления к телам в XNA с помощью Farseer, согласно загруженным Texture2D.

Предостережение, прежде всего. в том, что я не использую Farseer для чего-либо кроме столкновения. Рендеринг и весь другой игровой код выполняется с использованием моего собственного движка Farseer просто используется в качестве симулятора фоновой физики (и он сообщит мне только, когда произойдет столкновение, а затем я сам с этим разберусь).

Я должен отметить, что я на 100% новичок в Farseer. Никогда не использовал его раньше.

Итак, если я создаю свой список с помощью BayazitDecomposer.ConvexPartition (verts), я должен хранить эти данные вместе с объектами Texture2D; и затем создавать объекты List на лету, когда я создаю своих сталкивающихся актеров? Или я что-то не так делаю?

Кроме того, в примере на http://farseerphysics.codeplex.com/documentation, он масштабирует вершины с помощью Vertices.Scale () ... Если я сохраню все тела Farseer в пиксельном пространстве, нужно ли мне это делать?

Спасибо.

1 Ответ

1 голос
/ 20 декабря 2011

Итак, если я создаю свой список с помощью BayazitDecomposer.ConvexPartition (verts), я должен хранить эти данные вместе с объектами Texture2D; и затем создавать объекты List на лету, когда я создаю своих сталкивающихся актеров? Или я что-то не так делаю?

Вы создаете экземпляр класса Body из списка вершин, используя BodyFactory. Я бы предложил сделать это для каждого актера, который у вас есть. Однако вы можете сэкономить некоторую мощность процессора, повторно используя тела. Поэтому, если актер умирает, добавьте тело в очередь, а затем привязайте его к созданному новому актеру.

Кроме того, в примере на http://farseerphysics.codeplex.com/documentation, он масштабирует вершины с помощью Vertices.Scale () ... Если я сохраню все свои тела Farseer в пиксельном пространстве, нужно ли это делать?

Неа. Однако это означает, что пиксель является метром, насколько это касается Farseer. Я полагаю, что формула для Torque, если Radius * Force, так что все, что зависит от радиуса, не будет вести себя, как ожидалось. Я предлагаю сделать метис эквивалентным тому, что на самом деле является метром в игре. Это просто немного дополнительного деления.

...