Unityで簡単プログラミング、Processing気分を味わう

こちらで書くのをすっかり忘れてましたが、UnityでProcessingっぽく書けるライブラリ(アセット)を作りました。


オリジナルのProcessingにはないprefab()とかloadScene()みたいな関数も追加してあって、UnityChanを使った簡単なアクションのサンプルも入っています。

ただし、現在移植してあるProcessingの関数は一部で、最適化などはあまりされていません。移植といってもProcessingの元のコードを見たりはしないので、仕様が違うものもあるかも。

UnityのLowLevelAPIで描くのではなく、Hierarchyに普通にGameObjectを生成して使う構成なのが特徴です。ワイヤーフレームだけはGLを使っちゃったけど。

GitHubのuProcessingリポジトリに一式あげてあるので興味のある方はどうぞ!

矩形と丸を描くサンプルコードはこんな感じ。

using UnityEngine;
using System.Collections;

public class Primitives : PGraphics {

    protected override void setup() {
        size(512, 512, P3D);

        stroke(0, 128, 64);
        strokeWeight(20);
        fill(0, 255, 128);
        rect(20, 20, 300, 400);

        noStroke();
        fill(255);
        ellipse(350, 350, 300, 300);

        noLoop();
    }

    protected override void draw() {
    }

    protected override void onKeyTyped() {
        if(key == ESC) { loadScene("Menu"); }
    }
}

Unityはプログラミングしなくてもいろいろできて便利なのですが、いざプログラミングするときに、すぐ図形が出るようなものがあってもよいのではと思って作ってみました。

Unityの基本思想と異なる仕組みのものを無理やりいれているので、作った後、もうちょっとこうしておけば、ああしておけばというのはあるのですが……まぁ、とりあえず。

ソースは全部公開しているので、ProcessingユーザーがUnityの関数をざっと知る場合や、その逆でも参考になるかも?

Unity WebPlayerによるデモはdev.EYLN.comのサイトに置いてあります。



Trackback(0)