Поворот X, Y и ось Z все вместе
Я первый 3D повернуть плоскую фигуру в Illustrator или Photoshop, получить точные углы (х, у и г) применяется к нему в средстве дизайна, а затем применить те же самые углы к UILabel, расположенному поверх изображения, чтобы визуально синхронизировать их.
Я выяснил, как вращать 2 оси одновременно с помощью CATransform3DConcat, но тогда я не уверен, как применять третий.
float angleX = -18 * M_PI/180;
CATransform3D t1 = CATransform3DMakeRotation(angleX, 1, 0, 0);
float angleY = -26 * M_PI/180;
CATransform3D t2 = CATransform3DMakeRotation(angleY, 0, 1, 0);
CATransform3D combo1 = CATransform3DConcat(t1, t2);
self.labelPlay.layer.transform = combo1;
EDIT
не Пытаюсь это сейчас, но до сих пор нет хорошего. Пробовал все комбинации разных заказов, но ничего.
float angleX = -18 * M_PI/180;
CATransform3D t1 = CATransform3DMakeRotation(angleX, 1, 0, 0);
float angleY = -26 * M_PI/180;
CATransform3D t2 = CATransform3DMakeRotation(angleY, 0, 1, 0);
float angleZ = 8 * M_PI/180;
CATransform3D t3 = CATransform3DMakeRotation(angleZ, 0, 0, 1);
self.label.layer.transform = CATransform3DConcat(CATransform3DConcat(t3, t2), t1);
Что вы пытаетесь достичь? Вы можете вращаться в любом направлении, задавая разные значения для 2-го, 3-го и 4-го аргументов для CATransform3DMakeRotation. – jtbandes
Сначала я 3D вращаю плоский квадрат в Illustrator или Photoshop, получаю точные углы (x, y и z), применяемые к нему в инструменте проектирования, а затем применяю те же самые углы к UILabel, расположенному поверх квадрата, чтобы визуально их визуализировать , – durazno
Заказ будет иметь значение. Можете ли вы показать, что именно вы хотите, и что он сейчас делает? – jtbandes