Electronics

2016.12.08

UnityでProcessing風プログラミング

Text by Takumi Funada

n_ryotaさんのUnicessingを使うと、Unity上でProcessingライクなプログラミングが可能となる。上の動画はOculus Riftで見たときの映像をキャプチャしたもの。HTC Viveなど、他のVR用ヘッドマウントディスプレイ上での動作も確認済みとのこと。Unityのアセットとして提供されている。

 Unityで四角や丸などの図形を手軽に描くライブラリ(アセット)一式です。Processingに似た簡単なAPIを使い、内部的にDrawMesh()で描くのが特徴です。使い方は簡単、UGraphicsを継承したスクリプトをオブジェクトに貼り付け、Setup()で初期化、Draw()で図形を描く感じです。Unityの座標系です。Unityのコードもそのまま共存して使えます。言語はC#です。サンプルを参考にして、短いコードで動的な図形描画(ジェネラティブアート)を楽しみましょう。

サンプルコードを一部抜粋したのが下記のコード。たしかに、なじみ深いProcessingの香りがする。

using UnityEngin
using System.Collections;
using Unicessing;

public class UnicessingPrimitives : UGraphics {
    protected override void Setup () {
    }

    protected override void Draw () {
        drawLinePoints();
    }

    void drawLinePoints() {
        stroke(0, 255, 255);
        line(-10, 0, mouseX, mouseY);

        for (int i = 0; i < 255; i+=3) {
            stroke(255, i, i);
            point(-10 + i * 0.05f, 10 - i * 0.02f);
        }
    }
}

VR系のプロトタイプを作るときの選択肢のひとつとして良さそうだ。アセットストアより、12ドルで入手できる。

Unity Asset Store – Unicessing