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

しゅみぷろ

プログラミングとか

UnityTexturePaintがAssetStoreで公開されました

はじめに

UnityTexturePaintがAsset Storeで公開されました!

Asset Store : UnityTexturePaint

初めてのストア出品だったけど、特に滞りなく出すことができました。 Key Imageを描いてくださった@traitam様、お世話になりました。

また、ストア出展ですごく参考になった記事がありますので紹介しておきます。

qiita.com

さて、本エントリでは色んな方々に手軽にUnityTexturePaintを使ってもらえたら嬉しいなということで、UnityTexturePaintを使うとどんなことが出来るのかを振り返ったり考えたりしていきたいと思います。

アルゴリズムとか実現方法みたいなのはUnityTexturePaintの過去記事を参照してください。

あくまで今回は出来ることの紹介です。

UnityTexturePaintのれきし

歴史って言うほどのアレではないですが・・・

まずUnityTexturePaintって何?ってところから。

UnityTexturePaintは、ゲーム実行中にオブジェクトに色塗りをする事ができるようになるアセットです。 Asset Storeでは有料になっていますが、GitHubにてリポジトリを公開しているので、無料で使うことができます。気に入ったらAsset Storeで購入していただけると私の焼肉代になります。

github.com

UnityTexturePaintを作ろうと思ったキッカケはSplatoonでした。 なので、UnityTexturePaintは液体を塗ったような感じを出すためにはどうしたらいいのかを考えて作りました。

f:id:es_program:20161006235916p:plain:w400

UnityTexturePaintを作り始めた段階の画像です。まだ塗った際にジャギーが発生したりと詰めが甘かった時期。

これが段々と改善され。。。

f:id:es_program:20161008140427p:plain:w400

ジャギーを消し(左が改善前で右が改善後)。。。

f:id:es_program:20161008165342p:plain:w400

f:id:es_program:20161015162654g:plain:w400

質感などの品質向上など色々やってきました。。。

性能改善にも頑張って取り組みました。 キャラクターなどのモデルにも比較的軽量な計算でペイントが可能になりました。

f:id:es_program:20161014003435g:plain:w400

f:id:es_program:20161210151524j:plain:w400

ここまでで、私自身が考えていたUnityTexturePaintの要件を大体満たすことができました。 実は至る所にまだまだ改善の余地がありますが、ちょこちょこやっていけたらと思っています。

現在のUnityTexturePaintでできること

まずは基本の塗りについてです。

f:id:es_program:20161014003516g:plain:w400

こんな風に、自由に塗ることができます。 塗る場所に質感(例えば液体とか)を与えることも出来るし、与えずにただ色だけ重ねることもできます。 塗る際に使うブラシも色も変更できます。

また、UnityTexturePaintの機能は、見方を変えればテクスチャに自由に情報を書き込めるということになります。 かなりプログラマー向けの内容になりますが、これを応用すると、例えば

f:id:es_program:20161027001402g:plain:w400

こんな風に、歩いた場所を凹ませてみたり(適当な時間経過とともに凹みをもとに戻してます)

f:id:es_program:20161029022306g:plain:w400

こんな近未来な床を表現したり

f:id:es_program:20161102021159g:plain:w400

反射する液体を作ったり、といった事ができます。

開発中の機能

より「液体らしさ」を追求した機能として、Fluid Paintを開発しています。 この機能は、付着した液体が垂れていくような表現をさせるために使えます。

f:id:es_program:20161208125233g:plain:w400

f:id:es_program:20161208125332g:plain:w400

f:id:es_program:20161208125410g:plain:w400

f:id:es_program:20161208131541p:plain:w400

まだ未完成な部分が多いため、ちょっと時間がかかりそうです。。