【threejs】一天一个小案例讲解:控制面板(GUI)

# 好吧,每天更新实在有点艰巨,我尽量少量多次

代码仓

所有代码都会上传到这里,可自行clone

GitHub - TiffanyHoo/three_practices: Learning three.js together!

运行效果图

知识要点

一、安装dat.gui
npm i dat.gui
二、使用步骤: 

①初始化dat.GUI

②设置可调节参数,定义初始化值

③向GUI添加控件

④requestAnimationFrame中读取值更新场景参数

三、常用控件与API

• gui.add(obj, prop, min, max):创建数值滑块(prop 为对象属性,min/max 为范围)

• gui.addColor(obj, prop):颜色选择器,值需为十六进制(如 0xff0000)

• gui.add(obj, prop):根据属性类型自动生成控件

        布尔值(true/false)→ 开关按钮

        字符串 → 下拉选择框(需配合 options 参数)

const params = {quality: 'high',
};gui.add(params, 'quality', ['low', 'medium', 'high']).name('画质');

• gui.add(obj, 'method'):添加按钮,点击时执行对象的方法(如 resetScene())

• gui.close() / gui.open():关闭/打开控制面板

• gui.name() :命名

核心运行代码

var gui = new dat.GUI();var controls = new function () {this.rotationSpeed = 0.02;this.bouncingSpeed = 0.03;
};var gui = new dat.GUI();
gui.add(controls, 'rotationSpeed', 0, 0.5);
gui.add(controls, 'bouncingSpeed', 0, 0.5);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/910328.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/910328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

飞轮储能辅助双馈风机参与电力系统一次调频的仿真模型研究

以下是一篇关于飞轮储能辅助双馈风机参与电力系统一次调频的仿真模型研究的论文 ,涵盖理论分析、数学模型构建、控制策略设计及仿真验证等内容,适用于电气工程、新能源技术等领域的研究参考。 飞轮储能辅助双馈风机参与电力系统一次调频的仿真模型研究 摘要 随着风电在电力…

一次性理解Java垃圾回收--简单直接方便面试时使用

Java的垃圾回收是一个面试必问题,只要按照下面的步骤回答肯定不会有大问题。 1.先告诉面试官垃圾回收分为两大步: a.识别哪些对象是"垃圾"(不再被使用的对象) b.回收这些垃圾对象占用的内存空间 2. 接下来分别介绍标记阶段和回收阶段的细节…

XML映射文件-辅助配置

如果你没有按照同包同名来,就要下面的配置,指定好路径 1.把路径改为类下面的xml文件 #指定xml映射文件的位置 mybatis.mapper-locationsclasspath:mapper/*.xml

120、三角形最小路径和

题目 解答: 直接按照空间复杂度O(n)来做了。这种明显是动态规划,每一层用到上一层的信息。 观察数据形状,如下: (0,0) (1,0)(1,1) (2,0)(2,1)(2,2) (3,0)(3,1)(3,2)(3,3) ... (n-1,0)...(n-1,n-1) 设dp[n],定义为本层第n…

仕么是Transformer以及工作原理和架构

Transformer 是一种革命性的**深度学习架构**,由 Google 团队在 2017 年论文《Attention is All You Need》中提出。它彻底改变了自然语言处理(NLP)领域,并逐渐扩展到计算机视觉、语音识别等多模态任务。其核心创新在于**完全依赖…

opencv 锁页内存的使用

在OpenCV的CUDA编程中,cv::cuda::HostMem类用于管理锁页内存(Page-Locked Memory)​,这种内存能显著提升主机(CPU)与设备(GPU)间的数据传输效率。而.createMatHeader()正是将HostMem…

亚远景-ASPICE与ISO 26262:理解汽车软件质量保障的双标体系

在汽车行业向智能化、电动化转型的背景下,ASPICE(Automotive SPICE)与ISO 26262作为汽车软件质量保障的两大核心标准,分别从过程能力与功能安全两个维度构建了完整的开发管理体系。以下从标准定位、核心差异、协同实践及行业价值四…

数组的应用

Java数组的基本概念 数组是Java中一种重要的数据结构,用于存储固定大小的相同类型元素。数组在内存中连续分配空间,可以通过索引快速访问元素。数组的声明和初始化是使用数组的基础,声明时需要指定数据类型和数组名称,初始化可以…

