3DCG備忘禄

自分へ向けた3DCG関連の覚書きです。

UE4で揺れもの

2019-12-13 17:07:36 | UE4
UE4で揺れものはなかなか大変みたいですが「KawaiiPhysics」というプラグインを使用すれば簡単に設定できるようです。

おかずさんという開発の方が作成公開された無償のプラグインです。
https://github.com/pafuhana1213/KawaiiPhysics

3D人さんの解説記事
https://3dnchu.com/archives/kawaii-physics-ue4


■インストール
.uprojectがある階層のフォルダにKawaiiPhysicsの「Plugins」フォルダをコピーします。

UnrealEngineを再起動します。

編集/プラグインから KawaiiPhysics の有効にチェックが入っているか確認します。



■キャラへの適用方法
コンテンツブラウザから
 キャラの「ThridPersonAnimBP」ダブルクリックを開きます。


マイブループリントタブから「アニムグラフ」をダブルクリック


開いたアニムグラフ上で右クリックしKawaiiを検索してノードを表示させます。


ステートマシーンからComponentPoseにつなぎ、そこから最終アニメーションポーズにつなぎます。


すると下記の画像のような表示に。


「コンパイル」「保存」します。

■揺らしたい骨を指定します
Kawaii_Physicsのノードを選択し、詳細タブの「RootBone」に揺らしたいモノの根本の骨を指定します。


「コンパイル」「保存」すると反映されます。


■コリジョンを指定します
コリジョンはKawaiiPhysics専用で設定する必要があるようです。

▼Capsule Limits をクリック 配列エレメント右の「+」をクリックし、0 の左側「三角形」をクリックして展開します。
Driving Bone でコリジョンを作成する骨を指定します。


「コンパイル」「保存」

コリジョンの大きさ、位置を調整します。
アニメーションは一時停止したほうが調整しやすいです。


「コンパイル」「保存」して反映させます。


正直なところ細かい設定の調整方法はまだよくわかりませんが、それでもなかなか良い感じです。笑

Blenderでセットアップ③ ウェイト調整あれこれ

2019-12-10 12:27:03 | Blender
blenderでウェイト調整する際の便利機能などです。

※)キーマップは【IndustryCompatible】にしてます。

■頂点のウェイト情報の確認と編集■
MAYAで言うところのコンポーネントエディターのような。。。

編集モードにして頂点を選択、
アイテムタブの頂点ウェイトの項目に表示されています。



■頂点間でウェイトをコピーする■
編集モードにして
①コピーされるほうの頂点を選択する。(複数選択可)
②最後に「Shift」を押しながら、基準にしたいウェイト値が入っている頂点を選択して
先ほどのウェイト項目の一番下の「Copy」をクリックします。


■ウェイトをミラーコピーする■
ウェイト未調整の右耳


ウェイト調整した左耳からウェイトをコピーしたい。



左耳(ear01_l)から右耳(ear01_r)にウェイトをミラーコピーしていきます。

①メッシュを選択してオブジェクトデータプロパティを開きます。
右耳(ear01_r)のボーンに対応している頂点グループを削除します。


② 左耳(ear01_l)のボーンに対応している頂点グループをコピーします。


コピーしました。


③ コピーした頂点グループを選択して「頂点グループをミラー反転」


④ コピーした頂点グループを削除したグループの名前にリネーム(ear01_r)します。


右耳にウェイトコピーできました。



下記サイト参照させてもらいました。
助かりました。ありがとうございます。
https://w.atwiki.jp/mcforum/pages/64.html


■オブジェクトモードから編集モードに切り替えたらポーズが変わってしまったとき■
ウェイト調整して切り替えたときにアレ?ってときです。



↓オブジェクトモードから編集モードに切り替えたら
↓メッシュのポーズが変わってしまった。




その時は右のモディファイヤーのプロパティを開いて
下記の2つのアイコンをクリックするとメッシュにも変形が反映されます。。



■ポーズモードで動かしたボーンの回転を初期状態に戻す■
 ウェイト調整時にボーンを動かしてメッシュの変形具合を確認したりすると思いますが、
このボーンを初期状態に戻す方法です。

ポーズモードで2つのボーンを選択(複数可)して



ポーズ/トランスフォームをクリア/「すべて」



戻りました。



Blenderでセットアップ② スキニング(バインド)

2019-12-09 22:10:15 | Blender
blenderでスキニングの流れ

※)キーマップは Mayaに近い【IndustryCompatible】にしてます。

■スキニング(バインド)
ボーンを作成後、オブジェクトモードにして「ビューポート」上で「メッシュ」を選択、
Shiftをおしながら「ボーン」を選択して オブジェクト/ペアレント/自動ウェイトで



■骨を「オイラーXYZ」にする
ポーズモードでどれでもよいのでボーンを選択「Ctrl」+「A」で全ボーンを選択して
「Alt」を押しながら「オイラーXYZ」にします。



■ウェイトをザックリ調整
オプションの自動正規化をチェックしてウェイトの合計値を1にします。


最初は「ドロー」でザックリ塗っていきます。

「Shift」+左クリックで影響を受けている骨を選択できます。

「ぼかし」や「平均化」で調整していく流れです。ザックリですけど。。


■インフルエンス(影響を受ける骨)の数を変更する
 メッシュ選択して「ウェイトペイント」にして ウェイト/合計を制限



ビューポートの左下にメニューがでてきます。今回はインフルエンス2にしてみました。




Blenderでセットアップ① 骨(ボーン)を作成

2019-12-09 18:32:11 | Blender
blenderで骨を作成します。

※)キーマップは【IndustryCompatible】にしてます。

▼ボーンを作成する
 追加/アーマチュア/単一ボーン

・ボーンを足す。
 押し出し(Ctrl+E)でボーンを追加していきます。

▼ボーンを接続する
 子ボーンを選択し、親ポーンを選択して
  右クリック/アーマチュア/ペアレント/作成/接続

▼尻尾など用のボーンを別途追加する
 子ボーンを選択し、親ボーンを選択して
  右クリック/アーマチュア/ペアレント/作成/オフセットを保持
   ※現状の位置で接続されます。


耳なんかのボーンも。



▼解除するときは
 子ボーンを選択し、親ボーンを選択して
  右クリック/アーマチュア/ペアレント/クリア


▼骨を左右対称にコピー(もしくは位置の調整)する
 対称にしたい元のボーンすべてを選択して アーマチュア/対称化




※)文字列で判断されるようなのであらかじめボーン名称の末尾を
 「_L」等にしておくと問題が起こりにくいみたいです。