Threejs实现机械臂运动,机械臂dae格式模型,模型下载

简介: Threejs实现机械臂运动,机械臂dae格式模型,模型下载

1,介绍


该示例使用的是 r95版本Three.js库。

主要实现功能:引入机械臂dae格式模型,模拟机械臂运动。效果图如下:


2,动画主要说明



1,引入机械臂模型,附模型下载地址如下

2,使用Tween.js模拟实现动画


// 添加坊的模型
function initFang() {
  var loader = new THREE.ColladaLoader();
  loader.load('assets/models/abb_irb52_7_120.dae', function(collada) {
    dae = collada.scene;
    dae.traverse(function(child) {
      if (child.isMesh) {
        // model does not have normals
        child.material.flatShading = true;
      }
    });
    // dae.scale = 1000;
    dae.updateMatrix();
    kinematics = collada.kinematics;
    console.log(kinematics)
    scene.add(dae);
    setupTween();
  });
}
function setupTween() {
  const duration = THREE.Math.randInt(1000, 2000);
  const target = {};
  for (const prop in kinematics.joints) {
    if (kinematics.joints.hasOwnProperty(prop)) {
      if (!kinematics.joints[prop].static) {
        const joint = kinematics.joints[prop];
        const old = tweenParameters[prop];
        const position = old ? old : joint.zeroPosition;
        tweenParameters[prop] = position;
        target[prop] = THREE.Math.randInt(joint.limits.min, joint.limits.max);
      }
    }
  }
  kinematicsTween = new TWEEN.Tween(tweenParameters).to(target, duration).easing(TWEEN.Easing.Quadratic.Out);
  kinematicsTween.onUpdate(function(object) {
    for (const prop in kinematics.joints) {
      if (kinematics.joints.hasOwnProperty(prop)) {
        if (!kinematics.joints[prop].static) {
          kinematics.setJointValue(prop, this[prop]);
        }
      }
    }
  });
  kinematicsTween.start();
  setTimeout(setupTween, duration);
}



目录
相关文章
|
数据可视化 物联网
Threejs物联网,工厂3D可视化
Threejs物联网,工厂3D可视化
1491 15
Threejs物联网,工厂3D可视化
Threejs使用精灵Sprite作为标签,鼠标悬浮精灵上时鼠变小手
Threejs使用精灵Sprite作为标签,鼠标悬浮精灵上时鼠变小手
2231 0
Threejs使用精灵Sprite作为标签,鼠标悬浮精灵上时鼠变小手
Threejs实现模拟管道液体流动
Threejs实现模拟管道液体流动
4034 0
Threejs实现模拟管道液体流动
|
JavaScript API
Vue使用vue-3d-model组件预览3D三维文件、立体文件,支持旋转、自动播放
Vue使用vue-3d-model组件预览3D三维文件、立体文件,支持旋转、自动播放
Threejs实现相机视角切换,平滑过渡,点击模型切换到查看模型视角
Threejs实现相机视角切换,平滑过渡,点击模型切换到查看模型视角
2989 0
Threejs实现相机视角切换,平滑过渡,点击模型切换到查看模型视角
|
JavaScript
Threejs实现PMD模型眨眼说话等功能
这篇文章详细介绍了如何在Three.js中实现PMD模型的眨眼和说话等动态效果,通过控制模型的关键帧来模拟面部表情的变化。
785 0
Threejs实现PMD模型眨眼说话等功能
Threejs用切线实现模型沿着轨道行驶
这篇文章详细介绍了如何使用Three.js让一个模型沿着预定的曲线路径移动,并保持模型的方向始终沿着路径的切线方向,提供了实现这一效果的具体代码和步骤。
1069 1
Threejs用切线实现模型沿着轨道行驶
Threejs制作海面效果
这篇文章详细介绍了利用Three.js制作逼真海面效果的过程,包括设置Water材质、调整光照及实现波动动画的步骤。
782 1
Threejs制作海面效果
ThreeJs制作全息投影视频
这篇文章介绍了使用Three.js来创建全息投影效果的视频教程,涵盖了实现全息效果的技术要点和具体实施步骤。
794 3
ThreeJs制作全息投影视频
Threejs制作骨骼模型
这篇文章详细介绍了在Three.js中创建骨骼动画的过程,包括骨骼节点的创建、权重设置以及控制骨骼关节实现动态效果的步骤,并通过一个具体的圆柱体模型演示了如何添加和控制骨骼动画。
573 2

热门文章

最新文章