Прежде всего, я использую Unity3d.
Каков наиболее эффективный (с точки зрения памяти) способ создания группы 2D-листов с 2D-коллайдерами с использованием текстурного атласа (и данных тайлов)?
Справочная информация: я работаю над активом для создания 2D-ландшафта. Это очень похожий стиль генерации на случайную генерацию Terraria. В настоящее время каждая плитка создается как отдельный GameObject. Как я теперь знаю, это крайне неэффективно, и вместо этого я должен использовать атлас текстуры и данные тайлов. Вот ссылка на учебное пособие, которое я изучал, посвященное этому в 3D: http://studentgamedev.blogspot.co.uk/2013/08/unity-voxel-tutorial-part-1-generating.html
Проблема в том, что коллайдеры сетки являются трехмерными коллайдерами; 3D-коллайдеры НЕ МОГУТ сталкиваться с 2D-коллайдерами. В настоящее время в Unity нет 2D-коллайдеров (о которых я знаю), обладающих свойствами меша; Мне нужно динамически изменять 2D-коллайдер, чтобы он соответствовал позициям, содержащим плитки. Как мне разработать эффективную систему 2D-плиток с использованием 2D-коллайдеров?
Вот некоторые из моих идей, которые могут сработать:
- Добавьте 2D-компонент коллайдера бокса в GameObject чанка для каждой плитки в чанке.
- Каким-то образом динамически используйте 2D-коллайдер многоугольников, чтобы растянуть все твердые плитки.
Я прочитал несколько тем и не могу найти подходящего решения этой проблемы. Я в основном ищу проверенную технику / подход к этой проблеме, но я открыт для любых предложений или методов. Я рад внести ясность, если это необходимо. Спасибо за любые ответы! Я ценю время, которое вы потратили, чтобы ответить на мой вопрос - это очень помогает!