SHOEISHA iD

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

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

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

jQuery+three.jsを実現したWebGLライブラリ「jThree」の「GOMLファイル」使い方(head編)

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

  • このエントリーをはてなブックマークに追加

 本連載では、jQuery+three.jsを実現したWebGLライブラリ「jThree(ジェイスリー)」について、MMDプラグインを利用したコンテンツのコーディング例を紹介します。連載3回目となる今回は基礎知識として、画面に描画したい3Dオブジェクトを記述するためのjThree独自XMLである「GOMLファイル」の使い方(head編)を紹介します。さらに前回記述したbody要素と合わせてブラウザ上に描画するところまでサンプルと共に解説します。HTMLの基礎があれば難しくないので、最後までお付き合いください。

  • このエントリーをはてなブックマークに追加

はじめに

 数あるHTML5の機能の中でも特にビジュアルでインパクトのあるWebGL。GPUを駆使した高速3DCGレンダリングが可能なことで話題になったものの、今1つ普及しない背景には「実装があまりにも難しい」ことがあるのではないでしょうか。

 three.jsの登場により、実装のハードルはだいぶ下がりました。しかし、JavaScriptに精通したプログラマでなければ使いこなすのは容易ではなく、ビジュアル要素の強いWebGLにあってデザイナーさんの参入は難しいのが現状です。

 今回紹介する「jThree(ジェイスリー)」は、そんなWebGLをjQueryの記法で扱えるようにするための国産JavaScriptライブラリです。前述のthree.jsをラップしてjQueryで操作できるよう設計されており、jQueryを使ったことのある方なら手軽にWebGLコンテンツを作ることができます。

 本記事では、jThreeで最も重要な仕様であるGOMLのうち、head要素について紹介します。前回作ったサンプルと合わせて、実際にブラウザ上に描画するところまで行います。

対象読者

  • HTML、CSS、jQueryの基礎を理解している方
  • 3DCG・WebGLコンテンツを手軽に作ってみたい方
  • MMDモデルを自分のサイト上で3Dのまま躍らせてみたい方

jThreeがサポートする環境

 jThreeを利用するには、jQueryの2.0.0または1.10.0以降の読み込みが必須です。

 OSはWindows 7でのみテストしましたが、ブラウザの要件を満たしているとMac OS XやLinux、Androidでも動作するようです。

 ブラウザは動作テストを行ったもののみ以下に記述しますが、それ以外にもSleipnirやAndroid 4.4標準ブラウザでも動作する可能性があります。

  • Internet Explorer:11.0.7以上
  • Google Chrome:最新版
  • Firefox:最新版
  • Opera:最新版

 なお、後述するサンプルはWindows 7(64bit)、Google Chrome最新版で動作確認しています。

head要素の役割

 前回紹介したbody要素は、HTMLのbody要素と共通する部分が多くありましたが、head要素は少々性質が違います。

 head要素には3Dオブジェクト以外のものすべてを記述するのですが、3Dオブジェクトを構成する形状・材質などの素材データが主になります。

 HTMLのように、メタタグや外部ファイル読み込み機能はありません。それぞれのオブジェクトがどんな見た目で描画されるのかを管理するのがheadタグです。

形状を表すgmt要素の記述

 gmt要素は、平面・球体・立方体などの形状データを保持します。type属性によって形状の種類を指定し、param属性でディティールを設定します。複数の3Dオブジェクト要素からgmt属性で参照できます。

 以下で、主要な形状を紹介します。

type
属性の値
形状 param属性の値 param属性のデフォルト値
Plane 長方形 幅 高さ 横分割数 縦分割数 null null 1 1
Circle 半径 分割数 開始角度 中心角 50 8 0 約6.14(360°)
Cube 直方体 幅 高さ 奥行 横分割数 縦分割数 奥行分割数 null null null 1 1 1
Sphere 球体 半径 経度分割数 緯度分割数 50 8 6
Cylinder 円錐台 上底の半径 下底の半径 高さ 円周分割数 縦分割 底抜き
(パイプ状)にするかどうか
20 20 100 8 1 false
gmt要素の記述例:
<gmt type=”Cube” param=”2 2 2” />

会員登録無料すると、続きをお読みいただけます

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

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

メールバックナンバー

次のページ
材質を表すmtr要素の記述

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

  • このエントリーをはてなブックマークに追加
jQueryの記法でWebGLを操作できるライブラリ「jThree」の活用連載記事一覧

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7786 2014/06/16 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング