Различия в Unity 2D и 3D

В чем основные различия между проектом Unity 2D и проектом unity 3D! Отрисовывает ли Unity 2D-проекты быстрее, чем 3D? Или сборные 2D-текстуры / текстуры требуют меньше памяти, чем 3D? Есть ли возможность создавать 2D-сетки в 2D-проектах?

Спасибо за уделенное время!


person Vali Rosca    schedule 15.06.2014    source источник
comment
на самом деле нет конкретного 2D- или 3D-проекта как такового, вы можете смешивать и сочетать, как считаете нужным, в одном проекте (применяются некоторые ограничения, например, 2D-физика не может взаимодействовать с 3D-физикой)   -  person LearnCocos2D    schedule 15.06.2014
comment
@ LearnCocos2D, так неужели нет разницы в памяти или скорости рендеринга между ними двумя?   -  person Vali Rosca    schedule 15.06.2014
comment
сделайте тест производительности, если то, о чем вы беспокоитесь, может оказаться недостаточно быстрым. Если у вас нет такого варианта использования, абсолютно бессмысленно рассматривать производительность рендеринга. В конце концов, ваша игра работает так же быстро, как вы ее программируете, базовый движок имеет очень мало общего с этим (большинство движков хорошо оптимизированы, но могут иметь хорошо известные, но очень специфические проблемы, которых следует избегать).   -  person LearnCocos2D    schedule 15.06.2014


Ответы (3)


На самом деле разница заключается в том, какие объекты вы используете в своей сцене и какую камеру вы используете. В одной сцене можно смешивать как 2D, так и 3D. Попробую перечислить отличия при работе с 2D и 3D:

  1. Камера. Чтобы получить 2D-изображение вашего мира, вы используете ортогональную камеру. С такой камерой вы не увидите «эффекта перспективы», когда объекты сужаются по мере удаления от камеры. Куб, рассматриваемый ортогональной камерой с одной стороны, будет квадратом. Ортографическая камера не заботится о расстоянии объектов от камеры (пока они находятся в пределах плоскости отсечения камеры).
  2. Спрайты против сеток. Обычно в 2D-игре используются двухмерные спрайты, прикрепленные к объекту с помощью компонента SpriteRenderer. Но вы также можете отображать 2D-объекты с помощью текстурированных четырехугольников. В трехмерной игре вместо этого вы должны использовать компонент MeshRenderer для отображения трехмерных сеток. Однако вы можете смешать оба типа содержимого в одной сцене и добиться, например, эффекта 2.5D.
  3. Physics2D vs Physics. В Unity есть два набора инструментов физики: один для 3D и один для 2D. В 2D-игре проще использовать инструменты 2D-физики: (RigidBody2D, Collider2D, связанные классы для написания сценариев). Для 3D-игр вы должны использовать инструменты 3D-физики (RigidBody, Collider и соответствующие классы скриптов). Обратите внимание, что вы не можете смешивать 2D-физику с обычной физикой, то есть вы не можете заставить мяч с CircleCollider2D отскочить от коробки с BoxCollider.

Отрисовывает ли Unity 2D-проекты быстрее, чем 3D?

Как правило, да, каждый 2D-спрайт можно рассматривать как очень простой плоский 3D-объект (текстурированный четырехугольник с двумя треугольниками). Он будет отображаться быстрее, чем трехмерный персонаж с тысячами треугольников.

Есть ли возможность создавать 2D-сетки в 2D-проектах?

Спрайты - это то, что вы обычно используете для 2D; это просто прямоугольные картинки. Сетка - это трехмерная конструкция. Вы можете импортировать плоскую сетку и правильно сориентировать ее в сцене, чтобы она выглядела как 2D.

person sonofrage    schedule 29.06.2015
comment
Спрайты - это то, что вы обычно используете для 3D - это опечатка? Вы имели в виду 2D? - person David Moles; 23.12.2016

Особой разницы нет. Есть 2d сетки. Скорость рендеринга зависит от того, какие компоненты в основном есть у каждого объекта. В целом, двумерные объекты работают быстрее, поскольку им не нужны сетки, а только спрайты.

person Reinstate Monica    schedule 15.06.2014

Согласно этому (Unity 2D против 3D), Unity 2D всегда быстрее, чем 3D. Я знаю, что это сравнение для Unity 4.3, но, вероятно, оно все еще актуально для Unity 5.

Вышеупомянутое сравнение не является официальным эталонным тестом, проведенным Unity, так что относитесь к нему с недоверием? Наверное, лучший способ убедиться - это провести тест самостоятельно ...

Вот выдержка из блога:

Так что, если вы разрабатываете 2D-игры сегодня, нет оправдания тому, чтобы начать использовать новый движок Physics. Вы получите лучшую производительность, а это означает, что у вас будет больше процессорного времени, чтобы создавать еще лучшие игры.

Это их слово, а не мое.

person Rosdi Kasim    schedule 15.08.2015