スクリプト/アニメーション
$21.60(割引無し) 【更新日】2018年1月10日
豊満な胸、髪の毛、スカートなどボーンが付いてればリアルに揺れる。
アセットストアで一番人気の「揺れもの」スクリプトです。
VRチャット需要で大量に売れてる今めちゃくちゃ熱いアセット。
キャラクターを可愛く見せるための必須スクリプトだ!
※注意:このアセットはセールではございません。特集記事です。
この記事に登場するアセット
- Dynamic Bone:記事のメインアセット。ボーンを揺らすよ〜!
- Riko:今回の被験者。ゆるふわ美少女モデル(SURIYUN)
- Final IK:アニメーション中に腕や足、頭を固定 & Vtuber、VRで大好評
- PuppetMaster:ラグドールを部分的に行う衝突系物理エンジン
- Playmaker:ビジュアルスクリプティングで制御する方法を軽く紹介
今日のセール
13個あります。詳しくは姉妹サイトからチェックしてください。
アセットストアの凄いアセットをじっくり紹介したいから↑を作りました。
これでセール品は記事にしなくてもチェックできるので、
しばらくは読者さんの役に立つ紹介記事も作って良いよね。
もちろん大ニュースや日本作家さんのアセットは優先して紹介します。
無料化情報
「Random Prefab Placer」が期間限定で無料配布やってます〜。
Dynamic Boneをもっと詳しく!
設定なし↑
設定あり↓
↑ 揺れるところ「髪の毛、耳、胸、上着の裾」全部で20箇所にセットアップしてみました。
激しい動きをすると揺れる揺れる!
Rikoは、既に髪の毛や胸アニメーションが付けられていますが、
基本的な動作+物理挙動を追加するのがDynamic Boneです。
設定次第でもっと複雑な制御ができますが、ただ何となく取り付けただけでも、
リアルに動いてくれる手軽なアセットです。
ボーンの様子をチェック
髪の毛にセットアップした状態です。
スクリプトオブジェクトを選択していると、
ボーンを視覚化して白いラインが現れるので目印にしよう。
↑白いラインは髪の毛のボーン
(毛根)ボーンA→ボーンB→ボーンC→ボーンD...(毛先)
「Dynamic Bone」の場合、毛根にコンポーネントを仕込んでおけば、
毛先の「ボーンD」まで自動的に揺れ動かしてくれます。
Rikoの場合「joint2」〜「joint45」まで根元のrootだけ10オブジェクトに仕込むと、
良い感じにアニメーションしてくれます。
(前髪だけ揺れを減らしたいとか微調整が効く)
ざっくりと作業の流れ
- キャラクターの揺らしたい部位(ボーン)を探す
- 「DynamicBone」コンポーネントを適当な場所に作る。※1
- 「2」に「1」のボーンをセット
- 揺れのパラメータ設定
※1 モデルじゃない別の場所に作ってもOK!私は管理しやすくするため空のゲームオブジェクトに取り付けました。
「DynamicBone」コンポーネント
これがDynamic Boneの本体です。
重要な項目だけ軽く紹介
- Damping(減衰)
- Elasticity(弾性)
- Stiffness(剛性)
- Inert(不活性 / 鈍い / のろさ)
スライダーを0に近づけるほど揺れが激しくなります。
0.01〜0.15辺りが効果が現れやすい印象でした。
逆に1にすると完全に動かなくなります。
End Offset
ボーンの終点をスクリプト側から指定します。
わかりやすい「胸」で解説
下向きの胸なのか、
上向きにするかでかなり動きが変わるみたい。
0.1刻みで直接入力すると作業しやすいです。(そこまで長く伸ばす必要なし)
一番手間だったのが髪の毛先部分で、流れに逆らわないように設定しました。
Distribが結構重要
スライダーの値だけでも挙動が変わりますが、
減らしてみたりを繰り返して良い動きになる組み合わせを探していましたが、
このグラフが意外と挙動に変化が現れるのでオススメです!
適当に付けてみただけでかなり挙動が変わりました。
スクリプトの設置場所について
別にどこに置いても作動する設計になってました。
◯ VRChatで使う場合
揺らしたいオブジェクトに直接スクリプトを取り付けた方が良いかも。
◯それ以外、普通に使う場合
私の場合は、空のゲームオブジェクトにまとめて管理できるように作りました。
揺らしたくない時にrootのActiveをOFFにすれば全部揺れ無しにできることと、
別の揺れに切り替えたい時にチェンジしやすくなります。
もちろんキャラのボーン部分に取り付けちゃっても良いですよ。
衝突制御も付けられる(次回)
足をくの字にした時に、ロングスカートが足にめり込むのを防止してくれる
「Collider」が用意されています。
※次回詳しく紹介したいと思います。
エディタ拡張/ビジュアルスクリプティング
$70.20(割引無し) 【更新日】2018年4月12日
プログラミングせずゲームが作れる定番のビジュアルスクリプティングです。
昨日ツイッターでこんな事がありました。
ちっちゃい動作で大きく揺れて
— 托卵JP♨ (@AnEggJP) 2018年5月13日
大きな動作で揺れを抑えてほしいんだけど
個別に設定できないので
モデル側で改良を加えて変化できるようにしたい!
先日デイリーセールで登場した「VertExmotion Pro」
同じ「揺れもの」アセットですが、こちらはシェーダで動作しているため、
托卵JPさんは、ユニティちゃんシェーダと共存することができず悩まれてました。
Dynamic Boneも購入されていて、これで解決!と思っていたら、
「大きな動作が起きたときに、揺れが発生するためどうしたらいいか?」
なるほど!ただ揺れれば良いってわけじゃない。
実際に使ってる方の意見、とても参考になりました。
問題点が解決できるか稚拙ながら色々と考えてみることにしました。
ちょうどDynamicBoneの記事を明日投下しようと思ってたので、
— AssetSaleLove @汗人柱 (@AssetLove) 2018年5月16日
スクリプト側からパラメータが直接いじれるコードも付けて置きます〜。
それを使えばPlaymakerからも呼び出せるはず。
托卵JPさんはPlaymakerでゲームを組み立てているので使い方も含めて紹介!
提案その1(スクリプトの値を直接変更)
「Dynamic Bone」コンポーネントの値を直接変更しちゃいます。
大きな揺れが発生する時は、
Animatorで「走る」とか「旋回」「激しい動作」をするタイミングに起こると想定。
直接値を変えちゃえばいいのでは?
と思いつきました。
ちなみに、動的なパラメータの変化にも対応するスクリプトになってましたので、
自由に変化が付けられます。
Playmakerで値を設定する方法
幸いなことに、publicフィールドになっていたので値を自由に可変できます。
変数
Objectの変数を1つ作り、
Object Typeを「DynamicBone」にします。
アクション
Get Componentで揺らすキャラクターのオブジェクトをセットして
「DynamicBone」コンポーネントを使う用意をします。
「Set Property」で、「m_Damping」や「m_Elasticity」など
Inspectorにあるパラメータを自由に変更できることが確認できました。
↓が変更できる
この提案のデメリット
設定できるパラメータの数が多く、設定が大変。
最適な揺れの値を見つけるまでの繰り返すテストに時間がかかる。
提案その2(ゲームオブジェクトで管理)
空のゲームオブジェクトに「DynamicBone」スクリプトを1つ1つセットしておいて、
必要に応じてON/OFFする方法です。
↑全部「空のゲームオブジェクト」で各パーツ毎に管理します。
TPOに合わせて「揺れる揺れない」の設定をいくつも好きなだけ作ります。
使わないのはアクティブのチェックを外して非表示にしておきましょう。
Playmaker側からは、Active Game Objectで切り替えればOK!
個人的にはこの方法が一番オススメです。
↑曲線データもこのやり方なら何パターンでも用意できます。
提案その3(大きな動作をした時の制御)
Animatonを再生する前に、揺れの切り替えをわざわざするのではなく、
速度に合わせて自動的に切り替えてくれる様に、
「DynamicBone」スクリプトを改造するか、
PlaymakerのFSMか、カスタムアクションを作ろうと思いましたが
提案1&2で対応できるならそれでいいかなと思ったでとりあえず保留。
スクリプト/物理エンジン
$97.20(割引無し) 【更新日】2018年2月8日
PuppetMasterは、Ragdoll(ぐったりする機能)の拡張版です。
Final IKの作者さんによるアセットです。
キャラクターが走って衝突した時に、
走りモーションを再生させたまま、ダメージを受けた体の部位だけラグドール化させることができます。
「Dynamic Bone」と一緒に使えるか検証してみました。
結果
動画内のシーンビューに注目!
髪の毛のボーンが止まったままの結果に・・・。
衝突中はPuppetMasterのターンになるため、
Dynamic Boneの挙動が失われる。
衝突していない時はDynamic Boneの髪の毛の揺れが正常に作動しました。
つまり衝突しなければOK!
※他に設定する項目があって両方作動する方法があるかもしれませんが、
それらしき項目が見当たりません。
PuppetMasterについての詳細はこちら
ブログサイドバーでお馴染みのパペマスを久しぶりに使ってみました。
『PuppetMaster』vs『Final IK』vs『ユニティちゃん』
トップページ
スクリプト/アニメーション
$97.20(割引無し) 【リリース日】2018年1月17日
キャラクターのIKアニメーションをリアルタイムで行える定番スクリプト。
VRでキャラクターの四肢を自在に操れることからVtuberさんに大人気!
今かなり熱い大流行のアセットです。
検証
「VR IK」利用中に「Dynamic Bone」が作動することは、
Vtuberさん達を見ればわかることですが、しっかりと動きます。
結果
左(動いてる方)Final IKの「VR IK」 揺れものがちゃんと動く。
追記 2018年5月22日(0:32)
異様にガクガクしてるのはAnimatorを切り忘れていました。
右(止まってる方)PuppetMaster:相性が悪いのか不明ですが、近づくと荒ぶる。
Final IKについてはこちら
2018年5月13日にVR IKについてと、過去記事について紹介しています。
Dynamic Boneの記事一覧
① 2018年5月17日
初見さん用。セットアップ方法を解説します。
② 2018年5月25日
挙動パラメータについて徹底的に調査!
Damping(減衰)、Elasticity(弾性)、Stiffness(剛性)、Inert(不活性 / 鈍い / のろさ)
③ 2018年7月1日
Colliderの基本的な特性の紹介と、
衝突判定の実装方法、キャラの髪や胸をぷにぷに触って遊べる方法を紹介。
④ 2018年7月9日
v1.2.0の新機能「DynamicBonePlaneCollider」の使い方を解説。
ベッドで髪が乱れる挙動と、ユニティちゃんのスカートめり込み問題に挑戦。
⑤ 2018年8月13日
真夏のアドベントカレンダーにて、カーブグラフの活用方法と、
パラメータ設定例を紹介しました。
【新サイト】アセット割引情報(ベータ)
最近紹介した注目アセット
- 3D Modern Menu 1
- Unity初心者さん大助かり!
- タイトルメニューの上手い作り方の参考になるお手本アセットです。
- 無料 【リリース日】2018年4月27日
- "ジャンコちゃん !!" モデル
- 元気で可愛いツインテールの女の子「ジャンコちゃん」の3Dモデルが日本作家さんより新作登場!
- 「ゲーム開発に必要な機能付き」ジャンコちゃんが操作できます。
- 無料 【リリース日】2018年5月11日(新作アセット)
- PBR - 昭和の学校の机と椅子
- 昭和から学校で使われている旧式タイプの机と椅子の3Dモデルです。
- 「Very Animation」でユニティちゃんにポージングさせてみました。
- 無料 【リリース日】2018年5月8日
- Mobile Color Grading
- 画面全体のルックを整えるモバイルプラットフォーム用のカラーグレーディングセットです。
- $5.40 => 無料化 【開催期間】2018年4月27日〜不明
- 画面全体のルックを整えるモバイルプラットフォーム用のカラーグレーディングセットです。
- ヒャッハー Easy Outlaw -free
- 世紀末を感じるハードボイルドアクション漫画「北斗の拳」っぽい「モヒカン」キャラの3Dモデルです。
- 無料 【リリース日】2018年5月4日
- 世紀末を感じるハードボイルドアクション漫画「北斗の拳」っぽい「モヒカン」キャラの3Dモデルです。
$43.20 => 無料化 100%OFF!!
【過去ログ】無料アセット
【過去ログ】作者セール&注目アセット