【Unity】LineRendererの拡張 その2【メッシュ】【自動生成】

※その1の続きです。

seiroise.hatenablog.com

その1は実装部分についての備忘録だったので、
その2ではそれ以外のシェーダとかエディタ拡張とかの備忘録になると思います。
そして最後にプロジェクトファイルを上げておきます。

エディタ拡張

その1で要件の一つに「エディター上で確認できる」という項目を挙げたので、
エディタを拡張してなんとか要件を満たします。
エディタを拡張するといっても何のことはなく普段のインスペクターの描画に更新ボタンを追加するだけです。

シェーダ

Unity標準の頂点カラーシェーダだと透過処理を行ってくれなかったので
頂点カラーで透過処理を行うシェーダを書いていきます。
(正直ここが一番時間かかった!

やってることは頂点シェーダ、フラグメントシェーダを使って頂点カラーをそのまま描画してるだけです。
重要なのは最初のTagsとBlendなのですが、シェーダとかほとんど書いたことなかったので結構苦労しました。

一応サーフェイスシェーダ版も書いたので一応載せときます。

f:id:seiroise:20160530001446g:plain:w300

これはこれでありだけど陰影がついてしまうので、ちょっと変。
(あと描画順がおかしい?

使い方

使い方は割とLineRendererに近い感じです。

f:id:seiroise:20160530002621p:plain:w400

上から

  1. 「Edge Parameter」
    • エッジの大きさと何角形にするかが選べます
  2. 「Node Parameter」
    • ノードに使うメッシュとノードのデフォルトの大きさ、色が選択できます(スクリプトからいじる時用)。
  3. 「Nodes」
    • 表示するノードのリストです。
  4. 「Apply」ボタン
    • 更新用のボタンです。Nodesやパラメータの内容が反映されます。

プロジェクトファイル

最後にプロジェクトファイル
onedrive.live.com