投稿記事

VRoidの記事 (9)

イラシム 2022/05/15 22:59

センシティブな液体表現 その2

久しぶりに記事を投稿できる暇ができたので
リハビリがてら、投稿します。

この記事について

UnityのVFXGraphという、パーティクル表現の機能を触りたくなり
参考文献を読み漁っていた所、下記の動画を見つけました。
https://www.youtube.com/watch?v=IVj7-usBxHo

これは、センシティブにできるぞ!と、思ったので
成果物報告がてら、やった事を大まかにまとめます。

Unityの必要機能をインストール

まず、VFXGraphは、Unity2019以降の実装なので
対応している、Unityバージョンをインストールしてください。
筆者は、Unity2020のLTSバージョンを利用して検証しました。

PackageManagerを開き、下記の公式パッケージをインストールします。

Universal RPのインストール

ビルトイン状態から、URPに変更する必要があります
検証バージョン:ver10.3.2

Visual Effect Graphのインストール

本命のパッケージです。
検証バージョン:ver10.3.2

ShaderGraphのインストール

VFXGraphと連携する為必要になります。
検証バージョン:ver10.3.2

最低限必要なものは以上です。
他にモデルなど表示したい場合は、URPに対応した
シェーダーが必要になります。
デフォルト表示で良いなら、URPのLITを使用します。

URPを適用する

まず、URPの設定を保存するAssetを作成します。
適当なフォルダで、右クリックし
Create → Rendering → Universal Render Pipeline と選択し
assetが2つできる事を確認します。

その後
Edit → ProjectSettings → Graphics から
Scriptable Render Pipeline Settingsという欄に、先ほど作成した
UniversalRenderPipelineAsset.assetを適用します。

これにより、既存のオブジェクトがあると
マテリアル周りの参照が外れ、全てピンク色になってしまうと思います。
解決する為に、Editから下記画像のとおり選択します。

Unityのstandardシェーダー等であれば
URP用のシェーダーに自動切換えされていると思います。
対応していない、マテリアルはシェーダー設定が切り替わらないので
手動で、UniversalRenderPipeline以下のシェーダー郡に切り替えます。

Visual Effectを有効にする

Edit → Preferrences → Experimental Operators/Blocksを有効にする。
他の設定は特に変更しませんが、作りたいものによっては必要かも・・・

動画を見ながら基本のエフェクトを作る

内容の細かい所は、上記で紹介している動画を見て下さい。
液体が飛び散る表現はできると思います。

そう、液体がね・・・飛び散るんですよ・・・

センシティブにする

後は、パラメータを細かく設定していくだけです。
ここまで作れる方なら、検討はついていると思いますが・・・

色を変える

赤いから血に見えるわけで・・・白ければ・・・
下記の様に、カラーを外部から送る様に設定して、白くしてみて下さい。

射出感覚を調整する

動画では、loopさせる為、Spawn周りをごちゃごちゃいじってましたが
ワンショットで済むエフェクトなら
Single BurstにRateを適応するだけで良いです。

SpawnSystemに、再生の遅延やループ回数の設定などの項目があるので
下記の様に設定すると、良い感じに見えます。

出力結果

では、どの様に調整したか、動画にしてみました。

パーティクルシステムで表現するより
何倍もそれらしい、液体表現ができたのではないかと思います。

以上、VFXGraphの参考になったら幸いです。
以下、所感をつらつらと書いてきます。


VFXGraph導入のデメリットと課題点

URPに対応する手間が必要

あらかじめ、URPで作成していない場合
マテリアルとシェーダー周りを、一新しないといけないので
旧型のシェーダーを重用していると、対応できなさそう。

学習コストが高い

ShaderGraphと合わせて、Editor機能事態の習熟が必要だし
シェーダーのパイプラインがどのように、値を変化させているか
やりたい事に合わせて、調べる必要がある。

その上、調べてみても、日本語の事例や記事はあまりなく
英語圏の情報も、基本的なものばかりで
動的なものへの適応例など、応用が利いたものはあまり見られない所が難点

youtubeが頼りかも・・・

動的な座標変更や回転の管理が大変

VisualEffectをアタッチしたオブジェクトを、モデルに付け
ノードをアニメーションさせたりすると
パーティクルも一緒に移動してしまうので
VFXを制御するオブジェクトは、あくまで原点に居て
VFXにパラメータとして、生成場所や、射出方向を渡した方が良さそう

VFX Property Binderというプロパティを変更する
標準スクリプトが用意されているらしい。

