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