какое соотношение между пикселем и метром будет лучшим и предпочтительным? - PullRequest
0 голосов
/ 27 апреля 2011

Я использую следующее соотношение для преобразования пикселей в метры,

PTM_RATIO=32;
v3BodyDef.position.Set(2848/PTM_RATIO, 102/PTM_RATIO);

Это приводит к многократному выводу на экран странного вывода, поэтому установка позиции (v3BodyDef.position.Set) принимает переменную с плавающей запятойили нет, я не знаю, но я думаю, что это преобразование создает проблемы.

Пожалуйста, помогите мне с этим.Спасибо.

Ответы [ 2 ]

3 голосов
/ 27 апреля 2011

Для этого не существует рекомендуемого соотношения (хотя некоторые попытаются убедить вас в этом).

Масштаб объектов в вашем физическом движке должен зависеть от среднего масштаба ваших динамических объектов.Я имею в виду, что если ваш игрок взаимодействует со многими объектами, «немного большими» и «немного меньшими», чем он сам, вероятно, лучше всего сделать игрока среднего размера в оптимальном диапазоне (например, Box2D оптимизирован для объектов междуРазмеры 0,1м и 10м, поэтому игрок должен быть 1м или 1,5м).

Что касается размера вашего пикселя, то все зависит от того, насколько велик ваш мир на экране.

Если вы хотите, чтобы ваш герой находился на 1/10 высоты экрана и на расстоянии 2 метров от камеры, сделайте математику :-p. Другие могут захотеть, чтобы их высота составляла 1/8 от высоты экрана или 1/12.... это действительно зависит от того, как игра будет выглядеть в конце.Если камера увеличит масштаб, соотношение пикселей к физике изменится.Если изменяется разрешение экрана (например, отображение на сетчатке), ваше отношение пикселей к физике должно будет соответственно изменяться.

Итак, на практике: заданного значения не существует.Это действительно зависит от игры и зависит от того, что лучше всего подходит для вашего оборудования.

0 голосов
/ 27 апреля 2011

Скорее всего, это проблема целочисленного деления, замените PTM_RATIO на число с плавающей точкой (или, если вы его определяете, используйте #define PTM_RATIO 16.0f)

...