LoginSignup
11
14

More than 5 years have passed since last update.

Vectrosityで線を描こう

Last updated at Posted at 2016-07-08

今回はちょっと線がほしくなったので久しぶりに
Vectrosity
のお世話になることにしました。

何ができるか

このアセット線を描いたり、できます。四角や円もできます。
また、線にColliderをつけることもできます。線にテクスチャーを設定することも可能です。
他にも3Dのモデルなどの頂点情報をとってワイヤーフレームみたいな表示にしたり、いろいろできます。

とりあえず線を表示する

メニューからなりヒエラルキーからなりVectorLineを選択
スクリーンショット 2016-07-07 21.41.36.pngスクリーンショット 2016-07-07 21.41.43.png

すると画面上に線が表示されます
スクリーンショット 2016-07-07 21.38.16.png

あとはこの線の設定はインスペクタで。
線の色やつなぎ目の形など設定できます。
スクリーンショット 2016-07-07 21.38.50.png

いちなどはScene上で編集できます。
ヒエラルキーでラインをクリックして、あとはドラッグで移動できます。
shiftキー+クリックでポイント追加 ccontrol+クリックでポイント削除
Vectrosity1.gif

また、この線uguiのマスクでマスクすることもできます
後ろの白いのがマスク用の画像。これをuguiのマスクの子オブジェクトにlineを入れてあげるとマスクがききます。
スクリーンショット 2016-07-07 21.54.46.pngスクリーンショット 2016-07-07 21.54.46.png

コードから線を描く

コードからから線を描くときはまずはこれを忘れずに

using Vectrosity;

それからシンプルな線は

VectorLine.SetLine (Color.green, new Vector2(0, 0), new Vector2(Screen.width-1, Screen.height-1));

スクリーンショット 2016-07-07 22.05.56.png

配列でも渡せるよ

Vector2[] pointList = new Vector2[Random.Range(5, 10)];
for(int i = 0; i < pointList.Length; i++)
{
    pointList[i] = new Vector2(Random.Range(0f, Screen.width), Random.Range(0f, Screen.width));
}
VectorLine.SetLine (Color.green, pointList);

スクリーンショット 2016-07-07 22.13.24.png

SetLineの戻り値VectorLineを変数などに入れておけば、後から位置の変更なども可能です


    VectorLine myLine;

    void Start ()
    {
        Vector2[] pointList = new Vector2[Random.Range(5, 10)];
        for(int i = 0; i < pointList.Length; i++)
        {
            pointList[i] = new Vector2(Random.Range(0f, Screen.width), Random.Range(0f, Screen.width));
        }
        myLine = VectorLine.SetLine (Color.green, pointList);
    }

    void Update () {
        myLine.points2[1] = new Vector2(Random.Range(0f, Screen.width), Random.Range(0f, Screen.width));
        myLine.Draw();
    }

線を更新したときはDraw()を呼ばないと更新されません。

消すときは

VectorLine.Destroy (ref myLine);

で消えます

他にも

  • 四角:makeRect
  • 角丸:MakeRoundedRect
  • 円:MakeCircle
  • 楕円:MakeEllipse
  • 弧:MakeArc
  • 曲線:MakeCurve

など色々あります。

さてさて作りたかったものをつくろう

私が作りたいのはmayaのUIのこれ。
スマホとかだとやっぱりメニューコマンドの選択は楽にしたいということで、
これを作ってみたく、これの線のところをVectrosityでやろうかと思いました

だいぶやっつけですが現状はこんな感じ。

ちなみになつかしのスーパーマリオRPGみたいな戦闘を作りたくなって、
スマホでタップしてメニュー選択はだるいと思いこうすることに。

ちなみにこのVectrosityのラインなどはuGUIだとCanvas Overlayにしか対応していないので注意
ちょっとやっつけだけど一旦こんな感じでここまで。

11
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
14