В настоящее время я играю с XNA и создаю простой 2D-платформер. Я думал о добавлении нескольких слоев, чтобы сделать это немного сложным.
Вместо того, чтобы иметь Vector2
для моих позиций, я теперь использую Vector3
, исключительно, чтобы использовать его в Z
качестве глубины слоя. Однако, поскольку вы не можете использовать операторы между Vector2
и Vector3
по какой-то неизвестной причине [1] , я закончил тем, что изменил все другие Vector2
s в моей игре, такие как ускорение , скорость и смещение , так что я могу делать вещи, как position += offset
без ошибок.
Я также изменил свою переменную вращения с float
на Vector3
, и я использую Z
значение, чтобы вращать мои текстуры. Я планирую использовать X
и Y
масштабировать мои текстуры, чтобы вы получили эффект Super Paper Mario.
Однако, после изменения всех этих Vector2
s в Vector3
s, я немного расстроился из-за этого. Как это влияет на производительность игр? Я знаю, что мне не нужно беспокоиться о производительности в моей маленькой платформерной игре, но мне просто интересно.
Есть ли какая - либо заметная производительность между Vector2
s- и Vector3
с, например , при добавлении или умножая их, или при вызове Normalize
, Transform
или Distance
?
[1] Просто дополнительный вопрос, почему нет операторов для вычислений между Vector3 и Vector2?