【THREE.JS】10分で分かるdata.GUI

WebGL

Three.js を使う機会が多いのですが、GUIのパラメータを入力するのに便利なのがdata.GUIです。このdata.GUI について解説します。

data.GUI概要

具体的には、以下のようなGUIです。左上にGUIが付くことが多いですが、右上に付けることができます。

入力レイレイアウト

Open・Close

メニューはオープンにしたり、クローズしたり出来ます。以下はCloseの状態からメニューをオープンにした状態です。

選択

  • 複数のリストから選ぶことができます。
  • 入力のオン・オフが出来ます。

選択の例は、以下の通りです。

値の入力

スライダー付き値の入力ができます。

もちろんスライダー無しの入力も可能です。文字列・数値が入力できます。

カラーボタン

カラーボタンを配置できます。

以下のように使用することができます。

実行ボタン

何かしら実行させたい場合、実行ボタンを配置することができます。

左に配置

以下のように左にも配置できます。

GUIの表示・非表示

GUIを表示・非表示できます。(gui.show(), gui.hide())

コーディング例

簡単な例題で、コーディングを示します。2つのパラメータを入力させて、runで実行して描画する例になります。2つパラメータの入力ボックスとrunボタンで構成されています。

function init()
{
   
# ~ 省略 ~
                          
  //GUI作成
  const param = {  
        L1: 2000, // <-- 初期値
        L2: 2000,  //
        run:onDrawShape // <--- コールバック関数
  };
  const gui = new GUI();
  const folder = gui.addFolder( 'Paramer' );

 //1つ目のパラメータ
  folder.add( param, 'L1').onChange( function ( value ) {
      console.log("L1"); //<-- 値が変わったら
  } );

  //2つ目のパラメータ
  folder.add( param, 'L2').onChange( function ( value ) {
       console.log("L2"); //<-- 値が変わったら
  } );

 //run 
  folder.add( param, 'run');

 //値をオープンにする
  folder.open();

# ~ 省略 ~
]

//コールバック関数
//run ボタンのクリックでCallされる
function  onDrawShape()
 {
     window.confirm("aaa");
 }

# ~ 省略 ~

その他

Three.jsのサンプルでは、以下のようなGUIサンプルもあります。

three.js examples

スポンサーリンク
WebGLその他
Engineerをフォローする
レンサバ