Author Archives: lovewcycle

UnrealでEditor拡張 AssetActionUtility

この記事ではUnrealEngine5.3を使用しています。

AssetActionUtilityを使用してAssetを右クリックして項目を追加する拡張が便利だったので
C++で作成したクラスを継承してBluePrintで使おうとしたときに気がついが事をメモ。

RuntimeのクラスでAssetActionUtilityを継承しても
BluePrint側にParent対象のクラスとして出てこない

C++の新しいクラス追加時にAssetActionUtilityを親クラスに指定できますが
ここでRuntimeを指定して作ってしまうと
BluePrint側にParent対象のクラスとして出てきません。

これを解決するためにはEditorを指定する必要があります
新規プロジェクトで外部からプラグインなどを一切入れていない場合
Editorが選択肢に出てこない場合があります。

これを解決するためにEditorを指定したモジュールを追加する必要があります。

モジュールの追加について
株式会社ヒストリア様のこちらの記事が参考になりました。
[UE4] モジュールについて

Editorモジュールを追加後Blueprintから作成したクラスが指定できるようになりました。

余談
作成したBluePrintもEditorでしか使用しないのはどうやってマークするのだろうか…
UnityのEditorフォルダみたいな機能があるのか…

Unity2019でアニメーションがおかしくなった話

イマイです

Unity2019LTSが発表されたので早速新規プロジェクトにも導入してみたのですが
モデルのインポート周りでうまくいかなかったよってことを書いておきます

発生していた問題

モデルにボーンアニメーションをつけてインポートしてEditor上で再生してみたところ
モデリングソフトの挙動と違う…!
となっていました

Unity2018で確認したところ問題なく再生されておりエディタのインポート設定が怪しいなと思いました。

解消方法と原因
この問題が発生していた原因は
インポートしたモデルの頂点のボーンの影響数が2を超えていたところにありました。

モデルのインポート設定のRigのメニューでは
SKinWeightがStandard4 (Bones) になっており
問題ないように見えるのですが

Edit > ProjectSettingのQualityの項目をみてみると…

デフォルトで2Bonesに設定されている!
(ちなみに2018だと4Bonesでした)

ここを4Bonesに設定し直すことで問題なくアニメーションが再生されました。
めでたしめでたし。

プロジェクトの初期設定でURPを選択しているとここが2Bonesにデフォルト設定されることが今回の問題の原因だと考えられます。
ライトな端末向けだから自動でインポート設定もライトにされちゃうんですね〜

影響が2Boneでアニメーションってかなり難しいと思うんですがこの辺Unityはどう思ってるんでしょうかねぇ…?