cs插件吧 关注:8,239贴子:88,452
  • 6回复贴,共1

请问如何设置velocity才能够让实体作圆周运动?

只看楼主收藏回复

就是让实体转圈那样子 谢谢


1楼2016-07-11 23:15回复
    new Float:vec[3] = { 10.0, 0.0, 0.0 };
    set_pev( iEnt, pev_avelocity, vec );


    IP属地:广东2楼2016-07-11 23:52
    收起回复
      简单的方法,每时每刻修改实体的pev_v_angle(每隔N秒向右或向左转动?度),然后用velocity_by_aim获取pev_velocity需要的速度。


      IP属地:广东3楼2016-07-19 03:33
      回复
        😳在think里面速度叉乘{0.0,0.0,1.0}(往上的单位向量)就可以得到往右的向量,然后对这个向量normalize变成长度为1(如果你希望顺时针就再取反),自己再算一个向心加速度大小(速率*角速度)再数乘刚才的方向,用原来的速度向量+加速度向量得到新的速度就这样


        IP属地:广东来自iPhone客户端4楼2016-08-19 01:03
        回复
          @杰拉德临死前 不好意思来晚了,用朋友电脑手打了一下代码,总感觉哪里很奇怪...
          new Float: vec[3]
          pev(ent, pev_velocity, vec)
          vec[0] = vec[0] * 0.0// 叉乘{0.0,0.0,1.0}
          vec[1] = vec[1] * 1.0
          vec[2] = vec[2] * 0.0
          xs_vec_normalize(vec, vec)
          new Float: vec2[3], Float: ang[3]
          pev(ent, pev_angles, ang)
          vec2[0] = (vec[0] * ang[0])// 速率乘角度
          vec2[1] = (vec[1] * ang[1])
          vec2[2] = (vec[2] * ang[2])
          vec[0] = vec[0] + vec2[0]// 速度+加速度
          vec[1] = vec[1] + vec2[1]
          vec[2] = vec[2] + vec2[2]
          xs_vec_normalize(vec, vec)
          set_pev(ent, pev_velocity, vec)


          5楼2016-08-21 09:58
          回复