こんにちは、エンジニアのオオバです。
3Dモデルをやわか楽したい需要は常に一定数存在します。例えば女の子キャラクターを登場させる場合、柔らかいところは柔らかく表現したいものです。そこで今回紹介するのは 「VertExmotion」 というアセットです。お手軽に3Dモデルを柔らかくします。
3Dモデルを柔らかくする方法はいくつもありますが、1つの手段として検討してみてください。では詳しい解説に入ります。
👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!
VertExmotionとは?
VertExmotionは2014年11月にアセットストアでリリースされた古参アセットです。「VertExmotion Pro」と「VertExmotion」の2バージョンあり、Pro版のみソースコードが公開されています。
上の動画は同梱のサンプルです。オブジェクトがポヨンポヨンと弾む表現(ソフトボディアニメーション)を簡単に作れます。
VertExmotionの3つの特徴
VertExmotionには3つの特徴があります。
①ソフトボディアニメーションをShaderで実装
②頂点にペイントして影響範囲を定義
③ボーンが不要
このポヨンポヨンとしたアニメーションは頂点シェーダーで実装されています。頂点カラーにペイントして動きの影響度を設定するのです。頂点ですべて完結するため、ボーンは不要です。つまりUnity上ですべてが完結するのです。
VertExmotionの使い方
VertExmotionの使い方を解説します。デフォルトのCubeをグニャグニャにしていきたいと思います。
👉 【初心者向け】今さら聞けないUnityでオブジェクト(基本図形)を配置する方法
手順①新規のMaterialを作成してCubeにアタッチ
VertExmotionを使うためにはまず、新規のMaterialを作ってください。
メニューAsset > Create > Material
で作成できます。CubeにMaterialをセットしておきましょう。 手順②VertExmotionコンポーネントをCubeにセット
VertExmotionコンポーネントをCubeにAdd Componentしてください。
するとSceneビューにVertExmotionの拡張エディターが表示されます。
VertExmotionを使うためには専用のシェーダーを使う必要があります。「Fix material」ボタンをクリックすると自動でVertExmotionシェーダーに入れ替わります。
手順③頂点にペイント
VertExmotionエディタのペイントボタンをクリックします。すると以下のような表示になります。
ここから頂点にグニャグニャさせる強さを書き込んでいきます。
上図のように頂点にデータ書き込みます。赤くなるほど強く、青になるほど影響度は弱いです。今回のサンプルではCubeの上部4頂点に赤(最大値)を書き込みました。
手順④センサーを追加
頂点にペイントしたら、それを動かすためのセンサーを追加します。VertExmotionのセンサーボタンをクリックします。
「New sensor」ボタンをクリックしてください。
するとこのような表示になり、Cubeにセンサーが追加されました。
Hierarchyウィンドウを確認します。Cubeの子階層にVertExmotionのセンサーが追加されたことが分かります。以上で準備は完了です。Cubeを動かしてぐにゃぐにゃ具合を確認してみましょう。
手順⑤Unityを再生して確認
VertExmotionはUnity再生中のみ確認可能です。
このように書き込んだ頂点のみ動くことが分かります。
頂点が動く距離や揺れる感覚は調整可能です。
こちらは付属のDEMOですが、魚の動きを表現することも可能です。
簡易的に衣服を揺らすこともできそうです。
VertExmotionのまとめ
この記事では3Dオブジェクトをグニャグニャにする「VertExmotion」を紹介しました。簡単に内容をまとめます。
①ソフトボディアニメーションをShaderで実装
②ボーンが不要
③作業自体は頂点にペイントしてセンサーを追加するだけ
④簡易的な衣服の表現が可能
こんな感じです。とても簡単に3オブジェクトをグニャグニャと動かすことができました。時間がない中で表現する1つの手段として覚えておくと良いかもしれません。
もし購入する場合はPro版をおすすめします。全ソースコードが付属しているため、もしカスタマイズが必要になったときに安心です。ソースコードを読むことで学習教材にも使えます。
ゲーム制作の表現力アップに使ってみてはいかがでしょうか。
→ VertExmotion Proはコチラから
この記事が気に入ったらフォローしよう
- Unity2021.3.0f1
- VertExmotion 1.10.1