この記事はアドベントカレンダー「【VCI】テーマパークを作ろう 」の6日目の記事です。
今回の内容
今回はクマ耳カチューシャを作りながら以下の内容を学んでいきます
- 自由に持ち運べる「SubItem」の概要とその作り方
- ボタンを押して何かを動かすスクリプトの書き方
VCISubItemとは?
今回はクマ耳カチューシャを作るにあたり、「持ち運びができ」「他の人と位置が同期される」アイテムを作る必要があります。
その様な場合は「VCISubItem」(以降Subitem)というVCI専用に用意されたコンポーネントを使用する必要があります。
SubItemには主に以下の機能があります。
・他の人と位置情報が同期される。
・手に持って移動させたり、拡大・縮小することができる。
・グリップを押して何らかの処理を実行させる事ができる。
公式参考ページ:VCI SubItem Component
上記のいずれかを実現したいときはほぼSubitemを使うことになり、かなり頻出するコンポーネントですのでここでおさえておきましょう。
Subitemの設定する
今回は以下のクマ耳を装着できるようにしていきます。
早速SubItemコンポーネントをつけていくのですが、以下のようにSubItemは空オブジェクトにつけその中にモデルを入れることをお勧めします。
(新しくモデルを追加したくなった時、サイズ変更したくなった時などにSubItemとモデルが分かれていると何かと便利です)
補足:SubItemはVCIObjectコンポーネントの設定されているオブジェクトの直下にのみ設置で済ます。
(今回の例だとThemeParkの下の階層のみ)
VCISubItemにはいろいろな設定がありますが、今回は必要な部分だけ説明していきます。他の設定以下の公式ページを御覧ください
・VCI SubItem Component
今回は以下の設定をしました。
○ VCISubItem
・GrabbableをON (持ち運べるようにするため)
・ScalableをON (頭に合わせてサイズ調整できるように)
○ RigidBody
・Use GravityをOFF (地面に落ちると取りづらいので)
・IsKinematicをON (これがOFFだと手を離すとふわふわ飛んでいってしまう。)
また、つかめるようにするためにコライダーが必要なため、コライダーも追加します。こちらはModelの方のオブジェクトへの追加でいいと思います。(そのほうがモデルのサイズを変更したときに一緒にコライダーのサイズも変わってくれるため便利です。)
コライダー追加の際には体にぶつからないようにするためIsTriggerをオンにしてください。
アイテムを装着可能にする
上記でSubItemの設定は完了しましたが、これではまだ装着はできない状態です。
装着するためにはVCIAttachableコンポーネントを使用します。
VCIAttachableはSubItemと違いどの階層のオブジェクトにも追加できるため、今回はモデルのオブジェクトに追加します。
設定の詳細は以下をご覧ください。
・VCI Attachable
今回は以下のように設定します。
・Attachable Human Body Bones:頭のボーンにつけたいため、sizeを1でHeadを選択
・Attachable Distance:Sceneの緑の円を見ながら適切なサイズに調整
・Scalable:拡縮に連動して変わってほしいためONにする
・Offset:Sceneの緑の円を見ながら適切なサイズに調整。
1点注意点として、装着可能な位置は装着対象のボーンの始点の位置となります(多分)
Headボーンの場合、だいたい首と顔の境目位が始点となるのでそこに当たるようにOffsetとDistanceを調整してください。
以下が設定後の図です。
最後に、複数人がつけられるようにSubItemがついたオブジェクトをコピーして複製します。
コピーする際、SubItemがついたオブジェクトは同名は避け、別々の名前をつけるようにしてください。
最終的には以下のようになりました。
完了したらエクスポートしてseedOnlineに取り込んでみましょう。
以下のように装着できることが確認できたら完了です。
終わりに
いかがでしたでしょうか?
今回は頭への装着でしたが、腕や足を装着対象にすることもできますので、腕輪や靴といったものを装着することも可能です。
次回はアニメーションについて書く予定です。