投稿記事

VRMの記事 (3)

イラシム 2021/10/04 21:03

Unityでできる、センシティブな液体表現

この記事について

Unityの基本機能で、センシティブな液体を表現する為の
一例を紹介します。

漏れ出る液体を表現する

UnityのParticleSystemを使い、白いビルボードを
細かく生成してあげれば、それっぽくなります。
設定項目を解説すると、長くなってしまうので省きます。
例を記載するので、参考にしてみて下さい。

注意する点としては
SimulationSpaceをWorldに設定しないと
モデルにアタッチした時、モーションの動きと連動して
不自然な位置移動をしてしまうので、必ず設定しましょう。

以下、設定値とイメージの参考になります。

自然とあふれ出てくる液体



ゲーム中の見た目は小さめにしているので
見辛いかもですが、滴ってます。

一気に溢れちゃう液体



ぷしゃー!っとする表現もできちゃいます。

絡み付いてくる液体を表現する

UnityのLineRendererを利用する事で
接触した時に、絡みつく液体を表現する事ができます。
今回はありけい様が公開されていた
LiquidChainを改造して表現させて頂きました。

とりあえず、一本だけ絡みついた例をご覧ください。

設定次第で、より弛ませたり
途中で切れて、一定時間後消滅する様にもできます。
複数設置もできるので、好みの調整が可能です。

今回はここまでになります。
よりセンシティブに改造したサンプルを
後ほど公開しようかと思いますが、お待ちください。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

イラシム 2021/10/02 10:13

モデルにモーションを入れ込み、紳士的な動きをさせる。

この記事について

モデルデータの取得方法の続きで
モーション回りの取得方法と、Unityでの設定や調整方法の一例を紹介します。

モーションデータの取得

MixamoというAdobeが展開している
サービスがあり、アカウント作成のみで様々な
モーションデータを、Fbxファイルで取得できます。
Q&Aに利用についての範囲が明記されています。

多くのショートモーションが用意されており
一般的な動きであれば、そのまま利用できますし
成人向けのゲームにおいても、工夫すれば活用可能です。

モーションの再生方法

まずは、モデルにモーションさせるまでを整理します。

VRMをUnityにインポートする

まずは、VroidHubから取得したモデルをUnityにインポートしましょう。
インポートには「UniVRM」というパッケージを入れる必要があります。
公式ドキュメントから取得とインストールを済ませて下さい。

下記の様になれば、成功です。

ちなみに、「VRM」および「UniVRM」は
「VRM Consortium」というドワンゴが母体の会社から提供されており
MITライセンスでの運用が可能です。

Mixamoのモーションを適応する

次に、モデルにモーションさせたい紳士的な動きをイメージし
Mixamo内のモーションから、近しいものを探します。
大方無いと思うので、それっぽいモーションを見極め取得します。
今回は「Crossleg Freeze」というモーションを拝借します。

取得したモーションをUnityに取り込み
InspectorからRig設定をHumanoidにします。


その後、Fbx内のAnimationClipをCtrl + Dでコピーして取り出します。

VRMモデルは、読み込み時にでAnimatorをAddしているので
AnimationControllerを作成して、Animatorに登録します。
その後、コピーしたAnimationClipをAnimationControllerに登録し
再生を実行すると、下記の様にモーションしてくれるはずです。

モーションを改変して出力

さて、こんなブレイクダンスのモーションを取らせたい訳ではないので
モーションの尺をいじり、紳士的な動きとして調整します。

「Crossleg Freeze」のfbxを選択して
InspectorからAnimationタグを開くと、尺の調整ができます。


Lengthという項目があるので、使用するフレームを指定します。
今回は「63」~「73」フレームを取得したいので
StartとEndにフレーム数を指定して、Applyします。
その後、Fbx内のAnimationClipをコピーすると
下記の様に、指定フレームのモーションとなります。

これだと、ガクガクで何のモーションか分からないですが
AnimationControllerに登録しておきます。

ループモーションとして整える

AnimationControllerでは、モーション(ステート)を複製して
連結する事が可能で、再生速度も調整できます。
登録したCrossleg Freezeをコピー&ペーストすると
もう一つ、Crossleg Freezeが追加されます。
どちらかを選択して、右クリックする事で「MakeTransition」が
選べると思うので、お互いに矢印が向くように設定します。

そして、各モーションの再生速度を指定できるので
片方に「0.1」もう片方に「-0.1」と設定する事で
モーションの再生と、逆再生を交互に行うようになります。

ここまでくると、どの様に紳士的な動きをするか
イメージできて来たかと思いますが、まだ調整は残ってます。

手足と頭の位置を整える

Unityは標準でIK設定用のスクリプトを備えているので
そちらを利用して、手足や頭の位置を調整します。

まず、AnimatorのBaseLayer設定から
IkPassを有効にしておきます。


次に下記スクリプトを、VRMモデルにAddします。
※Animatorの付いてる階層でAddしてください。

vrm_ik_controller.cs (2.34kB)

ダウンロード

指定のTransformに手足と頭を向ける処理なので
適当に、各パーツを付けたい位置を示す、Gameobjectを作成し
Inspectorから登録していきます。
これで再生すると、下記の様になります。


あとは、足場とか、台とか適当に用意して
IKの座標を調整してあげれば・・・

見事に紳士的なりましたね!

まとめ

という事で、短いモーションであれば
デザインスキルがなくても、それなりの表現は可能という例でした。

もちろん
MixamoのデータはBlender等で、修正可能ですので
スキルがある方は、そちらで調整頂いた方が簡単かと思いますが
参考になれば幸いです。

最後に、より紳士的な見た目になるように調整した動画を用意しました
粗末ですが、拝見頂ければと思います。
(フォローは要求しちゃいます・・・すいません・・・)

以上です。

フォロワー以上限定無料

説明した内容を、より紳士的なモデルで実行し、動画に収めました。

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

イラシム 2021/10/01 14:55

Unityで動作する成人向けモデルの用意

初投稿ですので、駄文ですがお手柔らかに見てください。

この記事について

成人向けのゲーム、しかも3Dで動作するものを作ろうとした時
最初にぶち当たる問題が、モデルやモーションといった
3Dの素材を用意する事かと思います。

今回の記事ではその問題点をどの様に解消するかの
一例を紹介できればと思います。

モデルデータを用意する方法

VRM形式のモデルデータであれば
pixivが運営している、VroidHubを利用する事で取得する事ができます。
https://hub.vroid.com/

VroidHubでは、VRM形式のモデルデータを
使用許諾の設定に合わせて、検索する事が可能ですので
作品に組み込めるモデルも見つかるかもしれません。

(注)ただし投稿ユーザーが設定した使用許諾なので
  明らかに版権アウトなモデルも、「商用利用可能」として
  配置されていたりします。

そこで、着目したいのがVroid公式が出しているモデルです。
https://hub.vroid.com/users/36144806
公式が頒布しているモデルかつ、下記利用規約が明示されているので
信憑性のないユーザー投稿のモデルよりは、扱いやすいと思います。
https://vroid.pixiv.help/hc/ja/articles/4402614652569

また、VroidHub内で成人向けの改変をされているモデルもありますし
外部の商用サイトで、成人向けテクスチャーなどの
改変データの販売もあります。

見た目に拘らない作品であれば、一考の余地はあるのかなと思います。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

記事のタグから探す

月別アーカイブ

記事を検索