Onoty3D

Unityに関するメモとか

一筆書きをパーティクルにするOneStrokeParticleCreator

一筆書きをそのままパーティクルに出来る仕組みを作りました…、って、数年前にそんなの見たぞって人が居たらその通り、数年前につくったやつの焼き直しです。
当時作ったスクリプトを改良して、生成したパーティクルのprefab作成まで行えるようにしました。
BOOTHで販売しています。

onotchi.booth.pm

VRChatで使えるようにUnity2017.4.15f1、及び最新のUnity 2019.1.0で動作確認しています(おそらくあいだのバージョンでも動くとは思います)。
Unity2017.4.15f1以前のバージョンでは動作保証しません。

【使い方】

まずOneStrokeParticleCreator.unitypackageを任意のプロジェクトにインポートします。

f:id:onoty3d:20190429022056p:plain

インポートすると、Onoty3D>OneStrokeParticle
の下にsampleというシーンがあるので開いて実行します。これで準備完了です。

 左マウスボタンを押下してドラッグすると、緑色の線で一筆書きの図形が描かれます。
マウスを離すと、描いた図形が黄色のパーティクルとして再生されます。 

f:id:onoty3d:20190429163126g:plain

※マウスよりペンタブ等で描いたほうがきれいに図形が書けると思います。
Wacomのペンタブの場合、マウスモードにするか、ペンモードでデジタルインク機能を外すとうまく描けるようです。

 

気に入った図形が描けるまで、そのまま何度でも書き直しが出来ます。
うまく図形が出来たら、実行状態のままヒエラルキービューからParticleCreatorを選択し、インスペクタのOne Stroke Particle Creatorコンポーネント内にある「Save Prefab」ボタンを押してください。

f:id:onoty3d:20190429172016p:plain

保存箇所を選択するダイアログが開くので、任意の場所を選んで保存してください。
これでパーティクルが保存されます。

f:id:onoty3d:20190429124717p:plain

出来上がったパーティクルは特定のスクリプト等がついていない通常のパーティクルなので、好きにパラメータを変更して自分好みの色や演出にしてみてください。
手書きの再現にVerocity over Lifetimeを使用しているので、そのパラメータ編集だけ注意してください。

【注意点】

あまり長い一筆書きはきれいに再現できない場合もあります。
基本的には2,3秒以内で描ける一筆書きに利用するのが無難です。
後述するRateやCurveMultiplierの数値を変更することできれいに再現できることもあります。

【各パラメーター説明】

OneStrokeParticleCreatorコンポーネントの各パラメーター

Sample Stroke Material: サンプルで描画される緑の線のマテリアルです。変更不要。

Sample Stroke Width: サンプルで描画される緑の線の太さです。

TargetParticle: 手書き再現用のパーティクルです。変更不要。

Capture Rate: 何フレーム毎にマウスカーソルの位置を記録するかです。整数で指定してください。1にすると毎フレーム保存します(デフォルトは6)。

CurveMultipler: 曲線のスケールに関与します。描いた図形がきれいに再現出来ない場合に値を大小させてみてください。

 


素敵なパーティクルが作成出来たら、ぜひぜひ公開してみてください。
(※生成したパーティクルのみ自由に公開可能です。一筆書きパーティクルを作成するアセット全体、及びその一部の公開は出来ないので注意してください。)

youtu.be