这几天在看cocos2d-x 3.2的3d模型,有些不懂的地方上来问问。

1、如图,5架飞机除了位置参数不一样,其他参数都一样为什么看上去的方向不一样了。
//创建中间的飞机
void HelloWorld::addBoss(Vec2 p){
m_sprite = Sprite3D::create("Sprite3D/boss.obj");
m_sprite->setScale(10.f);
m_sprite->setTexture("Sprite3D/boss.png");
m_sprite->setPosition( Vec2( p.x, p.y) );
this->addChild( m_sprite );
//在不同位置方向会有区别
addOtherBoss(Vec2(15,0),0);
addOtherBoss(Vec2(15,-15),5);
addOtherBoss(Vec2(-15,15),-5);
addOtherBoss(Vec2(-15,-15),0);
}
//创建周围的飞机
void HelloWorld::addOtherBoss(Vec2 pos,int order){
auto sprite = Sprite3D::create("Sprite3D/boss.obj");
sprite->setTexture("Sprite3D/boss.png");
sprite->setPosition( Vec2( pos.x, pos.y) );
m_sprite->addChild( sprite );
}
```
2、理解不了三维的坐标系统。我知道右手坐标和cocos2d-x的坐标,但是3d的坐标系统好像不一样啊。
对3d模型进行旋转180后执行逆动作回到初始状态:
在初始状态下做的旋转似乎没问题
绕x轴旋转
绕y轴旋转
绕z轴旋转(根据右手坐标,z轴应该是逆时针旋转吧。)
但是我先对飞机做旋转,再让他执行旋转动作时就不对了。
绕x轴旋转
绕y轴旋转
绕z轴旋转
x轴的方向跟着模型旋转了,y轴和z轴都没有:10: :10: :3:
完全就凌乱了。
另外附上我的代码
Sprite3D.zip (1538 KB)
第一个问题解决,可以参考这里http://xiaofei1990.blog.51cto.com/2648485/1243812
感谢一楼lion










记录了一下,不知道测试是否准确。