SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

jQueryの記法でWebGLを操作できるライブラリ「jThree」の活用

WebGLライブラリ「jThree」を使ってjQueryの記法で3Dオブジェクトを操作する

jQueryの記法でWebGLを操作できるライブラリ「jThree」の活用 第4回

複数のGOMLファイルを扱う

 1つのドキュメント上に存在できるGOMLのDOMツリーは1つだけですが、複数のGOMLファイルを読み込むことが可能です。DOM構築待機のgomlメソッドを複数回使うことで、1番最初に読み込まれたファイルのhead要素とbody要素それぞれの末尾に、新たなファイルのhead要素とbody要素それぞれの子要素が追加されていきます。

GOML要素を選択する

 jThreeはGOMLのDOMを扱うためのグローバルオブジェクトです。jQueryと同様にCSSセレクタで選択して生成したjThreeオブジェクトに対し、メソッドチェーンで次々処理を加えていくことができます。

 GOML要素を選択する方法はjQueryにおける「$」の代わりに「jThree」を使うと覚えてください。.find()や.children()などjQueryの要素探索系メソッドも大部分が有効です。

jThree( "CSSセレクタ" ).find( 条件 )・・・

3DオブジェクトのCSSを操作する

 3Dオブジェクト要素のCSSを操作できます。CSSの一覧は第2回の記事をご覧ください。ここもjQueryと同様にcssメソッドを使います。引数にプロパティ名と値のペアか、ハッシュの形で値を変更します。

jThree( "CSSセレクタ" ).css( "プロパティ名", 値 ).css( { プロパティ名: 値 } );

 positionやscaleなど値を複数取るプロパティは、テキスト以外に配列を指定することもできます。

jThree( "CSSセレクタ" ).css( "position", [ 10, 10, 10 ] );

 cssメソッドにプロパティ名だけを与えるとCSSの値を取り出すことができます。positionやscaleなど値を複数取るプロパティは配列で値が返されます(将来的には配列ではなくベクトルオブジェクトが返されるようになる予定です)。

CSSアニメーション

 CSSによるアニメーションもjQueryと「ほぼ」同じくanimateメソッドを利用できます。違うのはstepやcompleteオプションのコールバックに渡される引数の仕様です。stepのコールバックの第1引数にはeasingを加味したアニメーションの進行率が渡されます(1で100%)。completeのコールバックの引数には何も渡されません(将来的にstepとcompleteオプションにjQuery同様のオブジェクトが渡されるよう変更する予定です)。

 jQueryのeasingプラグインを読み込むことで自動的にjThreeのeasingオプションも拡張されます。デフォルトで使える「linear」と「swing」以外のプラグインによって増えるeasing名を以下で紹介します。

jswing easeInQuad easeOutQuad easeInOutQuad
easeInCubic easeOutCubic easeInOutCubic easeInQuart
easeOutQuart easeInOutQuart easeInQuint easeOutQuint
easeInOutQuint easeInSine easeOutSine easeInOutSine
easeInExpo easeOutExpo easeInOutExpo easeInCirc
easeOutCirc easeInOutCirc easeInElastic easeOutElastic
easeInOutElastic easeInBack easeOutBack easeInOutBack
easeInBounce easeOutBounce easeInOutBounce

 CloudflareのCDNから利用できるjQuery.easing.jsのURLを、以下で手に入れることができます。

属性値を操作する

 jThreeではattrメソッドにより一部の属性値を操作することができます。以下に現時点で操作に対応している主な属性を紹介します。各属性の詳細は第3回の記事をご覧ください。

要素名 属性名
txr type属性なし:src
type = "canvas":draw
type = "scene":cameraとinvisible
rdr frameとcamera

次のページ
イベントを設定する

この記事は参考になりましたか?

jQueryの記法でWebGLを操作できるライブラリ「jThree」の活用連載記事一覧

もっと読む

この記事の著者

松田 光秀(jThree合同会社)(マツダ ミツヒデ)

jQueryの記法で操作できるWebGLライブラリ「jThree」の開発者でjThree合同会社の代表。JavaScriptのスキルのみで平成26年2月に1人で起業する。平成元年生まれの24歳で現役高校生(平成26年5月時点)。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/7825 2014/06/23 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー