我要发帖 回复

新手上路

2

主题

18

积分

0

专家分

:

私信
发表时间 : 2012-7-7 09:30:14 | 浏览 : 878    评论 : 1
大家好,我想实现类似于cs的漫游效果,用VP自带的漫游器如Game效果不是太好,请问大家有没有好的办法?谢谢!

最近VR访客

obuil 评论于2012-7-7 22:45:48
  1. m_pMainObs->getPosition(&obs_x,&obs_y,&obs_z);
  2.         m_pMainObs->getRotate(&obs_h,&obs_p,&obs_r);

  3. float  deltP=0,deltH=0,z=0;
  4.                         float  deltX=0.0,deltY=0.0;

  5.                         /*if(keyDown[0x25])
  6.                                 deltH+=fObsMove_rate/3;
  7.                         if(keyDown[0x27])
  8.                                 deltH-=fObsMove_rate/3;*/
  9.                         if(keyDown[0x24])
  10.                                 deltP+=fObsMove_rate/2;
  11.                         if(keyDown[0x23])
  12.                                 deltP-=fObsMove_rate/2;

  13.                         obs_p+=deltP;
  14.                         obs_h+=deltH;



  15.                         if(keyDown['w']||keyDown['W'])
  16.                         {
  17.                                 deltX -= sin(obs_h/57.3)*fObsMove_step;
  18.                                 deltY += cos(obs_h/57.3)*fObsMove_step;
  19.                         }
  20.                         if(keyDown['s']||keyDown['S'])
  21.                         {
  22.                                 deltX += sin(obs_h/57.3)*fObsMove_step;
  23.                                 deltY -= cos(obs_h/57.3)*fObsMove_step;
  24.                         }

  25.                         if(keyDown['a']||keyDown['A'])
  26.                         {
  27.                                 deltX -= cos(obs_h/57.3)*fObsMove_step/2;
  28.                                 deltY -= sin(obs_h/57.3)*fObsMove_step/2;
  29.                         }
  30.                         if(keyDown['d']||keyDown['D'])
  31.                         {
  32.                                 deltX+= cos(obs_h/57.3)*fObsMove_step/2;
  33.                                 deltY+= sin(obs_h/57.3)*fObsMove_step/2;
  34.                         }
  35.                         if(keyDown[0x21]&&obs_z<1000)
  36.                                 obs_z+=fObsMove_step/3;
  37.                         if(keyDown[0x22]&&obs_z>1)
  38.                                 obs_z-=fObsMove_step/3;

  39.                         if(keyDown['q']||keyDown['Q']&&obs_z<1000)
  40.                         {
  41.                                 obs_z+=fObsMove_step/3;
  42.                         }
  43.                         if(keyDown['e']||keyDown['E']&&obs_z>1)
  44.                         {
  45.                                 obs_z-=fObsMove_step/3;
  46.                         }
  47.                         obs_y+=deltY;
  48.                         obs_x+=deltX;
  49.                         deltX=0;
  50.                         deltY=0;
  51. m_pMainObs->setPosition(obs_x,obs_y,obs_z);
  52.         m_pMainObs->setRotate(obs_h,obs_p,obs_r);
复制代码
UE4   |   虚幻引擎   |   Unity VR    |    Hololens

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

GMT+8, 2021-8-2 05:22 PM

返回顶部