Onoty3D

Unityに関するメモとか

Ink Painterを使って、パーティクルの衝突でインクが塗れるようにする

Esさんが無料で公開しているすばらしいアセット、Ink Painter

www.youtube.com

オブジェクトが衝突したところやマウスでクリックしたところなんかにインクを塗布できる楽しいアセットです。
今のところパーティクルが衝突したときにインクが塗布する機能はないようなので、スクリプトを作成しました。

こんな感じになります。

f:id:onoty3d:20170518000503g:plain

作り方
Ink Paiter付属のサンプルシーン、Sample01-Paint-に新規にパーティクルを追加します。
パーティクルの向きや重力設定を調整し、さらにCollisionモジュールでパーティクルがCubeやPlaneに当たるようにします。

f:id:onoty3d:20170517235527p:plain
この時重要なのは、Send Collision Messageにチェックを入れることです。
これにより、パーティクルの衝突が検知できるようになります。

パーティクルにParticle Paiterスクリプトをセットします。
以下のような感じで設定します。

f:id:onoty3d:20170517235620p:plain

設定はこれだけ。
これを実行すると、前述の動画のようになります。
また、パーティクルを

のような液体状のものに変えれば、いよいよイカゲームのような感じになります。
以前twitterに投稿した動画。

※インクが垂れていく表現はHightFluidスクリプトの効果です。
Ink PainterのサンプルシーンのSample10-HightMapFluid-を参考にしてみてください。

インクの塗布以外にもInk Painterは色々機能があるので、みなさんもぜひぜひ触ってみてくださいネ!


以下ソース