我要发帖 回复

正式会员

1

主题

50

积分

0

专家分

:

私信
发表时间 : 2014-3-27 10:18:32 | 浏览 : 812    评论 : 1
本帖最后由 djli 于 2014-3-27 10:24 AM 编辑

VP中观察者绕Z轴环绕物体已经实现,但是参考已经实现的原理写绕Y轴环绕时,却得不到想要的结果。
代码如下:
vpTransform *mytransform=new vpTransform();  //转换
mytransform->setTranslate(2485.6,2399.85,10);
m_observer->setLookFrom(mytransform);
m_object->addChild(mytransform);  //将转换设置为物体A的孩子
//视点在A物体后,并会伴随A物体运动。我想通过转换实现对A物体的环绕观察。
//如图附件中虚线部分所示,Y轴不变。
//关于环绕我的做法是:     
    iint dR=3.5;  //半径,即观察者距离物体A的距离
    dx=dR*cos(dP*3.14159/180); //dP为每次RotateH的度数1.0
    dz=dR*sin(dP*3.14159/180);//x,z为计算出来转1度观察者的位置
    mytransform->setTranslateX(dx,false);
    mytransform->setTranslateY(3.5,false);
    mytransform->setTranslateZ(dz,false);
    mytransform->setRotateR(dP,true);
    dP=dP+1.0;
结果是,场景例如土地在旋转,感觉observer的位置并没有变化。

最近VR访客

andyqi0522 评论于2014-3-27 17:18:54
从transform看object,绕Y轴转的话transform实时改变的是pitch吧?

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-9-29 10:25 AM

返回顶部