使用dat.GUI實驗?zāi)愕腡hree.js場景

Three.js中,我們常常需要動態(tài)的調(diào)節(jié)場景中的某些變量醉者,例如場景的燈光強(qiáng)度但狭,顏色披诗,某個物體的擺放位置,它的顏色立磁,大小等等呈队。如果修改一次刷新一次頁面那就太麻煩了。于是我們使用dat.GUI()

什么是dat.GUI唱歧?

dat.GUI界面圖

dat.GUI是由Google開發(fā)人員創(chuàng)建的宪摧,輕量級的圖形用戶界面庫。大小約為幾十KB颅崩。它可以用來創(chuàng)建操作控制三維場景的菜單欄几于,也就是說,這個控件的屬性值發(fā)生變化沿后,則三維場景中的數(shù)據(jù)也會發(fā)生變化沿彭。

dat.GUI結(jié)構(gòu)圖

如何使用dat.GUI?

1.引用庫文件
<script src = "dat.gui.js" > </script>

2.創(chuàng)建控件對象
即創(chuàng)建一個全局javaScript對象。對象包含一些列的屬性尖滚,這些屬性就是我們想通過 dat.GUI組件來修改的變量喉刘。

          var  controls =  {
                     旋轉(zhuǎn)速度:0.01,
                     顏色:material.color.getStyle(),
                     彈跳速度:1
            }

3.創(chuàng)建dat.GUI對象,并將控件對象數(shù)據(jù)添加到dat.GUI中

             var  gui  =  new dat.GUI(); //創(chuàng)建GUI對象
             var folder = gui.addFolder('菜單');  // 添加文件夾熔掺。用于歸類屬性饱搏。默認(rèn)情況下是不展開的。
             gui.domElement.style = 'position:absolute;top:0px;right:0px';   //設(shè)置交互界面位置
              folder.addColor(controls, '顏色');   //添加顏色菜單選項
              folder.add(controls , '縮放系數(shù)', 0.1 , 2.5);    //添加縮放系數(shù)拖動條菜單選項置逻。并且指定了范圍推沸。
               folder.add(controls  , '轉(zhuǎn)速' , {低俗:.0.005, 中速:0.01,高速:0.1});    //添加轉(zhuǎn)速下拉菜單選項
               folder.open();    //文件夾folder下面的菜單選項展開顯示

4.在渲染循環(huán)中綁定控件對象的屬性。

                function  render(){
                      renderer.render(scene , camera); 
                      mesh.scale.x = controls.縮放系數(shù);      //更新縮放系數(shù)
                      mesh.rotateY(controls.轉(zhuǎn)速);                //更新轉(zhuǎn)速
                      material.color.setStyle(controls.顏色);     //更新顏色
                      requestAnimationFrame(render);           //請求再次執(zhí)行渲染函數(shù)render
                  }
                 render();

完成券坞!
這種可視化的界面操作實現(xiàn)了數(shù)據(jù)綁定當(dāng)我們用鼠標(biāo)去改變這些屬性時鬓催,會發(fā)現(xiàn)視圖中場景的對應(yīng)屬性也發(fā)生了變化。


附錄
  • add() 方法
    格式:
    add(空間對象變量名 ,對象屬性名, 其他參數(shù))

控件對象屬性值的數(shù)據(jù)類型會影響到GUI對象界面菜單選項的視覺效果和鍵鼠交互方式恨锚。例如到底是鼠標(biāo)滑動界面宇驾,還是下拉菜單等等。
- Number類型: slider猴伶。下拉菜單
- Boolean類型: 復(fù)選框
- Function類型: 按鈕
- String : 文本輸入框 课舍,下拉菜單

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市他挎,隨后出現(xiàn)的幾起案子筝尾,更是在濱河造成了極大的恐慌,老刑警劉巖办桨,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件筹淫,死亡現(xiàn)場離奇詭異,居然都是意外死亡呢撞,警方通過查閱死者的電腦和手機(jī)损姜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門饰剥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人摧阅,你說我怎么就攤上這事汰蓉。” “怎么了逸尖?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵古沥,是天一觀的道長。 經(jīng)常有香客問我娇跟,道長岩齿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任苞俘,我火速辦了婚禮盹沈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吃谣。我一直安慰自己乞封,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布岗憋。 她就那樣靜靜地躺著肃晚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪仔戈。 梳的紋絲不亂的頭發(fā)上关串,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機(jī)與錄音监徘,去河邊找鬼晋修。 笑死,一個胖子當(dāng)著我的面吹牛凰盔,可吹牛的內(nèi)容都是我干的墓卦。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼户敬,長吁一口氣:“原來是場噩夢啊……” “哼落剪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起尿庐,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤著榴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后屁倔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡暮胧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年锐借,在試婚紗的時候發(fā)現(xiàn)自己被綠了问麸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡钞翔,死狀恐怖严卖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情布轿,我是刑警寧澤哮笆,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站汰扭,受9級特大地震影響稠肘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜萝毛,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一项阴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧笆包,春花似錦环揽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至巴粪,卻和暖如春通今,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背验毡。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工衡创, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晶通。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓璃氢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親狮辽。 傳聞我的和親對象是個殘疾皇子一也,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,749評論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件喉脖、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,059評論 4 62
  • 不知不覺養(yǎng)成了儲存舊物的習(xí)慣 有些物件用久了椰苟,在使用過程中 不斷磨合,愈來愈順手树叽,愈來愈覺得 它本來就應(yīng)該是這樣的...
    菠蘿喵閱讀 128評論 0 0
  • 泰坦尼克號 小時候看過無數(shù)次舆蝴,但是年齡小看不懂,所以記憶也不是很清晰。 上個月算是長大了的我看的第一次洁仗,算是懂得人...
    有寡言一罐閱讀 371評論 0 2
  • 人层皱,最難打敗的對手只有自己, 很不幸這一天赠潦,我又沒有控制我自己叫胖,不應(yīng)該長時間看電視,玩手機(jī)她奥,不應(yīng)該讓孩子看電視瓮增,玩...
    海棠依舊1029閱讀 129評論 0 0