我要发帖 回复

新手上路

6

主题

2

积分

0

专家分

:

私信
发表时间 : 2011-10-28 16:25:08 | 浏览 : 1288    评论 : 1
想通过键盘来控制不同视角场景的放大和缩小,就是拉近拉远observer和object的距离,下面是程序,运行不出想要的结果,求大家指点呀,本人编程不太好O(∩_∩)O哈哈~
         case vrWindow::KEY_B:
              float dx,dy;
              double h,p,r;
              dx=dy=0;
              m_pObserver->getRotate(&h,&p,&r);
              h=vuDeg2Rad<double>(h);
              dx=5*vuSin(h);
              dy=5*vuCos(h);
              m_pObserver->setTranslate(dx,dy,0,true);
              break;
         casevrWindow::KEY_S:
              m_pObserver->getRotate(&h,&p,&r);
              h=vuDeg2Rad<double>(h);
              dx=5*vuSin(h);
              dy=5*vuCos(h);
              m_pObserver->setTranslate(-dx,-dy,0,true);
              break;

最近VR访客

qingyuximo 评论于2011-10-28 16:27:51
这是其中几个不同的观察角度,实际上就是引用的vpmarine_simple的例子呵呵
case vrWindow::KEY_3:
            m_pObserver->setStrategy( NULL );
                       
            m_pObserver->setLookAt( m_pShipMotionStrategy->getBowTransform() );
            m_pObserver->setLookFrom( m_pXFormShipFront );
            m_pXFormShipFront->setTranslate(
                         15.0, m_pShip->getBowOffset() + 65, 15.0 );
            break;

        case vrWindow::KEY_4:
            m_pObserver->setStrategy( NULL );
            m_pObserver->setLookAt( m_pShipMotionStrategy->getBowTransform() );
            m_pObserver->setLookFrom( m_pXFormShipFront );
            m_pXFormShipFront->setTranslate(
                        -30.0, m_pShip->getBowOffset() + 10, 20.0 );
            break;

        case vrWindow::KEY_5:
            m_pObserver->setStrategy( NULL );
            m_pObserver->setLookAt( m_pShipMotionStrategy->getBowTransform() );
            m_pObserver->setLookFrom( m_pXFormShipFront );
            m_pXFormShipFront->setTranslate(
                         30.0, m_pShip->getBowOffset() + 10, 5.0 );
            break;

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

GMT+8, 2022-8-15 12:48 PM

返回顶部