Subscribed unsubscribe Subscribe Subscribe

アラサー社会人のイギリス大学院留学

エディンバラ大学の修士課程で四苦八苦しながら勉強しています。

Processingとp5.js

 1学期の授業でProcessingという言語(兼開発環境)を使った。ProcessingはJavaをベースとしたビジュアル表現のための言語で、慣れると極めて簡単にジェネレーティブ・アートが作れたりビジュアル・ジョッキーのようなことができたりする。僕は今までJavaを使ったことはないけど、このProcessingがいたく気に入ってしまった。本当に簡単なコードで視覚表現や画像処理ができちゃったりする。
 しかしながらProcessingは特定の開発環境上でしか動かないので、ウェブで(画像や動画ではなく、ユーザーが触れる形で)公開したい場合はJavaScriptライブラリを使う必要がある。そこで僕はp5.jsという、Processing的な動きをウェブ上で実現するライブラリを使っている。Processing.jsと違って直接Processingファイルを読み込むことはできず、多少書き直す必要はあるけど、その分パフォーマンスはずっとよい(というよりProcessing.jsが遅すぎる)し、jQueryとも両立可能だし、主にこちらを使っている。
 ただしp5.jsにも弱点はいくつかあって、最たるものが3D表現にいくつか制約があること。たとえばProcessingでは指定できるはずのエッジが3Dオブジェクトには指定できなかったり、3Dオブジェクトのホバーやクリックといったイベントが発火できない。このあたりを踏まえて、p5.jsは2D表現に使い、3DはThree.jsあたりを使うのがよいかと考えている。