バーチャル3Dクリエイター神部まゆみです(*^-^*)
この記事では、以前BOOTHにアップした舌ベロオブジェクトの詳しい説明や導入手順を書いておきます。
出来るだけ迷わずに使えるように、詳しく書いておきます。

動作確認済みunityバージョンなど ※2023/03/08更新
複雑な機能を使っているわけではないので、よほど抜本的なアップデートがなければ問題ないと思いますが、一応。
随時更新していきます。
■2023/03/08
・blender 3.3LTSで動作確認済み
■2022/08/09
・ハイポリ版とローポリ版に分けました
・リグを追加
・MToonシェーダーでセットアップしたマテリアルを追加
・VRCat Mobile/Standard Liteでセットアップしたマテリアルを追加
・シェイプキーとリグの無いメッシュのみのファイル(Mesh-Onlyフォルダ)を追加
・unityでX軸回転が-89.98になってしまう不具合を解消
最新版のファイル名は「sita2022-08-09.zip」です。以前のバージョンも引き続きダウンロードできるようにしてあります。
■2022/01/22
・ユニティちゃんトゥーンシェーダー Ver.2.0.8 で動作確認済み。
■2021/10/12
・unity2019.4.31f1(LTS)で動作確認済み。
■2021/08/05
・unity2019.4.29.f1(LTS)で動作確認済み。
・VRChat(SDK3.0)で動作確認済み。
■2021/06/26
・unity2020.3.12.f1(LTS)で動作確認済み。
・unity2019.4.28.f1(LTS)で動作確認済み。
■2021/03/18更新
・unity2020.3.0.f1(LTS)で動作確認済み。
・unity2019.4.22.f1(LTS)で動作確認済み。
・unity2018.4.20f1(LTS)で動作確認済み。
・VRChat SDK2.0で、VRChatでの動作確認済み。
・デフォルトで角度を付けていましたが調整しにくいので、フラットに修正しました。
・fbxファイルをunityに読み込んだ際、サイズ100倍になってしまう不具合を修正しました。
・unitypackageを同梱しました。
・2021/03/18以前のバージョンも一応同梱しました。
■2021/02/12更新
・unity2019.4.18f(LTS)、unity2019.4.19f(LTS)で動作確認済み。
■2020/11/19更新
unity 2020.1.1f1、2019.4.13f1で動作確認済み。
機能:モデルの口の中に仕込んで、ペロペロさせることができる
前に出すシェイプキー(ブレンドシェイプ)を設定してあるので、口の中に仕込んでおいて、使う時に前に出してペロペロさせることができます。
↑のアニメーションはVeryAnimationというunityアセットで作成しました。MMDみたいに手軽に操作できるので便利です。
Very Animation|Unity Asset Store
舌の真ん中や先っぽを上下左右に動かすシェイプキー(ブレンドシェイプ)も付いているので、自由自在にペロペロさせられます。
※アニメーションファイルも同梱しようかと思いましたが、キャラによって口の大きさなどが異なるので同梱していません。
VRChat3.0 Quest版でも動かせました
Quest版のPuppetメニューで上下左右にも動かせました。
↑は上下左右に動かすシェイプキーでアニメーション作って動かしてます。
ローポリ版は比較的ポリゴン数が少ないので使いやすいと思います。
舌を出すだけ、トランスフォームでざっくり動かすだけなら、MeshRendererしか使わないMesh-Onlyのファイルが使いやすいかもしれません。
ちなみに↓こちらの先輩の動画を参考にしました。ありがとうございます(*^-^*)
VRMファイルだからか?アバターマスクは使えなかったけど普通に設定できました。
できればアニメーションも同梱したいんですけど、同じ人間モデルでもボーンやメッシュ構造が違ったりするので同梱してません。
でも同じVRoidモデルだったり、詳しい説明をすれば導入できそうだし、気が向いたら同梱してみるかもしれません。
ポリゴン数など
ハイポリ版(High-sita)
頂点 1113
辺 3288
面 2177
三角面 2222
ボーン 6
シェイプキー 12
マテリアル 1
Skinned Mesh Renderer 1
ローポリ版(Low-sita)
頂点 177
辺 512
面 337
三角面 350
ボーン 6
シェイプキー 12
マテリアル 1
Skinned Mesh Renderer 1
メッシュのみ(Low-Mesh-Only-sita)
ローポリ版のボーンとシェイプキーを削除した感じです。
頂点 177
辺 512
面 337
三角面 350
ボーンなし
シェイプキーなし
マテリアル 1
Mesh Renderer 1
シェイプキーの説明
Go 前進します
Shape 細くなります
Main-Up 舌中間から先が上に上がります
Main-Down 舌中間から先が下に下がります
Main-Left 舌中間から先が左に曲がります
Main-Right 舌中間から先が右に曲がります
Perori-Right 舌中間から先が右側にねじれます
Perori-Left 舌中間から先が左側にねじれます
Nemoto-Up 舌全体が根元から上がります
Nemoto-Down 舌全体が根元から下がります
Saki-Up 舌先が上がります
Saki-Down 舌先が下がります
GIFで動かしてみたのがこちら。
2022/08/09追記:リグも追加しました
これまでシェイプキーだけで動かしてましたが、リグ+シェイプキーにしました。
6本のボーンでウェイト付けしてます。
シェイプキーのほうが動かすには楽だと思いますが(;^_^A 微調整しやすいので一応。
リグとシェイプキーがないMesh-Onlyのファイルも一応追加
リグかシェイプキーを追加すると、unityでSkinnedMeshRendererコンポーネントが追加されてしまうみたいなので、
MeshRendererだけで済むメッシュだけのファイルも一応追加しました。
VRChat Quest版など制限がきつい場合に使いやすいかもしれません。
曲げたりはできませんが、出し入れやオブジェクト自体を動かすことはできます。
ファイルの中身
リグとシェイプキー付のハイポリ版(High-sita)とローポリ版(Low-sita)を入れてあり、fbxとblendファイルを入れてあります。
メッシュだけのファイル(Low-Mesh-Only-sita)も入れてあり、テクスチャファイルとマテリアルファイルもあります。
マテリアルはUTS2とMToon、Standard Liteシェーダー用に設定したものを同梱してあります(デフォルトではUTS2)。
blendファイルはblender2.82で作成し、2.93でも動作確認済み。
シェイプキーも設定されているので、参考にしながら改変して使っていただいて構いません。
規約 再配布・再販売以外自由
再配布・再販売さえしなければ改変もOKで、商用利用にも自由に使えます。
自作ゲームなどへの利用・販売配布OK。
暴力表現・性的表現なども特に制限しないので、自己責任で勝手に使ってください。
BOOTHの商品ページでNGにしている部分でも、個別に問い合わせがあれば許可などもできるかもしれません。
クレジット表記不要ですが、表記したいなら適当に表記していただいて構いません。
例として「モデラー:神部まゆみ」など、私がスタッフとして参加したかのように書いても構いません。
リンクを貼りたいならURLはBOOTHの商品ページでも、このページでもブログのトップページでも構いません。
使い方:unityのアセットフォルダに入れて、口の中の位置に配置するだけ。Headボーンの子にしておけば追従して動いてくれます
metaデータも入っているので、UTS2が導入されていれば(舌のマテリアルに使用)、そのまま使えるはずです。
Goシェイプキーを使って前に出せば、口の外に出せる位置に配置しておくといいでしょう。
舌を前に出す時は、キャラの口を開けてからにしたほうが自然にできます。
VRoidモデルに合わせて作っていますが、大きさが合わなければtransformの値をいじって調整してください。
詳しい導入方法
一応書いておきます。
unity2019.4.31f1で説明しますが、大抵はどのバージョンでも同じ手順で動くはずです。
手順1:ダウンロードしたzipファイルを解凍し、unityにインポートする
右クリック → すべて展開 で解凍して、
解凍してできたsitaフォルダ内のunitypackage「sitaUP」を、unityのアセットフォルダ内にドラッグ&ドロップしてインポートします。
手順2:ヒエラルキーメニューで、キャラのHeadボーンにドラッグアンドドロップして配置し、位置を微調整する
シーンにドラッグアンドドロップして位置を調整してもいいですが、ヒエラルキメニューでモデルのHeadボーンにドラッグアンドドロップしたほうが楽で早くて確実です。
結局Headボーンなどの子にしないと、モデルが動いた時に追従してくれませんので…。
ボーン構造やボーン名はモデルによって違うと思いますが、参考までにVRoidStudio v1.12.0 でエクスポートした私の例でいうと(モデル名Mayumi)、
Mayumi/Root/J_Bip_C_Hips/J_Bip_C_Spine/J_Bip_C_Chest/J_Bip_C_UpperChest/J_Bip_C_Neck/J_Bip_C_Head
です。
VRoidはシェイプキーの名前が変わったりはしてるようですが、基礎的なボーン名は今のところ昔のバージョンと変わってないと思います(2022/08/22現在)。
無事シーンにオブジェクトを読み込めたら、unityの移動ツール(ショートカットWキー)やTransformの数値をいじって、位置を調整してください。
ブレンドシェイプのGoで前に出せば、そのまま目の下あたりの表示させられる位置が良いです。
カメラ位置によって舌が消えてしまう場合は、SkinnedMeshRendererの中心をXYZ0にして「オフスクリーン時に更新」にチェックを入れれば直るかも
これカメラ内に映っていない時は描画せずに負荷を減らす仕組みみたいですが、これで直ると思います。
注意点:モデルによってはトランスフォーム拡大/縮小が100倍になっていて大きくなってしまう可能性も?
直接Headボーンの子に読み込む場合、モデルによっては大きさ100倍で読み込まれてしまうことがありました(-_-;)
よく見たらそのモデルはアーマチュアのトランスフォーム拡大縮小が100倍になっていたので、その影響だったようです。
↓これは再現した画像だけどこんな感じ。
拡大縮小が100倍になってしまう問題は、blenderでモデルをエクスポートする時に「すべてFBX」を選ぶと直るやつかな?と思うんですけど、モデルによってはこうなるかもしれません。
この場合は一度シーンに本オブジェクトをD&Dでシーンに配置してから、改めてヒエラルキーメニューでHeadの子にして、舌のトランスフォーム位置XYZを0にしたら上手くいきました。
①シーンのどこでもいいので、舌オブジェクトをドラッグアンドドロップしてインポートする
②ヒエラルキーでHeadボーンに舌オブジェクトをドラッグアンドドロップして、Headの子にする
③Headの子にした舌オブジェクトのトランスフォーム位置XYZを0にする
これで行けると思います。
注意点:UTS2などが導入されていないとマテリアルがシェーダーエラーで紫色になるので、事前に導入を推奨
一応複数のマテリアルを同梱してあるだけなので、使わないものは入れなくても構いません。
UTS2、MToon、Standard Liteシェーダーで設定したマテリアルを同梱していますが、デフォルトではUTS2 Ver.2.0.8で設定してあります。
MToonはuniVRM v0.99.4に同梱されているもので設定しました。
Standard LiteはVRChat SDK3.0 Avatarに同梱されているもので設定しました。
おわりに
ちょっとえっちな使い方をしたい時に、舌があると便利です。
使いたい人は使ってみてください。

バージョンアップや仕様変更などがある場合は、BOOTHの商品ページとこの記事に加筆修正していきます。