Возможно, вам понадобится уточнить, что касается следующего: "он не вращался так, как я ожидал"
OpenGL ES (и, следовательно, cocos3D) использует ось Y как верхтаким образом, порядок вращения по-прежнему XYZ.Если вы импортируете модель, вам необходимо учесть систему координат 3D-редактора и соответствующим образом адаптировать ее.
Если вы не привыкли работать с трехмерными представлениями, переход от 2D к 3Dможет быть значительным препятствием.В Cocos3D:
- ось x положительна справа и отрицательна слева
- ось y положительна вверх и отрицательна вниз
- zось положительна движется к вам, а отрицательная движется от вас
Предусмотрите эти три линии оси или, что еще лучше, кусок струны.
Если вы вращаетесь вокругОсь X, удерживайте строку горизонтально слева направо: объект будет вращаться к вам или от вас.
Если вы вращаетесь вокруг оси Y, удерживайте строку вертикально от ступней к голове:объект будет вращаться, как будто вращающаяся дверь.
Если вы вращаетесь вокруг оси z, держите один конец близко к груди, а другой конец как можно дальше: объект будет вращаться подобноциферблат.
- Обновление
Я бы настоятельно не рекомендовал изменять порядок вращения, поскольку использование YXZ является стандартом OpenGL.Если вы хотите изменить его, взгляните на CC3GLMatrixMath и найдите kmMat4RotationYXZ - также есть kmMat4RotationZYX .Если вы хотите иметь XYZ, вам нужно создать свою собственную матрицу вращения и соответственно обновить ее в CC3GLMatrix и CC3GLMatrixMath.
Для справки, у вас также есть OpenGL Красная книга - она должнаесть несколько предложений для вас.