Могут ли Core Animation и CALayer и CATransformLayer показать объект с "толщиной"?
Кажется, что мы можем показать слои и даже использовать разные zPosition
для разных слоев в Core Animation - правда ли, что нет простого способа показать что-то с некоторой толщиной?
Например, кусочек сыра толщиной 2 мм, кнопка или монета, которая наклонена и поэтому имеет толщину 1 мм? Каким-то образом толщину нужно показать, добавив еще один слой для имитации толщины? Таким образом, этот 2.5D является более простым 2.5D, где он представляет собой трехмерный мир, ограниченный плоскими 2D-изображениями... в то время как некоторые 2.5D, такие как некоторые RPG-игры (например, Diablo), которые иногда также называют 2.5D, но объектами в таких ситуациях (например, в здании) на самом деле может быть ширина, длина и высота (толщина). Так что на самом деле, это на самом деле довольно 3D для меня... за исключением того, что большинство объектов находятся на 2D-карте, которая наклонена в сторону.
Итак, вернемся к вопросу... правда ли, что в iOS он довольно ограничен трехмерным миром плоских 2D-изображений и предназначен для любого width
Икс length
Икс height
потребуется перейти в OpenGL / CAEAGLLayer
?
1 ответ
Да, это правда. Core Animation выполняет 3D-анимацию 2D-объектов (слоев). Вы можете смоделировать толщину, построив сложную сборку объектов, где вы добавляете слои для краев вашего объекта, но это неприятно.
OpenGL - намного лучшая платформа для работы с 3D.