WebGLに興味を持ったので体験セミナーに行ってみた(メモ)
最近、WebGLに興味が出てきました。(いまさら?って感もありますが)
本を買ってチクチク家で勉強してもいいんですが、それだといまいち集中できない傾向にあるので(Unityはその結果最近ほとんど触ってない)、どうやって取りかかろうかなと思っていたところ、セミナーが開催されるという情報を見つけたので、勢いで体験申し込みをしてみました。あっちこっちに興味を持っては長続きしない性分なので、こういうところに足を運んで、逃げられないようにすればいいのでは、と安易に考えています。
行った内容はメモしないと忘れてしまうので、メモがてらの記事です。
WebGLって?
WebGLはWebブラウザで3D表現を行うための技術です。閲覧者側には特にプラグインも必要なく、最近はだいたいのブラウザ(モバイル含む)で閲覧できるため、結構使われているようです。下はセミナーで紹介されたWebGLの例の一部です。
- metrogram3D
東京メトロの路線図を3Dで表し、その中を電車が動いている様子も表現しています。去年(?)、東京メトロが列車の運行情報をオープンソースしたとかがあったので、その情報を引っ張ってきてるものと思われます。 - World Weather Viewer
現在の地球の様々な情報(雲や風の動きなど)を、地球議上にインタラクティブに表示できます。これもどっかから情報を引っ張ってきてるらしい。 - OutsideOfSociety
WebGLの作例がめちゃくちゃいっぱい載ってるブログ。どれもきれい。(「Javascript + WebGL」から作例一覧にいけます)
要は「なんかすごそうなものがつくれそう」なやつです。GPUを使うため、ふつうにJavascriptでグラフィカルなやつを表示しようとするよりも5倍から10倍くらいは最低でも速いらしいです。
なんでWebGLを勉強しようと思ったのか
- もともと3Dプログラミングに興味があった。
小中学生のときに3DCGを少しやっていたこともあり、3D表現にはもともと興味がありました。最近はプログラミングの勉強意欲が高いので、二つが合わさって倍プッシュ感。VRとかNUIとかとも親和性高そうな気がした。 - Javascriptベース
この手のクリエイティブコーディング(?)的なやつ(OpenFrameworkとかProccessingとかvvvvとか)はいくつかありますが、どれもC言語ベースっぽい(と自分では思っている)。どうせならいまWebの仕事とかやってるし、その流れにも役立つかもしれないJavascriptの方が汎用性高いかなーと思った。 - なんとなく
これが一番メインの理由で、なんかかっちょいいなーと思ったからです。
とりあえず、「なんか思いついたときに自分である程度つくれる」ようになっておかないとこれから死ぬな、という漠然とした不安から、何かしらやってみようという感じです。「いまさらWeb?」みたいな感じもあるかもしれませんが、基本Javascriptなので融通は利くのでは?と勝手に思ってます。(Unity5でWebGLと連携しはじめたって聞くし)
今日勉強したこと
今日は体験セミナーだったので「WebGLってどんなもの」とか「WebGL開発のために必要なこと」的な感じだったです。
行ったセミナーはこれです。http://webgl.souhonzan.org/entry/?v=0203
- じつはC言語っぽいのも使うということ
ゼロ予習でセミナーに行ったので知らなかったのですが、WebGLは基本的に- HTMLファイル
- Javascriptファイル
- 頂点シェーダ
- フラグメントシェーダ
- 数学がんばらなくちゃいけないということ
座標なんかはxyzで表現できますが、座標軸に応じて操作を行う、とか、時間変化をつける、とかなるとちょこちょこ数学っぽい感じになってきます(当たり前だけど)。これは慣れが必要っぽい。 - ローカル開発環境つくったほうがいいということ
じつはローカル開発環境をまだ立てていないです(このサイトは全部オンラインで開発してる)。NetBeansというソフトウェアを使うことで、簡単にローカル開発環境を立てられるらしいので、やってみる予定。
次回以降のセミナーでは本格的に開発のレクチャーに入っていくとのことですが、受講料もあるので迷い中。。
こういうのは勢いで行った方がいいし、「買わない理由が値段なら買っとけ」ってネットの神様が言ってたし、とりあえず続けてみようかなあ。