ho 3D ruotano una figura piana in Illustrator o Photoshop, ottenere angoli esatti (x, yez) applicato ad esso nello strumento di progettazione e quindi applicare gli stessi angoli di un UILabel posto sopra l'immagine per sincronizzarli visivamente.
Ho capito come ruotare 2 assi contemporaneamente utilizzando CATransform3DConcat, ma poi non sono sicuro di come applicare il terzo.
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
Cercando questo ora, ma ancora non va bene. Provato tutte le combinazioni di diversi ordini ma nulla.
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);
Cosa stai cercando di ottenere? È possibile ruotare in qualsiasi direzione specificando valori diversi per gli argomenti 2 °, 3 ° e 4 per CATransform3DMakeRotation. – jtbandes
Io primo 3D ruoto un quadrato piatto in Illustrator o Photoshop, ottengo gli angoli esatti (x, y e z) applicati ad esso nello strumento di disegno e poi applico gli stessi angoli ad un UILabel posto sopra il quadrato per sincronizzarli visivamente . – durazno
L'ordine sarà importante. Puoi mostrare esattamente cosa vuoi che faccia e cosa invece sta facendo attualmente? – jtbandes