首页 > 其他分享 >Three.js教程:gui调试界面2

Three.js教程:gui调试界面2

时间:2023-06-27 09:35:01浏览次数:45  
标签:界面 gui Three value js add obj

推荐:将NSDT场景编辑器加入你的3D工具链
其他系列工具:NSDT简石数字孪生

gui调试界面2-颜色命名等

本节课结合threejs,给大家介绍gui.js库更多的方法。

.name()方法

.add()创建的交互界面,会默认显示所改变属性的名字,为了通过交互界面更好理解你改变的某个对象属性,你可以通过.name()方法改变gui生成交互界面显示的内容。

const gui = new GUI();//创建GUI对象 
gui.add(ambient, 'intensity', 0, 2.0).name('环境光强度');
gui.add(directionalLight, 'intensity', 0, 2.0).name('平行光强度');

步长.step()方法

步长.step()方法可以设置交互界面每次改变属性值间隔是多少。

gui.add(ambient, 'intensity', 0, 2.0).name('环境光强度').step(0.1);

.onChange()方法

当gui界面某个值的时候,.onChange()方法就会执行,这时候你可以根据需要通过.onChange()执行某些代码。

const obj = {
    x: 30,
};
// 当obj的x属性变化的时候,就把此时obj.x的值value赋值给mesh的x坐标
gui.add(obj, 'x', 0, 180).onChange(function(value){
    mesh.position.x = value;
	// 你可以写任何你想跟着obj.x同步变化的代码
	// 比如mesh.position.y = value;
});

.addColor()颜色值改变

.addColor()生成颜色值改变的交互界面

const obj = {
    color:0x00ffff,
};
// .addColor()生成颜色值改变的交互界面
gui.addColor(obj, 'color').onChange(function(value){
    mesh.material.color.set(value);
});
3D建模学习工作室    

上一篇:Three.js教程:gui.js库(可视化改变三维场景) (mvrlink.com)

下一篇:Three.js教程:gui调试3-下拉菜单、单选框 (mvrlink.com)

标签:界面,gui,Three,value,js,add,obj
From: https://www.cnblogs.com/mvrlink/p/17507794.html

相关文章

  • eggjs学习
    前言:学习nodejs作为服务端的eggjs,成本还是不小的,把很久以前的东西重新捡回来的感觉。要记忆大量的知识点。  学习egg.js,看这一篇就够了!https://juejin.cn/post/6995063516470198279 官方文档:https://eggjs.github.io/zh/guide/文档不适合短时间看完,知识点平铺直叙,没法......
  • JS 数组遍历的方法
    <!DOCTYPEhtml><htmllang="zh-cn"><head><metacharset="UTF-8"><title></title></head><body><script>vara=[1,2,3,4,5,6];varb=a.some(function(ele,index,arr){console.......
  • JS 随机从数组中取出几个元素
    从数组items中随机取出一个元素varitem=items[Math.floor(Math.random()*items.length)]; 例子:<!DOCTYPEhtml><htmllang="zh-cn"><head><metacharset="UTF-8"><title></title></head><body><script&g......
  • JS Cookie的操作
    <!DOCTYPEhtml><htmllang="zh-cn"><head><metacharset="UTF-8"><title>JSCookie的操作</title><script>//设置cookie值的函数functionsetCookie(cname,cvalue,exdays){ vard=newDate(); d.setTime(......
  • JS HTML经典框架
    switch.html<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv=&qu......
  • JS 随机图片效果
    <html><head><title>JS随机图片效果</title><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><styletype="text/css"><!--img{border:#999999;border-style:dotted;bor......
  • JS——网课
    看:https://www.bilibili.com/video/BV1Y84y1L7Nn/?p=17&spm_id_from=pageDriver&vd_source=b16c9d62fc80d4f0761a959bb9fdb870P17 ......
  • python: GUI using tkinter
     """StudentUI.py读文件类date2023-06-24edit:GeovinDu,geovindu,涂聚文ide:PyCharm2023.1python11"""importdatetimeimportsysimportosfromtkinterimportttkfromtkinterimport*fromtkinter.ttkimport*fromttk......
  • JS 判断手机端跳转
    第一种方法:functionis_mobile(){varregex_match=/(nokia|iphone|android|motorola|^mot-|softbank|foma|docomo|kddi|up.browser|up.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian......
  • JS 跳转对应的手机页面
    location.pathname(location对象的pathname属性)用于设置或取得当前URL的路径部分<scripttype="text/javascript"> varpath=location.pathname; alert(path);</script>效果图: 前提是手机和PC站都同一个数据库,更新的路径都是相同的,只是域名的不同。一个是www,另一个是m......