基础RAG实现,最佳入门选择(七)

增强型RAG系统的查询转换 采用三种查询转换技术,以提高RAG系统中的检索性能,而无需依赖于像LangChain这样的专门库。通过修改用户查询,我们可以显著提高检索信息的相关性和全面性。 关键转换技术 1.查询重写:使查询更加具体和详…

企业应用观测中枢建设

本文来自腾讯蓝鲸智云社区用户: CanWay 运维挑战加剧 新时代技术背景下,运维面临的挑战加剧: 1、业务数量日益增加、业务规模日益庞大 随着科技发展进步、民众生活富足,线下业务线上化、线上业务复杂化趋势愈演愈烈,各行各业投…

Python实例题:基于边缘计算的智能物联网系统

目录 Python实例题 题目 问题描述 解题思路 关键代码框架 难点分析 扩展方向 Python实例题 题目 基于边缘计算的智能物联网系统 问题描述 开发一个基于边缘计算的智能物联网系统,包含以下功能: 边缘设备管理:连接和管理大量物联网…

一,python语法教程.内置API

一,字符串相关API string.strip([chars])方法:移除字符串开头和结尾的空白字符(如空格、制表符、换行符等),它不会修改原始字符串,而是返回一个新的处理后的字符串 chars(可选)&…

私有 Word 文件预览转 PDF 实现方案

私有 Word 文件在线预览方案(.doc/.docx 转 PDF) 前言 由于 .doc 和 .docx Word 文件 无法在浏览器中直接预览(尤其在私有 API 场景下),常见的 Content-Disposition: inline 并不能生效。因此,本方案通过…

Alpine Docker 容器中安装包缓存与 C/C++ 运行问题

在使用 Docker 容器部署应用时,基于 Alpine 镜像能带来轻量化的优势,但过程中也会遇到不少问题。今天就来分享下我在 Alpine 容器中解决安装包缓存与 C/C 程序运行问题的经验。 一、Alpine 安装包缓存到本地目录 Alpine Linux 默认使用apk作为包管理工…

[2-02-02].第59节:功能函数 - 函数基础

服务器端操作学习大纲 一、函数基础 需求场景 在shell脚本的编写过程中,我们经常会遇到一些功能代码场景:多条命令组合在一起,实现一个特定的功能场景逻辑、一些命令在脚本内部的多个位置频繁出现。在这些场景的代码量往往不多,…

RA4M2开发涂鸦模块CBU(6)----RA4M2驱动涂鸦CBU模组

RA4M2开发涂鸦模块CBU.6--RA4M2驱动涂鸦CBU模组 概述视频教学样品申请参考程序硬件准备接口生成UARTUART属性配置R_SCI_UART_Open()函数原型回调函数user_uart_callback0 ()变量定义按键回调更新按键状态DP-LED 同步长按进入配网涂鸦协议解析主循环任务调度 概述 本方案基于瑞…

MiniMax-M1: Scaling Test-TimeCompute Efficiently with I Lightning Attention

我们推出了MiniMax-M1,这是全球首个开源权重、大规模混合注意力推理模型。MiniMax-M1采用了混合专家系统(Mixture-of-Experts,简称MoE)架构,并结合了闪电注意力机制。该模型是在我们之前的MiniMax-Text-01模型&#xf…

Appium+python自动化(二十六) -Toast提示

在日常使用App过程中,经常会看到App界面有一些弹窗提示(如下图所示)这些提示元素出现后等待3秒左右就会自动消失,那么我们该如何获取这些元素文字内容呢? Toast简介 Android中的Toast是一种简易的消息提示框。 当视图…

【信号与系统三】离散时间傅里叶变换

上一讲我们讲述了连续时间傅里叶变换,这一讲同理来个离散时间傅里叶变换。 和上讲模块类似 5.1离散时间傅里叶变换 这一式子就是离散时间傅里叶变换对 5.2周期信号的傅里叶变换 同理,由于之前第一讲讲到: 可以推出: 举个例子&am…

Python应用石头剪刀布练习初解

大家好!作为 Python 初学者,寻找一个既简单又有趣的项目来练习编程技能是至关重要的。今天,我将向大家介绍一个经典的编程练习——石头剪刀布游戏,它可以帮助你掌握 Python 的基本概念,如条件语句、随机数生成和用户输入处理等。 …