首页 前端知识 使用 Three.js 和 Cannon.js 构建真实 3D 骰子动画

使用 Three.js 和 Cannon.js 构建真实 3D 骰子动画

2024-04-22 09:04:48 前端知识 前端哥 74 351 我要收藏

使用 Three.js 和 Cannon.js 构建真实 3D 骰子动画


3D 场景搭建

Cannon.js

  1. 设置重力。

    this.world.gravity.set(0, 0, -9.8 * 16);
    
  2. 设置 骰子地面 以及 墙体 三种材质,并两两设置联系材质。

    this.diceBodyMaterial = new CANNON.Material();
    const deskBodyMaterial = new CANNON.Material();
    const barrierBodyMaterial = new CANNON.Material();
    this.world.addContactMaterial(new CANNON.ContactMaterial(deskBodyMaterial, this.diceBodyMaterial, {
         
      friction: 0.01,
      restitution: 0.5,
    }));
    this.world.addContactMaterial(new CANNON.ContactMaterial(barrierBodyMaterial, this.diceBodyMaterial, {
         
      friction: 0,
      restitution: 0.5,
    }));
    this.world.addContactMaterial(new CANNON.ContactMaterial(this.diceBodyMaterial, this.diceBodyMaterial, {
         
      friction: 0,
      restitution: 0.5,
    }));
    
  3. 添加地面以及墙体模型

    this.world.addBody(new CANNON.Body({
         
      mass: 0,
      shape: new CANNON.Plane(),
      material: deskBodyMaterial,
    }));
    
    let barrier = new CANNON.Body({
         
      mass: 0,
      shape: new CANNON.Plane(),
      material: barrierBodyMaterial,
    })
    barrier.position.set(0, this.dimentions
转载请注明出处或者链接地址:https://www.qianduange.cn//article/5667.html
评论
发布的文章

CSS(8)空间转换 动画

2024-04-29 12:04:29

CSS介绍(4)--背景属性

2024-04-29 12:04:26

Web学习记录---CSS(1)

2024-04-29 12:04:17

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!