老公原谅我在老公面前,小情侣在废弃楼房里约会电视剧,大赛每日一赛吃瓜爆料

  • 您的位置:首页 > 新闻动态 > Unity3D

    在虚拟装配应用中,用数据手套实现拧螺丝动作

    2019/6/16??????点击:

    遇到有客户在使用Wiseglove数据手套开发机械装配相关应用时,要实现数据手套拧螺丝的动作,客户认为wiseglove7s+手套拧了一个角度,但是螺丝并没有按照预想的方向旋转。我们经过研究后,认为实现该功能需要具备以下条件:

    1. 手模型与螺丝有碰撞触发

    2. 数据手套有抓取动作

    3.数据手套有释放动作

    使用了Unity3d的触发器检测手与物体的碰撞状态。

    private void OnTriggerEnter(Collider other)
    {
      print("Enter trigger");
      Oldpos = Leftobject.transform.position;
    }
    private void OnTriggerStay(Collider other)
    {
    //手套抓取
    if(wiseglove.grasp)
    {
      print("grasp");
      float yAixsval = Vector3.Angle(Vector3.ProjectOnPlane(Leftobject.transform.position, Vector3.up),Vector3.right) - Vector3.Angle(Vector3.ProjectOnPlane(Oldpos,Vector3.up),Vector3.right);
      Vector3 deltaAngles = new Vector3(0,uAxisval,0);
      transform.eulerAngles +=deltaAngle;
      Oldpos = Leftobject.transform.position;
    }
    else {
      print("open hand");
      Oldpos = Leftobject.transform.position;
    }
    }
    private void OnTriggerExit(Colloder other)
    {
      print("Exit");
      Oldpos = Leftobject.transform.position;
    }

    当然如果需要螺丝沿着平面的法向随着旋转有位移,似乎也不难~~

    这里主要的技巧就是: Vector3.ProjectOnPlane( Vector3 vector,Vector3 planeNormal) 得到投影向量 为vector到以planeNormal为法向量的平面上。求的是一向量与一平面的夹角。这也是让物体沿着指定轴旋转的关键所在。

    怎么样,小伙伴们会了吗? 感谢关注Wiseglove, 我们将一如既往地把我们为客户解决的技术问题发布到我们的官网,来分享关于数据手套的技术和心得。

    主站蜘蛛池模板: 永泰县| 乐陵市| 桦甸市| 瑞金市| 龙井市| 眉山市| 巍山| 瑞丽市| 石景山区| 海城市| 黔西| 婺源县| 女性| 河曲县| 仁布县| 昔阳县| 灵川县| 临武县| 龙州县| 江津市| 石柱| 阿勒泰市| 宣汉县| 大邑县| 比如县| 郁南县| 迁安市| 蓬溪县| 永靖县| 铜鼓县| 阿克陶县| 宜黄县| 武冈市| 淮北市| 宣汉县| 砚山县| 札达县| 黑龙江省| 山西省| 孝感市| 奇台县|