/ / Чи є вагомі причини включити 2D-проекцію з cocos2d-iphone? - cocos2d-iphone, проекція, zbuffer, глибинне тестування

Які хороші причини для включення 2D проекції з cocos2d-iphone? - cocos2d-iphone, проекція, zbuffer, глибинний тестування

У cocos2d-iphone тип проекції за замовчуванням - проекція "3D". Але ви також можете встановити проекцію на "2D" так:

[[CCDirector sharedDirector] setProjection:CCDirectorProjection2D];

За кулісами 3D-проекція використовує перспективну проекцію, тоді як 2D-проекція є OpenGL-ортографічною проекцією. Технічні деталі цих двох режимів проектування можна переглянути тут, що ні що мене цікавить.

Які переваги та недоліки 2D-проекції для користувачів cocos2d? Які вагомі причини перейти на 2D-проекцію?

Особисто я використовував 2D проекцію, щоб мати можливість використовувати глибинну буферизацію для ізометричних тилей. Isometric tilemaps вимагає цього для правильного z-упорядкування плиток і об'єктів на tilemap.

Я також використовував 2D проекцію з глибиною буферизаціїв проектах, що не використовують tilemap, для отримання повного керування z-замовлення через властивість vertexZ. Цей проект використовував псевдоізометричний дисплей, де вершина Z об'єкта заснована на його координаті Y.

Це означає, що я використовував тільки 2D проекціюбути в змозі використовувати властивість vertexZ, яка також вимагає вбудовування глибини буферизації. Чи є інші причини, які можна перейти до 2D проекції?

Відповіді:

3 для відповіді № 1

Перехід до 2D-проекції - це заощадження життя в наступному сценарії:

  1. Ви створюєте велику CCRenderTexture

  2. Ви намалюєте на ньому купу матеріалу, або за допомогою [... visit] або функцій малювання OpenGL

  3. Ви додаєте текстуру візуалізації у ваш шар, наприклад, для того, щоб речі, які ви намалювали в пункті 2., були фоном для вашої гри.

За допомогою 3D-проекції текстура буде відображатися з вертикальними та / або горизонтальними лініями несправностей. Див., Наприклад, http://www.cocos2d-x.org/boards/6/topics/16197 який для cocos2d-х, але я спостерігав той же ефект і для cocos2d-iphone і встановлення проекції на 2D позбулися проблеми.


1 для відповіді № 2

Я переключився на 2D проекцію як єдинузасоби для вирішення проблем з візуалізацією шрифтів за допомогою міток CC, як файлів шрифтів, так і міток на основі TTF. Це не завжди є причиною виникнення проблем зі шрифтами, але це вирішує деякі проблеми для мене, коли все інше не вдалося.