Threejs-06、利用lil-GUI调试3D效果

1、 引入lil.gui

// 引入lil.gui
import { GUI } from "three/examples/jsm/libs/lil-gui.module.min.js";

2、创建GUI

const gui =  new GUI();

3、添加按钮

let eventObj = {
  // 全屏事件
  Fullscreen:function(){
    // 全屏
    document.body.requestFullscreen();
    console.log("全屏事件");
  },
  ExitFullscreen:function(){
    // 退出全屏
    document.exitFullscreen();
    console.log("退出全屏事件");
  }
}

// 添加按钮
gui.add(eventObj,"Fullscreen").name("全屏")
gui.add(eventObj,"ExitFullscreen").name("退出全屏");

4、控制立方体位置

// 控制立方体位置   第一种写法
gui.add(parentCube.position,"x",-5,5).name("立方体x轴的位置");
// 第二种写法
gui.add(parentCube.position,'x').min(-10).max(10).step(1).name('立方体x轴的位置');
let foder = gui.addFolder("立方体位置")
foder.add(parentCube.position,'x').min(-10).max(10).step(1).name('立方体x轴的位置');
foder.add(parentCube.position,'y').min(-10).max(10).step(1).name('立方体x轴的位置');
foder.add(parentCube.position,'z').min(-10).max(10).step(1).name('立方体x轴的位置');

5、x轴改变触发事件

// x轴改变触发事件
foder.add(parentCube.position,'z').min(-10).max(10).step(1).name('立方体x轴改变触发事件').onChange(
  (val)=>{
    console.log("立方体x轴位置",val);
  }
)
foder.add(parentCube.position,'z').min(-10).max(10).step(1).name('立方体x轴改变触发事件').onFinishChange(
  (val)=>{
    console.log("立方体x轴改变完成触发",val);
  }
)

6、设置元素是否有线框

// 设置元素是否有线框
gui.add(parentCubematerial,"wireframe").name("父元素线框模式");

7、设计立方体颜色改变

// 设计立方体颜色改变
let colorParams = {
  cubeColor:"#00ff00"
}
gui.addColor(colorParams,"cubeColor").name("立方体颜色").onChange(
  (val)=>{
    cube.material.color.set(val);
  }
);

8、效果图
在这里插入图片描述

相关推荐

  1. vue3 -- 基于maptalks和threejs实现3D地图板块效果

    2024-06-14 23:08:01       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-14 23:08:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-14 23:08:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-14 23:08:01       87 阅读
  4. Python语言-面向对象

    2024-06-14 23:08:01       96 阅读

热门阅读

  1. OSINT技术情报精选·2024年6月第1周

    2024-06-14 23:08:01       24 阅读
  2. JVM垃圾回收器介绍

    2024-06-14 23:08:01       32 阅读
  3. web前端错误案例:深度剖析与防范之道

    2024-06-14 23:08:01       36 阅读
  4. C++中的备忘录模式

    2024-06-14 23:08:01       33 阅读
  5. c++ 函数内对象的释放

    2024-06-14 23:08:01       33 阅读
  6. 深入浅出谈C/C++中static关键字

    2024-06-14 23:08:01       27 阅读
  7. 【总结】项目中用过的设计模式

    2024-06-14 23:08:01       30 阅读
  8. 从零开始精通Onvif之事件处理

    2024-06-14 23:08:01       33 阅读
  9. Codeforces Global Round 26 题解分享

    2024-06-14 23:08:01       33 阅读
  10. 嵌套字典结构

    2024-06-14 23:08:01       36 阅读