背後に出現
自分の約1m後ろに、身長の数倍ある骸骨の上半身が現れます。歩いたり体の向きを変えたりしても、背後の位置を保ってついてきます。しゃがんだり前かがみになったりしても、骸骨の高さは変わりません。
アバターに入れて、1回ボタンを押して体格を合わせるだけで動きます。
自分の約1m後ろに、身長の数倍ある骸骨の上半身が現れます。歩いたり体の向きを変えたりしても、背後の位置を保ってついてきます。しゃがんだり前かがみになったりしても、骸骨の高さは変わりません。
出現は約3.6秒。紫に燃える境界が下から骨を形づくります。消すときは約3.2秒かけて、上から焼け落ちるように消えます。燃えている断面は暗闇でも光ります。
両手の位置と肘の向きを、骸骨の大きさに合わせて写します(Final IK を使っています)。
フルトラッキングのときは、背骨・胸のひねりや傾きを、控えめに写します(屈んだときに骸骨の胸で視界がふさがらないよう、約半分にしています)。3点トラッキングとデスクトップでは、胴が細かく揺れないよう、胴は動かしません。頭は、自分の頭の正面2mの点を一緒に見ます。
グー・パー・指差し・ピースなど8種類に合わせて、骸骨の指も曲がります。グーはトリガーの押し込みに合わせて握り込みます。
両手をグーにして1.5秒続けると、骸骨が口を開き、黒い瘴気の雲を約8m先まで吐きます。雲の中を紫白の光の筋が走り、桃紫の火の粉と灰が舞います。どちらかの手を開くと止まります。
千切れた背骨の下端で、紫の炎が燃え続けます。炎は青紫と桃紫の色を帯び、ちぎれながら立ち昇ります。
VRChatのメニューに「Gashadokuro」の切り替えが1つ入ります。オン・オフの状態は保存されます。
指・ブレスは、VRChatがもともと同期しているハンドジェスチャーで動くので、ほかの人にもそのまま見えます。
骸骨のモデルは、この商品のために作ったオリジナルです。
前提のツールを入れ、プレハブを置いて、1回ボタンを押して体格を合わせれば完了です。
次のものを事前に入れておいてください。
Stub はアップロードに必要な部品だけが入ったものです。VRChat上ではStubでも動きますが、Unity Editor上では骸骨の腕が動きません。
プレハブ「Gashadokuro」を、アバターのいちばん上の階層(アバターのルート)の直下にドラッグ&ドロップします。
位置・回転・大きさは、初期値のまま変えないでください。
Hierarchy で置いた「Gashadokuro」を選び、Inspector の「Gashadokuro Fitter」にある Fit To Avatar ボタンを押します(メニューの Tools > Nunifuchisaka > Gashadokuro > Fit To Avatar でも同じです)。骸骨の腕の長さ・肩の位置・掌の向きを、アバターの体格に合わせます。
骸骨の大きさも、このときアバターの肩の高さから自動で決まります(Big の Scale、1.5〜4)。体の小さいアバターでも、手で大きさを変える必要はありません。
この操作をしないと、骸骨の胴がねじれたり、腕が曲がったりします。
ボタンが押せず「アバター(Humanoid)のルート直下に…」と表示されるときは、Gashadokuro がアバターのルートの直下に入っていません。
プレハブを置くと、Scene ビューに骸骨が出現した姿で表示されます。Fit のあとは決まった大きさで表示されるので、アバターと並べて背丈を確かめられます。この表示はエディタ上の確認用で、Game ビューやアップロードされるアバターには影響しません。
そのままアップロードします。
メニューの「Gashadokuro」をオンにすると現れ、オフにすると消えます。
骸骨の口は普段閉じています。両手をグーにして1.5秒続けると、口を開いてブレスを吐きます。どちらかの手を開くと止まります。
プレハブの中で変えられる値です。プレハブのルート(Gashadokuro)の位置・回転・大きさは変えず、その子の Big やマテリアルを調整してください。
アバター配下の Gashadokuro/Big のTransformを調整します。
| 項目 | 既定 | 説明 |
|---|---|---|
| Scale | 4(Fit が肩の高さから決める) | 拡大率。Fit To Avatar がアバターの肩の高さから 1.5〜4 の範囲で決めます。出現・消滅の燃え際(Dissolve)の都合で、4より大きくすると腕を真上に上げたときに指先が欠けます。4より大きくしないでください |
| Position | (0, 0.4, −1.0) × Scale ÷ 4 | 自分からの位置。Fit To Avatar が Scale に合わせて決めます。zを小さくすると遠ざかり、yで高さが変わります |
Fit のあとに大きさを手で変えるとき(Fit は Scale を肩の高さから自動で決めます。そのままで足りない場合だけ行ってください)
1. Hierarchy で、Gashadokuro の中の Big を選びます。
2. Inspector の Scale の3つの値(X・Y・Z)を、同じ値にそろえて変えます(例: 小さくするなら 2.5)。
3. 高さや距離がずれたら、Position の Y と Z も同じ比率で変えます。(0, 0.4, −1.0) × 新しい Scale ÷ 4 にすれば、Fit と同じ配置になります(Scale 2.5 なら (0, 0.25, −0.625))。
Fit が決めた元の Scale と Position は、Gashadokuro の Inspector(Gashadokuro Fitter)の「髑髏の大きさ」「位置」に残っています。Fit のあとに変えると、同じ場所に現在の値が注意として表示されます。
注意: Fit To Avatar をやり直すと、手で変えた Scale と Position は肩の高さから決めた値に戻ります(腕の合わせ方は Scale に左右されないので、大きさを変えたあとに Fit をやり直す必要はありません)。Scale は4より大きくしないでください(腕を真上に上げたとき、出現・消滅の燃え際で指先が欠けます)。Scale を小さくすると、ブレスの届く距離も比例して短くなります(約8mは Scale 4 のとき。Scale 2 で約4m)。一方、髑髏の視線の距離(約2m)と燃える帯の幅は縮まないので、小さくするほど燃える帯が髑髏に対して太く見え、出現・消滅の炎が通り過ぎるのも早くなります。
Material/Gashadokuro.mat のプロパティを調整します。
| プロパティ | 既定 | 説明 |
|---|---|---|
| _Color | 白 | 色の調整(ベースカラーのテクスチャに掛かります) |
導入前に確認してください。
Quest(Android)では、VRChatの仕様でFinal IKが動かないため、表示されません。
同じアバターをQuest(Android)向けにもアップロードするときは、このギミックを外してください(Android版のプロジェクトでは、プレハブを削除するか、EditorOnlyにします)。
Final IK は、VRChat側で独自に組み込まれたもので、公式にはサポートされていません。今後のVRChatの更新で、動きが変わる可能性があります。
物を両手で掴むと手がグーになるため、1.5秒以上掴み続けるとブレスが出ます。
壁や天井との当たり判定はありません。狭いワールドでは、骸骨が壁や天井にめり込みます。
腕を速く振ると、骸骨の手が少し遅れてついてきます。
腕を真下に下ろすと、骸骨の指先が床の下に入ります。
骸骨の腕は伸ばしきりません。自分が腕を伸ばしきっても、骸骨の肘は少し曲がったまま残ります(伸ばしきったときの肘の震えを抑えるためです)。
頭が向くのは、自分の頭の正面2mの点です。目だけで横を見る動き(アイトラッキング)は写りません。
指の動きは8種類のポーズだけです。1本ずつの細かい指の動きは写りません。
背骨の炎は、光を足して描く方式なので、ブルーム(光のにじみ)が強いワールドでは、炎の芯が広く光ります。シェーダーを非表示にしている人には、炎が見えません。
Bounds(大きさ)が各辺約15mになるため、このギミックだけでPerformance RankはVery Poorになります。骸骨を出していない(非表示の)ときも、同じように数えられます。
Liloumoisに入れて、VRChat SDKの性能表示(PC、Modular Avatarの処理後)で測った増加分です。
商品紹介に使用させていただいているアバターや衣装などは付属しません。