読者です 読者をやめる 読者になる 読者になる

遊んで航海記

思いつきで遊んだり、ゲームを作ったり、寝たり

Unityでお手軽プロトタイピング - uProcessingをVersionUp -

Unityで簡単なプログラムを書いて遊ぶのに便利なアセット、uProcessingをバージョンアップしました。 といってもAssetStoreの方はまだ更新してなくて、GitHubの方だけです。

Processing的に書けるのが特徴

名前の通り、Processing的に書けるのが特徴のアセットです。

今回はテキストの読み込み、保存、jsonにも対応したり、PShapeで星型のプリミティブを作ったりなどもできるようになりました。

まぁ、Processingでできることの全部ができるわけじゃないですが。

f:id:n_ryota:20150418204619p:plain

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();
    }
}

PShapeで任意の図形を描画

PShapeの方はこんな感じで任意の図形を作れますが、完全互換ではないです。

f:id:n_ryota:20150418204951p:plain

ボタン表示やサウンド再生

さらにProcessing標準機能ではないですが、uProcessingの方は独自拡張で簡易的なボタン表示やサウンド再生とか、

if(button("playBGM", x, y, w, h)) {
    playBGM("bgm");
}

y += step;
if(button("playSE A", x, y, w, h)) {
    playSE("se A");
}

PTweenerによる補間機能(イージング)

Tweenerによる補間機能なんかも入ってます。

// int型の数値で255から0の値に1秒かけて補間する
PTween t = tween(255, 0, 1.0f, PEase.InCubic);
//int value = (int)t.Value;

// メンバ変数のColor colを灰色から緑に0.5秒かけて補間して
tween(this, "col", Color.gray, Color.green, 0.5f, PEase.OutQuad)
    .wait(1.0f) // 1秒待って
    .to(Color.red, 1.0f, PEase.Linear) // さらに赤に1秒で補間し
    .reverse()  // これまでの補間の流れを逆にして最初に戻る
    .loop();    // それを繰り返す

普通にプレハブの配置も可能

いろいろ再設計したいところが多いけど、ひとまずGitHubにあげておきました。Unity4.6でしか確認してません。

普通にprefab()と書けば好きなプレハブをヒエラルキーに配置したりもできます。この辺りはUnityChanを使ったサンプルで以前やっていた通りですね。

prefab("unitychanP5");

サンプルをブラウザで実行してみよう

各種サンプルはこちら。

Unity Web Player | uProcessing

エスケープキーでメニュー画面に戻れます。 コードはGitHubからどうぞ。

ship of EYLNの方での紹介記事はこちら。

uProcessingでお手軽プロトタイピング