您好,欢迎来到Unity之家!   unity.jb51.net 
  • 首 页
  • 你问我答
  • 当前位置:首页 > 学习培训 > Unity编程 >
    让物体惯性的旋转
    时间:2015-02-13 14:14 来源:Unity之家 作者:unity.jb51.net 浏览:收藏 挑错 推荐 打印



    想实现的效果,给一个物体初速度,当物体被各种各样的力阻挡过后,我们的物体的旋转速度将越来越小,最后静止。

    惯性首先要得给物体添加rigidbody,我用rigidbody的方法AddTorque函数,不要用AddRelativeTorque,因为他是局部的;

    这两个函数用在FixedUpdate里面。先感受一下AddTorque函数的效果,你会发现力矩的方向和物体的旋转方向是呈右手定则,

    相互垂直,拇指表示力矩方向,四指表示旋转的方向。在手机上就两个方向旋转,分别是绕Y轴和X轴旋转,所以Z轴就是0。

    同样我们还是用到了Input.GetAxis(“Mouse X/Y”)函数,你会用他们的大小来表示要旋转的放向,

    同样根据右手定则求出力矩的方向,然后再给Rigidbody的Drag和Angular Drag,加一点阻力。


    [java] view plaincopyprint?    
      var h : float;    
      var v : float;    
      var Torque:Vector3;    
      function FixedUpdate () {    
      rigidbody.AddTorque(Torque*1);    
      }//Unity3D教程手册    
      function Update(){    
      if(Input.GetTouch(0).phase==TouchPhase.Moved){    
      h =Input.GetAxis(“Mouse X”);//有正左负    
      v =Input.GetAxis(“Mouse Y”);//上正下负    
      }    
      else{    
      h=0;    
      v=0;    
      }    
      Torque=Vector3(v,-h,0);    
      if(Input.GetKey(KeyCode.Escape)){    
      Application.Quit();    
      }    
      }



    (责任编辑:脚印)
    免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。
    标签:Unity之家