2016-05-08 6 views
0

Есть ли недостатки в использовании Vector2D в 2D-игре в Unity3d? Или я должен всегда использовать Vector3D? Они кажутся взаимозаменяемыми.Vector2D или Vector3D в 2D играх

+0

«Они кажутся взаимозаменяемыми». Он выглядит не так, Vector2 реализует неявный оператор, который отбрасывается от одного к другому (в то время как z отбрасывается, но его все еще отличает). В общем случае id, Vector2 для UI, Vector3 для всего остального. http://docs.unity3d.com/ScriptReference/Vector2.html – yes

+0

Вы смешивали 2D и 3D в том, что вы написали выше? конечно, вы используете 2D в 2D-игре. Если вы используете 3D в 2D-игре, это прекрасно, не проблема. – Fattie

+0

Я заметил неявный бросок. Меня задали этот вопрос, но я не был полностью уверен в ответе. Речь идет о игре только 2D. – Sorskoot

ответ

1

Просто используйте Vector3 в играх 2d. Все позиции объектов по-прежнему отображаются в трехмерном пространстве, поэтому, если вы используете Vector2D, будет просто ненужный литой от Vector2D до Vector3D, а третий размер будет равен 0. : z свойство по-прежнему принимается во внимание для спрайты на одном и том же слое сортировки и с тем же «порядком в слое», поэтому следите за этим. По большей части порядок, в котором нарисованы спрайты, должен заботиться по их сортировочному слою и порядку в свойствах слоя.

Существует много применений Vector2D в 2D физическом движке, но вам не нужно беспокоиться об этом. Если вы пройдете Vector3D, то он будет неявно преобразован и измерение z будет отброшено.