WebGL スクールとリモート受講
リモート受講への対応した経緯
なんともまあ久しぶりのブログ更新ですが、今日は今年(2020年4月末より開講)の WebGL スクールで実現することに決めた「リモート受講」についてちょっと書き残しておきたいなと思い筆を執りました。
この記事を書いている2020年3月現在、コロナウィルスの流行による世界的な不安が広がっています。(世界的はいいすぎかもしれんが……)
日本も例外ではなく、経済・社会・生活などの様々な面で多大な影響が出ていますね……
そんな折にちょうど開催となる今年の WebGL スクールは、通算で第7期目を迎えます。今年は前述のような情勢を鑑みて、オンラインで動画を見ながら受講することができるリモート受講に対応することを決めたのが、つい先日のことです。
リモート受講とは、あらかじめスクールに申し込んでいただいた受講者さんが「自宅などでオンライン配信される動画を見て講義を受ける」ことができる仕組みのことです。コロナウィルスの流行で外出を自粛したり、あるいは大人数が狭い空間に集まるようなイベントを自粛したりという傾向が強まっていることを受けて、WebGL スクール(及び今後開催される GLSL スクールなど)でも、なんとか安全やリスク回避を考慮しつつ講義を行うことができないかを検討した結果、実現に向けて急ごしらえでしたがなんとか準備を整えたような形です。
今年の WebGL スクールについての詳細は、募集開始の告知記事をご参照ください。
リモート受講によって変化するもの
ちょっと話がそれてしまうのですが、実はだいぶ前から、動画配信による講義のスタイルについてはずっと検討していました。
というのは、WebGL スクールは東京の会場で実施しているので、東京近郊にお住まいでない方はそもそも受講することが難しい状況でした。仮に、受講者さんがやる気120%で東京まで出てきて受講してくださるとしても、交通費や場合によっては宿泊費などの面で受講者さんの負担が大きくなりすぎてしまうという問題がありました。
また、私のスクールは基本的に社会人向けであることもあり、お仕事の都合などで参加が難しくなってしまった際に、講義に参加できなかったことが大きな機会損失になってしまっているということも(受講者さんにとって)深刻な問題でした。私が対応できる範囲では、別途補講を開催してフォローアップしたりといったことも実際には行っていましたが、かといってそれを全員に対して公平に漏れなく行うことは個人運営のスクールでは物理的・時間的に無理があり、なかなか講師としても運営者としても悩ましい、難しい問題でした。
そしてこれらの問題を一挙に解決することができる手段が、リモート受講です。
リモート受講が実現できれば、そもそも居住地が東京から離れていても受講することができるようになります。さすがに対面で口頭で講義を受けているのと動画を見ているのとでは、臨場感はちょっと違うかもしれません。しかし、講師の言葉がしっかりリアルタイムで伝わるという意味では、講義の内容については現地にいるのとまったく同じものを受講者さんが聴講できます。
さらに、リモート受講を実現する過程で副産物として「録画データ」や「アップロード済みのライブ配信済み動画」が残りますので、急な仕事や用事で講義を受けられなかった人や、スクールの講義を再度見直して復習したいという人にとっても、これまで以上に質の高いリソースを提供できるようになるはずです。
準備する必要があった機材など
リモート受講を行うことを思い立ってから、一気に必要となる機材の発注や実機を使った配信のテストなどを行いました。
ザッと挙げると、次のようなものを新規に購入しました。
- 撮影用のビデオカメラ
- 予備のバッテリーなど
- 録画データバックアップ用 SD カード
- 三脚やカメラ固定用の部品
- HDMI キャプチャデバイス x 2
- ワイヤレスマイクの送信機・受信機 x 2
- 各種ケーブル関係いろいろ
- 充電式乾電池
- これらを一度に運ぶためのバカでかいリュックなど
上記のうち、重複して2つ購入しているワイヤレスマイクは、万が一のトラブルに対しての予備機材です。
ワイヤレスマイクに関しては業務用のものを2セットなのでめちゃくちゃ高額な出費になってしまったのですが…… 多少高額な出費であったとしても、これだけは是が非でも購入する必要がありました。
というのは、リモート受講では、動画の映像の部分というのは「講師の様子を撮影しているだけ」にすぎないので最悪それがなくても講義の内容はわかります。なにかしらのトラブルで映像が撮影できていなかったとしても、まあなんとかなると思うんですよね。
しかし音声が正しく収録できていない場合、無音の映像だけを見ていても講義の内容はほとんどわからないと思いますし、映像とは違って音声が無いということになると講義そのものが意味をなさなくなってしまいます。それらのことを踏まえて、業務用のしっかりしたものを予備も考えて2セット購入した形です。
また HDMI キャプチャデバイスは、構成的に2つ必要でした。講師の手元にある「講義に使っているラップトップ」からの出力(つまり会場でプロジェクターに出力している内容)と、「講師を撮影しているビデオカメラ」からの映像を、一度に合成して動画で配信するために HDMI が同時に2本、録画・配信用の PC に入力される必要があったためです。このような構成であれば、講師がプロジェクターに映している映像をメインに、画面の隅に講師の姿が映っている映像という感じでリアルタイムに配信が行なえます。
機材は大量ですが、40L クラスの容量がある大きなリュックに全部を詰め込めば、なんとかかろうじて一人で背負って移動できそうで一安心という感じ。
セットアップには絶対に時間が掛かるので、これまでよりも早く現地入りする必要がありそうですが、なんとかリモート受講の仕組み自体は構築できることを確認しました。
リモート受講や動画配信でのプログラミング学習
実は今回のリモート受講実現とは直接的には関係ないのですが、私自身、少し前から「動画でプログラミングを学習するということ」についてぼんやりと思考を巡らすことが多くありました。というのは、以前 Twitter かなにかで「最近の若い人たちや子供たちは動画で様々なことを勉強する」というのを見かけたときに、なるほどなあと感心したことがあったのですよね。
思い立ったが吉日ということで、それから早速、実際に YouTube に行って「プログラミング 学習」などで検索してみて、その結果を見たときにそのあまりの惨状に本当に悲しい気持ちになりました。検索結果として並んでいる動画はどれも「○○ヶ月で○○稼ぐ!」とか「いま稼げるプログラミング言語はこれだ!」といった、本当になんていうか……チリの一粒分の価値もない動画ばかりだったんですよね……
そういう現実を知らなかった私が愚かなだけなんですけど、あまりに酷すぎる現実にカルチャーショックを受けました。
偏見や先入観で物事を考えてはイカンなと思って、実際にそれらの動画を感情を無にしていくつか見てみたりもしたのですが……
本当に、情報弱者を狙ったこういう下衆な行いがなぜ平然と行えるんでしょうね…… まったく理解できない世界でした。
ドットインストールや Udemy のような「動画を活用したプログラミング学習プラットフォーム」も結構前から存在していますし、そういった類の動画に関しては、もちろん情報商材詐欺みたいな内容ではないと思います。でも、やっぱり無料で誰でも自由に閲覧できる動画の中に、質の高いプログラミング学習のためのコンテンツが少しずつでも増えていかないと、結果的に割りを食うのは我々現役のプログラマーなんじゃないかなと思ったりもします。業界の将来を危惧しているみたいなことを言いたいわけではなく、自分になにかできないかなあというのを強く感じました。
たとえば日本の伝統芸能や意匠は、多くの場合において後継者不足が問題になっているというのをよく見聞きします。時代に合わせて変化していくことができないものは、どんなに努力をしても、それがどんなに素晴らしいものであったとしても、やっぱり少しずつ失われていってしまうように思います。伝統芸能や職人技とプログラミング学習を一緒にするのはちょっと乱暴だとは思うのですが、やっぱり動画を学習プラットフォームとして選択する世代がこれからどんどん増えていくことが予測できるなら、これからは動画というジャンルにおいても、プログラミング学習のための高品質なコンテンツを作っていく必要があるのではないかと、どうしても考えてしまうのでした。
実際動画でコンテンツを配信することを考えると……
まずなによりも時間的なコストとかがすごいことになってしまって、編集作業とか収録作業とか、慣れたとしても相当きつそうだなというのが現時点での体感としてはあります。私の場合は文字をテキストとして入力したりすることはあまり苦ではないので、普通にウェブサイトを更新するのはそれほど負担にならないのですが、動画を作るとなるとワケが違いますね……
それでも、なんか今後はそういうこともやっていく必要があるのかなと今は感じています。
願わくば、それが私自身の実入りにもつながってくれたら嬉しいのですが、まあ最初からそれを考えるのはちょっと難しいかなと思います。まずは、採算とかは考えずに、いかにして良いコンテンツを提供するかをじっくり検討を重ねながら、実行していくしかないのでしょうね。がんばります。
WebGL 一本で……そして一年が過ぎた話
こんばんは。
みなさんお元気ですか。私はおなかが痛いです。(今現在のリアル
ブログが存在することをすっかり忘れていたのではないかと思うような、一年半以上のほったらかしだったのですが、なんとなく WebGL スクールも終わったこのタイミングで、ちょっと更新しようかなという気持ちになりました。
こういう、適当な気分の揺れみたいなものってたまにあって、そういうときのためだけにブログがあるというのも、なんとなくいいのではないかなあという気もします。
2017 年という年
この記事のタイトルに「一年が過ぎた」と書いたのですが、いったいなにが一年なのという話。
実は昨年、起業してました。別段隠していたわけでもないのですが、しれっと起業して、特に告知みたいなことはしていませんでした。なので知らなかったというひとも多いかもしれません。
先日、弊社の最初の決算を無事に終えまして、なんとか二年目に突入することができました。これもひとえにいつも気にしてくれてるみなさんのおかげです。ありがとうございます。
私の場合、世の中を変えてやろうとか、一山当てようみたいな、なんか壮大なものはまったくありませんでした。ベンチャーというより、単にフリーランスが法人成りしただけという形ではありましたが、それでもこうやって一年経つと、なんか感慨深いような、あんまり深くないような、そんな気持ちです。
そういうなんかふんわりした感じの起業ではあったのですが、それでもやっぱりやることがちょっとたくさんあったりして、スクールもあるし普通に仕事もあるし、なんか割と忙しい一年だったような気がします。
ブログを更新しなかった言い訳のつもりではないのですが、ここ1、2年は、ほんとに慌ただしい毎日だったような気がします。
なにをする会社なの
なにをする会社なのかというと、WebGL 関連の開発をします。
WebGL だけで食ってるひと珍しいと思うのですが、基本的に WebGL 案件しかやらずに一年が過ぎました。ありがたや……
正確には、実は WebGL だけではなくて常駐のお仕事とかもあるのですけれども、自分で受託するのは WebGL 案件だけです。広告寄りのしびれるプロモーション案件とか、かっちょいい VJ とかの仕事は私のようなタイプにはなかなか難しくて、しかしそれでも WebGL に関することだけでこの一年過ごすことができて、本当にありがたいなあという気持ちです。
ちなみに、スクールの運営は法人名義ではなく、個人事業の活動として行ってます。
正直なところ、スクールの運営というのは営利目的というよりは、WebGL や GLSL の魅力を伝えたいという気持ちからくる活動の一貫なので、法人の経理ではなく個人でやってる形にしています。
2018 年という今
最近、よく考えるのが、このままでほんとにいいのかなあという、まあいかにもよくあるそういうやつです。
私は声高に WebGL 普及のための活動していますみたいな偉そうなことを言っているのですけれども、じゃあ実際、どれくらい私は WebGL や、日本のウェブ・フロントエンドのために、どんな形で貢献できているのだろうと考えると、なんだかいろいろ不十分なんじゃないかなと思ってしまいます。
ひとつには、まったく雇用や新しいプロダクトを生み出せていないのですよね。
私が私の裁量で WebGL のコードを書くだけで、WebGL や GLSL を仕事にしたいんだっていうひとがいたとしても、そのひとたちと一緒に楽しいお仕事したりエキサイティングな体験を世に提供したりは、まったくできていないのです。これはなんとなく、私の怠慢のような気がします。スクールという活動に関して、自分が慢心しているつもりはないですけれども、むしろ先生と呼ばれることには未だにまったくもって慣れませんけれども、それでも私はどこか世界を上から目線で見ていて、全然努力が足らないのではないかと考えたりもするのです。
じゃあ具体的に、どんなことを今の私はできるのだろう。それを何度も何度も考えてしまいます。才能を持っているひとには、スクールを受けているみんなもそうですが、仕事をしていてもたくさん出会います。みんな私から見るとすごいひとたちばかりで、私なんかが何をできるんだっていう気持ちにもなります。
どうしたもんでしょうねこれは。困りました。
これからさきの話
それでも私なりに、いろいろと考えて考えて、いくつか思っていることはあります。
ひとつには、プログラミングの必修化に湧く世論です。これは明らかにビジネスチャンスだと思いますので、お金のことを考えるだけならこれかなあという気がしています。お金がないと、飯を食わしてやれなくなってしまうのでこれは困りますから、お金のことはちゃんと考えないといけません。
プログラミング教育というとかなり大きい主語になっちゃいますが、WebGL に限定されず、私が世の中に貢献できる方法として、一番個人的にはしっくりきます。ただ子供たちに私自身が教えるのは、ちょっと厳しいかな……
子供は好きです。でも子供が好きなことと、子供たち相手のビジネスができるのかということは、別です。なので、子供たちのためのプログラミング教育には、別の形で貢献できたらいいなと思っています。
WebGL や CG、あるいはフロントエンドにおける自分の身の振り方という意味では、残念ながらこれが鉄板というのは、まだなにも思い浮かんでません。ただ、方向性というか、今後テーマにしていきたいなと思うのは「私自身が実装してなんとかすればいいという感覚からの脱却」のような気がします。若い人たちがもっと活躍できるような、そういう舞台やチャンスを、私のちからでなんとか作っていけないだろうか。そんなことを思ったりします。まあ、最初にも書いたとおりで、具体案はなにもないのですけれども(爆
せめて、もっとお仕事がんばらないといかんなあと、思います。
それが、久しぶりにブログを更新しようと思ったいきさつのひとつでもありました。
私がもっとがんばって、仕事が追いつかないくらいになったら、少なくとも雇用を生み出すことはできるかもしれない。WebGL を使ったウェブやアプリケーションが素晴らしいということを、多くのひとに伝えることができるかもしれない。そう考えると、難しいこと考えてても仕方ないからとりあえず仕事がんばれよというなんか当たり前の結論に至ったりするのでした。
おまとめ
特に芯のない、どうしようもない愚痴のような感じになってしまった……
すみません。
でも、今年の GLSL スクールや、それに先立って行われる GLSL Tech Night の盛り上がりを見て、私にもまだまだできることがあるかもしれないなって、ちょっと明るい気持ちでこれを書いています。
WebGL のお仕事をたくさんやって、自分でもがんばってプロダクトをたくさん作って、もっともっと WebGL で世の中をよいものにしていきたいです。
ということなのでお仕事のご依頼ありましたらよろしくおねがいします。
ワシと WebGL 2016
なんですか
2016 年もあと少しで終わりですね。
今年のうちに書くべきであると思っていたテキストなどだいたい書き終わりまして、このブログに無駄に文章を打ち込む精神的余裕が生まれたので唐突に書きます。
2016 年という年を、自分なりに振り返ってみる内容で、技術的な話はあんまり出てこないと思います。ポエム的な何かです。
あらたなるステージ
WebGL は確か、2011 年くらいから徐々に使えるようになってきた技術だったと記憶していますが、それから早五年、やっと WebGL 2.0 が本格的に視野に入る状況になってきました。
2016 年という年を振り返ると、やはり一番大きなトピックはこれだったのかなという気がします。
WebGL 1.0 でさえ十分に普及しているとは言い難いですが、そんななかで WebGL 2.0 が登場してくることが、果たしてウェブという世界にとっていいことなのか、わるいことなのか、それとも大した意味はないのか。いろいろ個人的には思うところもあるんですが、まあ正直言って「大きな意味はない」というのが悲しいことに現実のような気もします。
というのは、WebGL を使いこなせる人がやっぱり少なすぎますよね。2.0 出るぜ! と言っても興奮するのは WebGL おじさんたちだけですしね。
それでも、個人的には WebGL 2.0 はとても楽しみな存在であることには変わりありません。一般ユーザーがその恩恵になにかしらの形であやかることになるのは、二年後くらいじゃないですかね。
要するに、私としては今までとやることは変わらないということです。地道に WebGL について語る機会を作り、粛々と、普及のために努力していこうと思います。
この段の最後にあえて WebGL おじさんとして一言、言わせていただけるなら「WebGL 2.0 は激アツだし最高」と思ってます。はやく普通に使えるようになってほしいなあ。
WebGL をどう啓発するか
私が WebGL を勉強し始めたのは、2012 年のころだと思います。
当時は、JavaScript もろくにわかってなかったので、まあ大変でした。WebGL に関する資料の大半は英語でしたし、やっと Chrome がデフォルトで WebGL を有効化させたくらいのころでした。
当時に比べると、日本語の WebGL に関する情報は結構たくさんありますよね。Qiita なんか見てても、今では普通に探せば大抵のことは日本語の解説つきで紹介されているかと思います。
それでも WebGL が普及している感じがしないのは、やっぱり成果物が出回ってないからじゃないかなと思います。なんていうか、three.js 使ってとりあえずやってみました! みたいなところから、一歩抜け出している和製 WebGL コンテンツは本当に少ないです。
でも、それって必ずしも悪いことじゃないと思ってます。
three.js 使ってて全然構わないし、むしろスクラッチで WebGL バリバリ書くとか頭おかしいなこの人って思います。
要するに、もっとみんな気軽に WebGL 使ってみたらいいんじゃないかな。ウェブに 3D とか GPU 使った高速な描画とか必要ないと思う人は(あるひとつの側面から見たときに)時代に取り残されていけばいいと思いますし、なんか危機感持ってるなら、あくまでも選択肢のひとつとして、WebGL の可能性を探ってみればいいと思います。今は、3D 表現だけでなく、2D を高速にさばくためのライブラリとかもあります。要は、どう付き合っていくのかの問題ですから、触らずに無視してしまうのは、とてももったいないなと思いますね。
そういうことを無意識のうちに感じたからなのか、私の取り組みを振り返ってみると今年は GLSL の普及に結構ちからを注いだように感じます。
GLSL は WebGL を利用する上で欠かせないものですが、WebGL が先にあって、そこに GLSL を加えていくというのは学習コストが一気に上がりすぎてなかなか苦しいんですよね。そこで私が考えたのは、GLSL を逆に入り口にして、そこから WebGL に興味を持ってもらうことでした。
GLSL 単体なら、結構覚えることも少なくて済むし、その割に、すぐカッコいい絵が出るんですよね。成果につながりやすいというこの GLSL の特性をうまく引き出すことができたかどうか、それは私自身にはわかりませんが、ワークショップを開催したりスクールを運営したりするなかで、それなりになにかが得られた感触は少なくとも私のなかにはありました。
この GLSL を起爆剤とするスタイルは、今後もしばらく続けてみて、より良い形での WebGL 学習の導入として洗練させていけたらいいなと思っています。
ゲームエンジンと WebGL
Unity などのゲームエンジンから WebGL 出力を行い、それによりブラウザ上でコンテンツを展開していくケースが増えてきましたね。
将来的には、それこそそういった、なにかしらのツールから出力された WebGL プロダクトが当たり前になっていくのかなとも思っています。だって簡単にカッコよくでき、管理もしやすいとしたら、それを使わないのはおかしいですもの。
WebGL を直接記述できる、コードを書く人間としてそういう流れに不安はないのですかみたいにもしかしたら思う人がいるかもしれませんが、私は一切感じてません。だって両者は全然違うものだと思うし。アナログな絵描きとデジタルな絵描きがそれぞれに全然異なるものであるのと、同じようなものじゃないでしょうか。(ちょっと違うかw)
ちょっとだけ困っちゃうのは、WebGL 出力されたソーシャルゲームに対する苦情がそのまま WebGL 全体の苦情になっちゃうことかな。まあ、古くてスペックの低い PC 使ってると、どうしても Unity の WebGL ビルドとか動かないよね。それはしょうがないし、どうしてもゲームとかをプレイしたいなら PC 買い替えてください。お金がないなら稼ぐなり節約するなりしてください。それも無理なら、諦めましょう。
あとは、Unity 様におかれましては是非「WebGL ビルドという名称」の変更をお願いしたいですね。WebGL に首まで浸かってる私個人の勝手なお願いなので別に Unity の中のひとたちに声高に訴えたりする気は一切ないのですが、調べ物とかするときにめっちゃノイズ混じるし、Unity 使いにとっても WebGL スクラッチ勢にとっても、いいことがないですね。
今すぐには難しいかと思いますが、Unity について調べるひとにとっても厄介な問題だと思いますので、ゆくゆくはなにかしら、別の表現が出てくるといいなあと思ったりしています。
これからの WebGL とわたし
2017 年は、どんな年にしたいかなあ。
正直あまりビジョンみたいなのはないのですが、私と WebGL との付き合い方が大きく変化する一年なのかなと個人的には予想しています。
私個人はたぶん、WebGL にトライしてみたい人をよりしっかりとサポートする意味で、three.js の学習を個人的に進めていくことになると思っています。なんていうか、自分で使うつもりはなくても、というかないんですが、three.js について質問されたときに教えてあげられなくて、歯がゆい思いをすることが本当に多くなりすぎました。
three.js は非常に優れたライブラリだと思います。ただ、私個人にとっては、ぶっちゃけ要りません。それでも、そこをきっかけにして WebGL に入っていったほうがいい場合ってやっぱり多いと思うんですよね。むしろスクラッチで WebGL 書けるようになっていく人たちは、wgld.org みたいなサイトがあれば勝手にやれるようになりますからね。
来年の WebGL スクール運営では、そのあたりがキーになると思います。
three.js から入って、徐々にカスタムシェーダとか使えるようにしていく、そんなアプローチでしょうか。
年々スクールのレベル、というか扱う範囲は、どんどん敷居を下げる方向に移っていってます。より初心者向けに、より簡単に導入できるように、修正されていっています。これは結局、私の自己満足でスクラッチな WebGL の記述について講義しても、それが受講者の身につかなかったら意味ないなと毎回思うからです。
精一杯サンプルやテキストを精査し、全力で講義しています。それでも、伝わらなかったり、受講者が使いこなせるようにならなかったりするなら、私のほうが間違ってます。私自身にも、three.js の学習や、よりわかりやすい資料作成のスキルが求められるのは自然なことでしょう。
がんばらないとね。
2017 年にやりたいこと
2017 年にやりたいこと、あるいはやってみたいことを主に自身のために書き連ねて、この無駄にポエミーなエントリを締めくくりたいと思います。
こんな感じの適当な文章を最後まで読んでくださって、ありがとうございます。
- 自身の WebGL 2.0 お勉強
- 自身の three.js お勉強
- 自身の WebVR お勉強
- 自身の 3DCG 全般に関するお勉強
- wgld.org の WebGL 2.0 に関する情報の拡充
- wgld.org の GLSL に関する情報の拡充
- GLSL の表現をテンプレート化してなんか知らんけど並べたサイト
- パーティクルや GPGPU 的なマッチョなテクニック重視のテキスト
- three.js における学習の助けとなるテキスト
- Unity の特にシェーダにおける学習の助けとなるテキスト
- より受講者のニーズに合わせたスクールの運営(three.js 取り入れるなど)
- GLSL ファンが集うワークショップやアワードイベント
- 関東都心以外での WebGL 普及活動
- フロントエンド+WebGL なコミュニティを作る
プログラミングと楽しさの大切さ
なんか書き残しておきたくなったので、唐突にブログを書く。
プロ野球選手のイチローが、42 歳でメジャーリーグ記録に迫る勢いで今でも活躍しているというニュースをたまたま見かけた。
仮に私の体にイチローの魂が突然宿ってしまったらどうなるだろう……というめっちゃどうでもいいことを考えた。たぶん、明日の朝、私は早朝ランニングをしていると思う。そこまで想像した時に考えたのは、やっぱりすごい人にはすごい理由があるんだよなってことだった。同時にきっと、よく言われていることではあるけど遅すぎるってことはないんだろうなとも思った。
すごい人には、すごいと言われるだけの理由がある。
だから例えば、すごいと言われたいのなら、すごいと言われるだけの努力や生き方が、キレイ事じゃなくてやっぱり必要なんだと思う。
でも、努力してがんばってすごいと言われるのって実は本質から外れているような気がする。
たぶん、好きでやってる。イチローは好きで野球やってる。プロのプレイヤーとして野球やりたいからやってる。ここのところが、私の中でなんか引っかかった。
WebGL スクールを開催したり、WebGL 関連の勉強会主催したり、WebGL を広めたいという気持ちでいろいろ取り組んできたけど、最近のスクールなんかの運営方針はとにかく「WebGL 楽しいと感じてほしい」ということがメインテーマになっている気がする。
初めての 3D プログラミングはとにかく難しいイメージがあるし、実際難しい。がんばった割にやっと作れるようになったのが平行光源あるだけのシーンにトーラス浮かんでるやつとか、普通にあると思う。そこから先の、自分なりの表現に 3D 使っていけるところまで到達できる人ってごく一部で、多くの人がやっぱり難しいわこれ無理だわってなってる気がするし、これは事実と大きく外れてないと思う。
私は自分が WebGL 好きだったから、続けてこれたんだろうなって割りと本当に思っていて、初めて三次元の絵がブラウザ上で動いてるの見た時は、ほんと興奮した。
そういう楽しいとか嬉しいとか、そういう気持ちを、スクールでは受講者に見つけてほしいと思って講義してる。私ができることってのは、その入口に立ってもらうところまでの、道案内だけなんだろうなと思う。
WebGL はちょっと古くさい API で、最新の 3DCG 技術からは遠いところにあって、しかしそれでも、ブラウザだけでこんだけのことができるなんて、本当に夢のような技術だと思う。
私と関わった人や私の講義を受けた人すべてを、漏れ無くイチローにすることはできない。というより、それは結局最後は個人個人の問題だと思う。
それでも私は、せめて自分自身はイチローのように、みんなからすごい人だなって思われ続けなくちゃいけないのかなって思った。私自身が楽しく WebGL と向き合って、ひときわ輝いて見えるとしたら、仮にそれが虚構や精一杯の見栄っ張りだったとしても、それをきっかけにして WebGL の楽しさに気がつく人が増えるかもしれない。
なんかそのためだったら、ちょっと大変でもやっぱり総本山毎日更新したり、どこかの誰かに教えるために先に新しいこと勉強したりなんてことも、続けていけそうな気がする。叩かれてへこむこともあるし、うまくいかなくて悶々とすることもあるし、そもそも休日全然ないけど(笑)それでも続けていけそうな気がする。
イチローを見ていて、そんな飛躍した妄想を抱いて、それでもイチローから勇気をもらった気がした。
私も誰かに勇気や楽しさを、伝えられる人になりたい。
2015 年の振り返りと次なる 2016 年へ向けてという名の壮大なポエム
## いろいろ振り返ってみる
みなさんこんばんは。
こんなブログ誰か読んでるのか疑惑がありますが、所詮ポエムのようなものしか最近は書いてませんし、自由にやればいいかなと思って自由に書きます。
はじめに断っておくと、無駄に長いです。
さて、2015 年は、私にとってはとても大きな節目の年でありました。その最たるものが、本職が開発者という肩書となり、これまでのエセエンジニアから一応名ばかりのエンジニアにジョブチェンジできたことだと思います。
思えば、私がプログラミングに興味を持ったのは 20 代も後半に入ってからのことでしたし、初めて触った OS は WindowsXP でしたし、なんのために触れたのかと言えば物流業務で出荷したクライアント情報を入力して Excel で住所録を作るためでした。
当時、パソコンなんて一部の優等生かビジネスマンかなんかが使うあれだろくらいに思っていた私は、数式を入力しただけで突然数千件の数値を合算してくれたりする様子を見て Excel って賢すぎんだろ! と驚き、VLOOKUP とかいちいち名前が無駄にキザすぎだろとか思いながら、セルに数式を入力してはニヤニヤしていました。
しかも Excel には VBA なるプログラミング環境が付属しているというのを知り、さらに Excel にのめり込んでいきました。インターネットというやつの存在も当然知ってはいましたが、当時はろくに使いこなすこともできず、また VBA を勉強した時はお金もなくて、今のようにささっとネットで調べたりはせずに図書館で参考書を借りてきたりしてプログラミングをしていました。懐かしい。
余談ですが、VBA は初めて触れるプログラミング環境として適切だと、当時は思っていました(今はどう思ってるかはあえて言いませんけど!)。
私はもともとかなりぼんやりとですがゲームとか作ってみたい欲求があったこともあり、VBA でゲームみたいなものとか作って、ほそぼそとひとりで遊んでいました。ただ次第に自分で遊んでいるだけではあんまり満たされなくなってきて、これを公開するためにブログというものを使うようになって、そこから CSS やら HTML やら覚えていきました。これもまた懐かしい。テンプレート CSS をよくわからないままいじくったり、していましたね。
そして、徐々にブログの扱いにも慣れてきた頃、ウェブという世界では javascript なる魔法が使えるということを知り、VBA しか使えねえというのもどうなのと思い始めていたことも手伝って一念発起 javascript をやってみることにしました。
実は VBA を使ってゲームを作っていた頃、VBA から COM で DirectX の API を叩いて、Excel ブックを開くと突然 DirectX 製のフルスクリーンのシューティングゲームがスタートするという夢のようにクッソ意味のないプログラムを作ったりしていたこともあり、3D 開発にはずっと興味がありました(Direct Input とか使ってゲームパッドにも対応していて名誉ある「才能の無駄遣い」という称号をいただきました)。
ですから、javascript で 3D の API が叩けるという WebGL に出会ったとき、大変に興奮したのを覚えています。
しかも使い方を覚えたくて検索してみても、まったく情報ないじゃないですか。これには実際問題とても困りましたが、同時になにか、神の啓示のようなものが聞こえた気がして「このジャンルなら先駆者になれんじゃねえの」というどちらかというと悪魔の囁きのほうに導かれて wgld.org を開設するに至りました。
初めてレンタルサーバー借りたりして、初めてドメイン取ってみたりして、ふわふわしながら 3D 数学もよくわかってないのにいきなりテキストを書き進めていきました。当時、テキストを 10 回分くらいまでかな、事前にタイトルや内容を精査して今の自分でも書けるなと思ったような記憶がうっすらあります。
ハッキリ言って、この頃の私はなぜ内積を使うとライティングができるのかわかってませんでしたし、インデックスを時計回りで定義するもんだと勘違い(DirectX はそうですね)していましたし、javascript の prototype もわかってませんでしたし、onload っておもむろに書いてそこに関数突っ込むとページのロードと同時に走るの不思議だけどなんでなんだろくらいのレベルでした。それであのサイト始めたとか今考えると素敵すぎますね。
そんなこんなでよくわかってないままサイトに黙々とテキストを書き足していくと、だんだん先生(Google)がいろんな人達を連れてくるようになってきて、なかにはやんわりと優しくマサカリを二刀流でぶん投げてきてくれるような素敵な紳士のみなさまなどもいらっしゃいまして、おかげさまで私は徐々にレベルアップしていったように思います。(画像はイメージです)
思うに、こうやって意識的にせよ無意識にせよ、なにかしらの形で wgld.org というサイトを通していろんな方が私に関わってくださったり興味を持ってくださったりしたことが、今日の私を錬成してきたのだと思います。
本当に、みなさんいつもありがとうございます。
wgld.org は 2016 年を迎えれば丸三年運営したことになります。たった三年なのか、もう三年なのか、わかりません。
でもこの大事な大事な三年間のなかでも、特に今年は大きな意味を持った年になりました。感謝の気持ちも込めて、wgld.org は先日デザインを変更したんですが驚異的にいろんな意味で見づらくなっており私もびっくりしてます。(後悔はしてない)
## これからの WebGL
そんなこんなで幸か不幸か、私は wgld.org のおかげもあって多少有名になり、WebGL スクールも毎回満員とはいかないまでもほぼすべての席が埋まるという状況で、私はこれについても本当にみなさんには感謝の気持ちしかありません。
せめて、スクールの講義内容やサンプル、あるいは運営しつつのサポート体制などで、少しでも質の高いものを提供していくことが私の使命だと思っています。
2016 年は、引き続きスクールは開催していく方針ですが 2015 年の運営スタイルをそのまま引き継ぐものにはならない予定です。というのは、これまでのスクールが失敗であったなどとは思っていませんが、より良い講義、より受講者の利益になる講義を考え続けていると、やはり同じように繰り返していくことが正しいとは、まだまだ言えない状態だと思うからです。
つまり、まだ WebGL の技術、ひいては 3D 数学や GLSL を解説していくという行為自体が、世の中的にも自分的にも、全然煮詰まっていない(鉄板の正解が見えていない)と思うのですよね。毎回スクールではアンケートを取らせていただいていて、多くのかたがすごくわかりやすかったとおっしゃって下さいますしそれはとても嬉しいのですが、感触として、もっともっと直感的に理解できるものにしていかなくてはならないのだと、私自身は思ってしまうのですね。これは性(Sa・Ga)なんでしょうかね。(チュイーン )
それに、ウェブという流行り廃りの流れの早い世界では、ひとつひとつを細かく吟味して、少しずつでもより良くなるよう改善を加え続けていかなくてはいけないと思っています。これは実は、スクールという枠組みだけの話ではなくて「WebGL そのもののあり方」も含めた話でもあります。
たとえば、昨年末を思い出してみると、iOS で WebGL が解禁になった、これが私にとって非常に大きなニュースでした。
しかし思い返してみれば、この一年で WebGL が本流に乗ったかというと、いやまだもう一歩という感じがしないでもない、というのがみなさんにとっても本音ではないでしょうか。私も、そう思います。
今年は Unity などのサードパーティ製ツールや、HTML5 に特化したゲームエンジン、あるいは WebGL を扱うためのライブラリなどが、WebGL という舞台の上に次々と登場してきたような気がしています。それこそ雨後の筍かよと思うくらい、本来の WebGL の本流とは外れたところで、多くの人にとって謎のキーワードとして WebGL という言葉が使われ、よくわからんけどすごいらしい感とか、よくわからんけどなにそれ感を撒き散らしていたような感じがします。
WebGL はそろそろ、扱い方に気をつけないといけない段階に差し掛かっているのだと個人的には思います。ただひたすらすげえすげえ言ってればいいという状態ではなくなってきていますよね。それに、ブラウザゲームが重いのは WebGL のせいだとか(まあ間違ってないですけど)、Unity で WebGL ビルドにすると動かねえとか(知識ない人からすりゃまあそういう感想になりますよね)、個人的にはいろいろ歯痒い思いも募ってきたりして、結構やるせない気持ちになることも増えました。
WebGL と、どんなふうに付き合っていくのかは自由です。その中身をよく知ろうともせず Unity の出力する WebGL ビルドに文句をつけるのもまた、自由です。フルスクラッチで素晴らしいシェーダを書いてもこんな重いのありえんわーと言われるかもしれませんし、three.js 使ってかっこいいサイト作っても実務では全然意味が無いかもしれませんが、とにかくどう使おうがそれは個人の自由です。要は、つきあい方の問題であって、どう付き合っていくのか、どう使いこなしていくのかは、それぞれが考えればいいことなんですよね(めっちゃ当たり前のこと言ってますけど)。
要するに何が言いたいのかというと、WebGL はやっとこさ、万人が手に持つことができる武器になりつつあるということです。
誰もが持てるようになれば、そりゃ文句を言う人だって増えます。同時に、当然ながら見事に使いこなせる人や、使いこなしたくてもそれができずに困っている人も、増えていくでしょう。そんななかで私はいったい何をしていくべきなのかを考えるとき、やはり、2015 年までにやってきたことと全く同じことを、粛々と進めていればいいというわけには、いかないのですよね。これもまた、気持ちの問題なのかもしれませんが。
## だがしかし
しかし、WebGL が万人に平等な武器となったとは言っても、実際のところ WebGL は既に、ウェブのお荷物という存在になり始めているような気がしています。どちらかというとユーザーの体験を阻害するものになってきている(場面もある)という気がしてしまうのですよね。
少し前に Flash バリバリのサイトを見るとまたこのパターンですか的な感慨を覚えたのと同じように、WebGL もそういう気配を、既に放ち始めているように正直思っています。
全然そんなことはないのかもしれません。本当のところは。
でも、なんとなくそんな気がしてしまうのは、私が WebGL に寄り添いすぎてしまっているからなのでしょうか。
完全に私個人の見解を述べるとするなら、これからの WebGL はもっともっとウェブと一体になっていかないといけない気がしています。それがそこにあることに、大きすぎる意味はもはや要りません。当たり前のように、使われるものになっていってほしいと今は思っていますしそういうフェーズに入っていると思います。
ただ、そのためには残念ながら WebGL 自身がもう少しその姿を変えていく必要があって、もっと気軽に、もっとさりげなく使えるものでなくてはいけないと思います。たとえば jQuery や、そのプラグインがそうであったように、デザイナレベルの人たちでもちょっと調べてコピペすれば、簡単にそして自由にサイトにそれを導入することができるレベルのものに、WebGL はなっていく必要があると思うのですね。
コアな、それこそフルスクラッチの濃い実装をしたい人っていうのは、そもそも使えるんですよ。しっかり最適化して、しっかりユーザー体験に配慮して、しっかりデモを作れるんですよね。問題なのは、よくわからないままよくわからない実装をして、WebGL を使っているだけで悪いことが起こっているかのような錯覚を生む、そんなサイトが量産されてしまうことだと思います。WebGL に限らず、3D はとっても難しいですよね。だから、実装した本人にとっても、つらい思い出にしかならなかったりするわけですそれでは、やっぱり良くないです。
提供する側もされる側も、いずれにとっても価値ある体験や実績を生むひとつの道具として、WebGL には存在していてほしいと私はどうしても考えてしまいます。これは欲張りすぎる発想なのかもしれませんが、少なくとも私は、そのために何をすべきかを考えないといけないなと自分自身に対しては思いますし、そうならないための努力を、これからもしていくつもりでいます。
一重に、2016 年は私以外の発信者をもっとサポートできる体制を作っていきたい。それがどんな方法なのかは、まだ全然私自身わかってないんですけど、なにかやりたいなと思っています。そして、そのジャンルは WebGL のスクラッチ実装だけに留まる必要もないと思っています。
Unity を介して WebGL を扱う方法や知識を発信することでもいいと思うし、three.js を使った実装の仕方でもモチロンいいと思うし、それこそ GLSL だけに特化して表現を模索する方法でも、いいと思うんですよ。
私が最も憂慮しているのは閉鎖的なコミュニティが生まれてしまったり、誤った認識や知識が一人歩きしていってしまうことです。多くの人が自然と自分の実装したものやその技術を発信(それこそひけらかすくらいの勢いで)したくなるような、そんな雰囲気を作るにはどうしたらいいんだろうかと、その答えのいかにも見つからなさそうな命題を考えるのが、最近の日課のようになっている気がします。
WebGL が、そこに存在していることを感じさせないような自然なものになってほしいと思う一方で、こうして知識を発信する人が増えてほしいと考える……これはある意味矛盾しているような気もします。難しいです。
## より多くの可能性を
そんなこんなで、私は結局のところ「私一人の発信力」というものをもう信用できなくなってきていました。影響力とか、発言力とか、そういう意味のことではなくて、それをやる価値の大きさという意味で、私はもっと発言する人の絶対数を増やすべきだと感じるようになりました(なんだかめっちゃ上から目線で書いてるような感じで申し訳ないですが)。
今年最後の GLSL スクールで「学割」なんて制度を作ってみたりしたのも、そういう思いからでした。
若い人たちって、すごいんですよね。びっくりしますよね。自分が年老いたとは思わなくても、彼らを見ていると、私は年取ってきてるんだなってわかりますよね。私個人はさっさと年取って隠居したいタイプなので経年になんの悲しい感慨もないのですが、若い人たちのあのすごさに触れると、もったいないという気持ちやもっと輝かせてやらねばなんねえ感がすごいんですよ。
Twitter を通じて私にアクション起こしてくれる若い(と思われる)人たちが、wgld.org めっちゃありがたいですとか言ってくれると、とても嬉しい。ほんとに嬉しい。これはほんとなんですよ。でも、もし彼らがその先にある自己成果の発信、という行動にまで移れてなかったとしたら、もちろんそれはその人の性格もあるでしょうから一概には言えないとは言っても、コミュニティや界隈の雰囲気の問題だと思うのですよね。
いい物を作れる道具があって、それを発信できるいい場所があって、お互いに刺激しあって成長していける雰囲気が必要なんだと思います。何より気軽に発信できる「流れ」みたいなものが、今もっと高めていかないといけないものなのだと個人的には感じます。
もちろん若い人だけじゃなくて、確かなスキルを持っている渋カッコイイ大人の人たちにももっと発信していってもらいたい気持ちはありますよ。でも、若いうちからそれをやってきていない人だったら、やっぱりこれから先も発信しませんよね。それが年をとるってことですよ。
そこに淡い期待を抱くことより、若い世代を輝かせることにもっと注力すべきです。やらない理由はいくらでも見つけられますし、それは年を取れば取るほどに、多くなっていくでしょう。無鉄砲でもなんでも、とりあえず持ち合わせの武器でぶっ放していくような、そんな人がもっと増えていかなくちゃいけないと個人的に思うわけです。
それは言葉で言うほど簡単なことじゃないし、もし失敗したらつらいのは当の本人なわけですから、私のできることは限られています。でも、そういう人が困ったときに支えになるくらいのことはできるかもしれないし、あるいはなにかしらの挑戦をするためのキッカケを作ることくらいはできるかもしれない。向き不向きもあるし、続けていけるかどうかは未知数でも、一回くらいやってみようって思える舞台や雰囲気は、私が作ってあげられるのかもしれない。そんなふうに、とてもとても傲慢ですが思ってしまう。
なにをするのが、正解なのか。
どうしてあげるのが、一番いいのか。
いくら考えてもわかりません。
私自身も、失敗して傷つくかもしれない。それでも、傷つくなら多少の年の功でするりと受け流せる大人のほうがいいですし、年寄りはせいぜい弾除けの盾になったり、あるいは彼らの通る道のレールになって轢かれたほうがいいんじゃないかなと思います。でもそれをやるにも、私自身がもっと強くなったりしていかないといけなくて、難しいですね。いろいろと。
## とりとめのない感じになってきたので
勢いにかまけてガシガシ書いていたら話がとりとめのない感じになってしまいました。
あなた WebGL ひとつでよくもここまで真剣(?)に話できますねキモいわと自分で感じ始めたので、そろそろやめようと思います。
実際のところ、2016 年も、私は引き続き WebGL 普及のために尽力していきたいと思っています。しかし、その方法や、取り組むべき課題は、やはり 2015 年とは違ったものになるでしょう。
より手軽に、誰にとっても扱いやすいものへと、WebGL を変えていきたい。あわよくば、そういう活動や発信を、もっともっと多くの人が行ってくれるような雰囲気やコミュニティを作っていきたい。まとめると、そんな感じになるでしょうか(それならこの長文のブログはいったいなんだったのか)。
若い世代が活躍したいと思えるような、夢のある世界にしたいですね。
がんばります。
今年も一年間、ありがとうございました。来年もよろしくお願いします。
最近の話とこれからの話
最近の話
先日、CEDEC に初めて参加してきました。
CEDEC に初めて参加すると同時に、初登壇もさせていただきました。
正直ゲームを中心としたエンターテイメントの技術の最先端が集結する CEDEC というフィールドで、WebGL をメインにした自分の発表に、どれだけの価値があったのか……ちょっと、いやちょっとどころか、かなり不安がありました。
しかし当日は、たくさんの方がセッションに来てくださり、またセッションの後も話しかけてくれたりするなどいろいろあり、やはりセッションに応募してよかったなと感じられる初めての CEDEC となりました。セッションに来てくださったみなさん、声をかけてくれた方々、本当にありがとうございます。
またこれは余談ですが、登壇者だけが参加できる懇親会というものが CEDEC にはありまして、これが非常に素晴らしかったですね。CEDEC に登壇するレベルの、高い次元にいる方たちとあんなふうに交流できるなんて最高の場だと思いますね。WebGL に注目している方も意外といらっしゃって、とても新鮮な、貴重な経験ができました。
これを読んでいる方たちがどんな立場の方なのかはわかりませんが、もしチャンスがあったら CEDEC などのイベントには積極的に参加することをオススメします。特に、登壇者として参加することは非常に大きな経験になります。臆せず動いてみる、これは本当に大事なことですね。
さて話は少し変わって、最近引っ越しました。
ずっと茨城に住んでいて、都内に出かけていく感じでどうにかやってきていたのですが、いろいろ不便なことも多く思い切って引っ越しました。日本橋のあたりに引っ越したので、渋谷にも 30 分程度で出ていけます。素晴らしい。
これまでは少々遠方ということもあり、なかなかいろんな方々と交流することが難しいシーンも多かったですが、都内在住のエンジニアのみなさん、ぜひご飯なり飲みなり、ご一緒しましょう。せっかく都内に移り住んだので、もっともっといろんな方と交流したり技術について語り合ったりしていきたいです。ぜひよろしくお願いします。
また、引っ越しに伴い、実は仕事に関することも環境が変わりました。
これまでは、開発とはまったく関係の無い業界でずっとガテン系の仕事をして過ごしてきました。これ、本当です。開発のお仕事はあくまでも副業という形で、半分フリーランスみたいな感じでした。
本業はと言えば、時には警備員として、時には物流倉庫でフォークリフトを乗り回して、はたまた時にはパチンコ屋さんのホールでドル箱を下ろしていたりと……
私を知る多くの人にとっては信じがたいかもしれませんが、ずっと趣味だけで続けてきたプログラミング……これがやっと本職になりました。たいへんめでたい。
これは完全に個人的なことなんですが、私自身は、自分にエンジニアとしての実務経験が無いということがずっとコンプレックスになっていました。どうしても、自分はしょせんちょっと頑張ってるだけの「素人」であり、本格的な開発の現場では役に立たないみたいな、そういう感覚が本人のなかにはずっとあったんですね。
お会いする方たちはみんな、当然ながらウェブの doxas としての自分を見ていますから、そんなことないですよって言ってくれていたましたが、これでやっと、私自身が私自身に、納得して自分がエンジニアなのであると言い聞かせられるかなと思っています。まあしかし、それも気分の問題ですしかなり先のことになりそうな気もします。
WebGL スクールや普及活動
職場環境は変わりましたが、WebGL に関する活動については今後もこれまで同様に続けていけるように、雇用先に無理を言って調整していただきました。これには本当に感謝の気持ちしかありません。関係者の方々には本当によくしていただいて、助かりました。ありがとうございます。
私は一人のエンジニアでありたいという思いと同時に、WebGL をもっと日本に根づかせるための活動をしていきたい、そんなふうに思っています。正直なところ、これはどうしても譲れない部分でした。これはややもすると非常に欲張りなことで、両立するのは正直難しい部分も多いとは思うのですけれど、自分の気持ちと体が続く限りは、地道に活動していきたいなと思っています。
WebGL を少しでも多くの方々に知ってもらいたい、その無限の可能性に賭けてみたい、その思いは今も変わりません。そのために自分ができることは、これからも続けていきたいです。
直近では、WebGL スクールのショート版、しかも GLSL のシェーダの記述に特化したものを年内に開催したいと考えています。
これは、第一期、第二期と WebGL の基礎講座という形のスクールを運営してきたなかで、意外と「シェーダに特化した内容」に対する需要が高そうだと感じたからです。
もう少し詳しく言うと、第二期のときに特に顕著でしたが、Unity などのゲーム開発用のツールを使うことが日常的な業務という方々でも、シェーダや基本的な 3D 数学などに特化した内容を深く理解したいと考えている方がいらっしゃるということ。確かに、WebGL ならそういった 3DCG の基本を学ぶのにも、シェーダの記述について学ぶのにも、いずれにも最適な環境だと言えますね。
ツールやライブラリを利用すれば、確かに WebGL を利用する事自体はだいぶ簡単になってきています。しかし、本当に凝ったことや本格的なことをやりたい場合には、絶対に 3D の基本やシェーダの記述についての知識が必要になります。これは恐らく、一般に思われている部分とちょっと乖離があって、3D は基礎がとてもとても大事です。これはシェーダにも、同様に言えることなのかもしれません。
そんなわけで、今回はガッツリと WebGL 全般の基礎を扱う通常のスクールとはちょっと違う形で、短期の GLSL 特化型スクールを開催しようと思い至りました。第一期や第二期に参加された方にとっても有益となるような内容にできたらと思いますが、もちろん、いきなり初めて参加された方にとっても難しくなり過ぎないように、講義の内容はかなり吟味して作っています。
スクールに関してもうひとつ忘れてはならないのは、それが実際に「業務に活かせるもの」であったり「自分のやりたいことの実現に活かせるもの」であることです。
これは半分は受講される方々自身の問題かもしれません。しかし、講師として貴重なお金を払ってもらって提供するものである以上は、実務に、あるいは夢の実現に、直結しないまでも大きく役立つものにしなければならないと私は考えています。
WebGL ならこんなこともできるんだぜ! ということを示すだけなら、それは講師の自己満足でしょう。如何に、それを受講者の方々の「実用的な引き出しのひとつ」にしてもらうことができるか、これこそがとても重要なことなのだと思います。
今のところ、10 月の末から 11 月の始めにかけてを開始時期として考えています。
隔週土曜日開催で、年内で全 4 回くらい、12 月の中旬までの期間での開催になるような感じですかね。内容は前述のとおり、シェーダの記述に特化したものにするつもりで、ポストエフェクトの考え方はもとより、GLSL Sandbox や shadertoy で見受けられるシェーダだけで描く二次元の描画、あるいはレイマーチングなどを利用した三次元表現などを扱うつもりです。
レイマーチングの基本は wgld.org でも扱っていますが、どうしても文章だけでは難しい部分もありますね。それに、シェーダしか使っていない……と言われても、そもそもシェーダってなんやねん! というふうに感じている人もいるでしょう。そういったシェーダとはそもそも何者で、利用することで何が嬉しいのか、最終的には自分自身でシェーダを記述できるようになるためにどうしたらいいのかなどの内容を、今回のスクールでじっくり解説できたらと思っています。
また、今回の短期スクールは、初めての試みとして「学割」を導入する予定です。
中高生はもちろん、大学生の方なども学割適用で気軽に参加してもらいたい、というのが狙いです。
自分の周囲で WebGL に挑戦しているたくさんの方々のうち、やはり学生さんの吸収力やそこから発想をふくらませる応用力は段違いに優れていると感じます。これはやはり、若さなのでしょうか。彼らの大きな大きな可能性が開花することのきっかけを作ることができたら、これほど嬉しいことはありません。
スクールの告知は近日中に行います。
会場の都合などもあり完全先着順になるので、その点はご了承ください。
前回の第二期同様に、たくさんの方々にご参加いただけるように、会場の手配なども含めて、誠意資料やサンプルを作成して準備しています。年内に開催できるスクールはこれで最後になると思うので、気合いを入れて臨みたいと思っています。
というわけで、公私共に今後ともがんばります。
ちょっと遅れて振り返り
2015 年 5 月より行っていた WebGL スクールの第二期。
先月 7 月までの足掛け三ヶ月間が無事に終わりまして、少し遅れましたが今更ながら振り返ってみることにしました。
まず、第一期は平日の夜、二時間半で毎週行うというスケジュールだったのですが、これを第二期では土曜日で隔週開催する形に変えました。これは結果的には、概ねいい判断だったのではないかなと思っていて、なかには平日のほうが都合がいい受講者の方もいらっしゃったみたいなのですが、全体に週末を利用したスケジュールとすることで、気持ちに余裕を持って参加できた方が多かったのではと思います。
今後スクールを開催する際にも、やはりベースは週末になるのかなという感じがしました。自分の感覚からすると土曜日がいいように思うのですが、日曜日とかのほうがよかったりするのかな?
開催日程を隔週にして、土曜日に行うという判断はおおよそ良かったと思うのですが、逆に失敗したかなとちょっと感じているのが、一回あたりの講義の時間です。
今回は一度の講義が 5 時間の長丁場になる形だったのですが、これはちょっと長すぎたかなと、講師として受講者の方々を見ていて感じました。やはり、これだけの長時間を新しい知識の詰め込みに使ってしまうと、休憩があるので実質 4 時間程度ですがちょっと苦しいですね。そのあたり踏まえて考えると、休憩を挟みつつの 3 時間、長くても全体で 4 時間までかなと感じました。あまり休憩時間が長すぎても気持ちが切れてしまいますし、このあたりは調整が難しいですね。
あくまでも講師目線で感じたことと言えば、講義の時間以外の部分でどれだけみなさんをサポートできるか、という点がなかなか悩ましかったです。
特に、なにかしらの「意図」を持って受講されている方ほど、スクールの内容が自分の意図した方向性と違っていたりすることがあったような気がしていて、そりゃ完璧に全員が超満足という内容にすることは難しくても、もう少し何かできなかっただろうか、というふうには感じます。
たとえば、これは第一期のときにもやりたくてなかなか難しかった部分ではあるのですが、あらかじめ予習することを想定したテキストや宿題の作り方、あるいは復習することに特化した課題の出し方など、これらは今後も研鑽が必要だと感じました。加えて、スクールの最初期の段階で、各個人の最終目標を収集しておくことが、講師としては必要なのかなと今は感じています。そうすることで、個々の目的や目標に合わせたもっと細かなアプローチができるような気がしています。
まあ、一人で運営しててどこまでやるのか、というのは判断が難しいところではあるのですけれども。
また、受講料についても今回あらためて考えさせられました。
というのは、受講者の方々の意見や感想を聞かせていただくと、あまりに安すぎてびっくりしたという人と、そこそこのいい金額ですよねという人と、いらっしゃるんですね。これはどんな金額に設定しても大なり小なりそうなのでしょうけれども、難しいですね。
講師側の本音を言えば、とても破格に安い設定だと思っています。正直に言えば、ですけど。
ただ、ハッキリと言っておきたいことが二点ほどあって、ひとつはいわゆる一般的なスクールや研修の価格帯に設定すると、若い人たちにとっては参加が難しいものになってしまうのではないか、という危惧です。このスクールの運営を行っている最大の目的は「WebGL をより身近な技術に・より多くの人に使ってもらえるように」というところなので、むしろ若い人たちにどんどん参加してほしい。となると、そんなに無茶な金額設定にはしたくないという心理が働きます。
しかし、言いたいことのもう一点として、極端に格安な受講料をあえて設定しないのは 「3DCG は中途半端な気持ちで始めると逆にアレルギーになってしまう」という感覚を自分が持っているからです。けして安くない受講料を支払うことで、腰を据えるということは人間誰しもあると思います。WebGL は手軽に始めることができるとは言えれっきとした 3DCG の技術を必要としますから、取り組むには覚悟がいります。こればかりは、オブラートに包んでも仕方のないことなので、そこは受講料にも反映させる方針でやっています。
いろいろ言いましたが、これは塩梅が本当に難しい部分ですね。自分の所得に関わってくることですから本音を言えばキリがないのですが、しかし本当に大切にしたいのはまずなにより WebGL をひとりでも多くの人に触ってもらうことです。その気持ちは、今後も失うことなくできる限り続けていきたいなと思っています。
それでは少し話題を変えて、今後はどうするつもりなのかについても、少し書いておきたいと思います。
実は今回のスクールは、第二期という形ではありましたが、利用したサンプルやテキストについては第一期とはまるで違います。少し言い方を変えると、自分でも驚きですが「全部新たに書き下ろし」ました。
この資料作成に掛かる時間というのは馬鹿にできなくて、隔週開催とは言え、開催前からの準備も入れるとかなりの時間を投資しています。これは、第一期の反省点を踏まえて、より優れた内容に仕上げるための、いわば自分自身に対する自己満足の時間的投資でした。
第一期のときに手を抜いたつもりはありませんでしたが、初めてのことでしたからそれなりに反省点も多かったのは事実です。少しでも、そんな不甲斐ない自分に対する穴埋めをしたい気持ちが、資料の全差し替えという暴挙を決行させました。
今になって考えてみれば、これは結果的には正解だったと思っていて、仮に次期スクールを開催すると考えた時、あくまでもそれが「基礎講座」であるならば、今回の内容をベースにした少々の修正でかなり質の高い講義を行うことができると思っています。
ちょっと考えてしまうのは講義内容が基礎のその先、発展形の内容を中心にしたものになる場合です。これについては、またゼロから構築せざるを得ないと思いますね。とは言え、今回の第二期の内容でも後半はかなりレベルの高いことをやっているので、いずれにしても一度分解して構築し直すような、そういう作業が必要なのかなとは思います。
そういったことも踏まえつつ、第三期は、必ず開催したいと考えています。
うまくいけば、年内に第三期をスタートできるかもしれません。
それにできることなら、短期決戦的な内容にはなってしまうと思いますが、関東以外への遠征もやってみたい。いやらしい話、この遠征を考える場合に限っては、時間的にも費用的にも都内で開催する場合と比較して受講者に無理を強いることになってしまいます。それでもやるだけの価値があるのかどうか、見極めなければならないと思っています。このあたりも、悩ましいところです。(私がもうひとりいたらいいのに!!)
最後に、第二期の受講者のみなさんに(この記事見てるかわかりませんが)この場を借りてお伝えしたいことがあって、スクールの最後に書いてくださったアンケート、本当にありがたかったです。
励みになるようなメッセージ、隠さず正直に書いてくれた不満点やご意見、どれもが心に響きました。
WebGL スクールは当然のことながら私から第三者へ技術や知識をお伝えする場ですが、同時に私自身もたくさん成長させてもらっています。それに、第一期のときも含めて、私がスクールの運営を通じて得た出会いは、どれも素晴らしいものばかりです。なんだかキナ臭い感じに聞こえると思いますが、これは本当に本当に本当なので、あえてそのまま書いてます。
これからも、少しでも多くの人に WebGL の魅力を伝えていきます。そしてその活動のなかで得たたくさんの有意義な出会いを、私は大切にしたいです。
スクールを主催して、本当に良かったと思っています。これからも、どこかのだれかのために、そして自分自身のために、WebGL と真摯に向き合いつつがんばって続けていきたいなと思います。