また、自前のスクリプトからも、プロパティに対して
値を渡すことができるので、複雑に動くものは
自前で外部から、パラメータを渡してやる必要がありそう。

複雑な当たり判定ができるか不明

まだ理解が及んでいない部分が多いので、起伏のある地形や
人型の様に、複雑なコリジョンに対する当たり判定が取れるのか不明。
デカール処理が柔軟にできるなら、今以上にセンシティブにすることも
できると思うが、詳しい人いたら、教えて欲しいくらいに
参考文献がない・・・

恐らく、SDFあたりを使って上手くやるのだろうが・・・


最後に

以上、VFXGraph触ってみたよ報告でした。
1日程度しか触ってないですが、それなりの成果物ができた気はしますし
色々有意義な知見も溜まりました。
素人意見で色々書き込みましたので、半信半疑で見てみて下しさい。

この記事を見て、ちょっとでも、参考になったっとか
為になったと思う方がいれば、投稿の方続けていきますので
フォロー、ご支援のほど、よろしくお願いします。

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

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

イラシム 2021/10/23 20:01

進捗報告 part_003

この記事について

作業の途中経過を報告する記事です。

進捗内容

大きく変わった所をまとめます。

・カメラの切り替えシステム追加
 Cinemachineによる切り替え補間と
 各種カメラワークを入れてみました。

・表情追加
 眼球や口を個別に調整できるようにしました。
 試しにあへってる顔でも入れてみました。

また、確認用の動画も用意しました。
興味ある方は覗いてみて下さい。

フォロワー以上限定無料

進捗確認の動画ですぅー

無料

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

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

イラシム 2021/10/19 11:02

進捗報告 part_002

この記事について

作業の途中経過を報告する記事です。

進捗内容

大きく変わった所をまとめます。

・正常位のモーション追加
 シーケンスを複数のモーションに対応させました。
 再生位置や、IKの座標も切り替え可能に

・カメラワークの追加
 まだテスト段階ですが、複数アングルから描画や
 カットシーンなどの作成中

また、確認用の動画も用意しました。
興味ある方は覗いてみて下さい。

フォロワー以上限定無料

進捗確認用の動画です。

無料

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

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

イラシム 2021/10/16 13:00

進捗報告 part_001

この記事について

作業の途中経過を報告する記事です。

まとめ記事を投稿する様な、技術的な作業をしてないけど
まとまるまで、何も投稿しないのも良くないので
途中経過の報告として、作業の切りが良いタイミングで
記事にしていきたいと思います。

進捗内容

大きく変わった所をまとめます。

・UIまわりの追加
 行為の開始や、現状の興奮度などをUIから、操作確認できる

・各種アニメーションの制御をシーケンスに合わせて自動切換え
 仮で、興奮度に合わせて、切り替えて行くように設計

・voice・seの追加
 フィニッシュ時や、興奮度に合わせて多種追加

・背景モデルを用意
 有名な日本風のマンションモデルを導入

以上、ざっくりと追加しました。

また、確認用の動画も用意しました。
興味ある方は覗いてみて下さい。

フォロワー以上限定無料

進捗をまとめた動画です

無料

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

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

イラシム 2021/10/13 18:14

肌濡れ表現 VectorFlowShader

この記事について

肌濡れ表現の検証記録になります。
hheaven様が販売していた
VectorFlow Shaderを使用させて頂きました。
参考として記事にします。

こんな表現ですね。
https://www.youtube.com/watch?v=CcqC2osR1Gs

マテリアルの適用

VectorFlow Shaderを購入・ダンロードしたら
濡れ表現をしたいメッシュに
マテリアルを適応するだけなのですが
複数のマテリアルを適応しているメッシュには適用できず
設定しても、動作しませんでした。


説明書にも載っているのですが
単一のマテリアルで動作するメッシュを想定している様です。

サブメッシュに分割する

付属で「SubMeshSplitter」というエディタ拡張もあり
こちらを利用する事で、メッシュを、サブメッシュに分割できます。
これにより、体の部分だけにマテリアルを適用できます。

以上、簡単な手順だけで、上記動画の様な表現ができます。
もちろん、よりセンシティブに表現もできちゃいます。

では、センシティブに表現した結果ですが・・・


フォロー要求しちゃいます、すいません。
期待を煽るほどの内容ではないのですが
何卒、ご支援の程お願いします。

フォロワー以上限定無料

シェーダーの適応結果の動画です。

無料

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

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

« 1 2

記事のタグから探す

月別アーカイブ

記事を検索