akyboxブログ

旧AkiIroブログ

【UE5】CharacterMovementComponentはPawnがControllerに所有されていないと入力を受け付けない

本文

CharacterMovementComponentに対してAddMovementInputしているにも関わらず、Characterが動かないことがありました。

CharacterMovementComponentのソースコードを確認するとControllerがない場合、移動処理をしないようです。

最も手軽な解決策としてはRunPhysicsWithNoControllerを有効にすることです。

以上、参考になれば幸いです。

検証環境

  • Windows 10
  • UE: Version: 5.1.1-23901901+++UE5+Release-5.1

【UE】非データ専用ブループリントをデータ専用ブループリント(data only blueprint)に戻す

データ専用ブループリント(data only blueprint)

固有のスクリプトも変数もない場合、ブループリントを開いたとき以下のようになります。

これにスクリプトを追加するなどして変更した後でも、
スクリプトや変数をキレイに削除すれば 、またデータ専用ブループリントに戻すことができます。

注意点としては何もしていないノードも消すことです。

何もしていませんが、削除しないとデータ専用ブループリントには戻りません

スクリプトや変数が必要のないブループリントはデータ専用ブループリントになっていると不具合調査などで便利です。

以上、参考になれば幸いです。

本件についてのフォーラム

forums.unrealengine.com

【UE】エンジンプラグインをプロジェクトプラグインとして使う

エンジンプラグインをプロジェクトプラグインとして使いたい時があると思います。
例えば複数人でのプロジェクトでプラグインをバージョン含め統一したい時などです。

エンジン プラグインは、すべてのプロジェクトで使用できること以外はプロジェクト プラグインと同じです。
このことは公式のドキュメントにも明記されています。

docs.unrealengine.com

従ってエンジンプラグインフォルダにあるプラグインをプロジェクトプラグインフォルダに持ってくればOKです。

エンジンプラグインフォルダ

[Unreal Engine Root Directory]/Engine/Plugins/[Plugin Name]/

プロジェクトプラグインフォルダ

[Project Root Directory]/Plugins/[Plugin Name]/

なお、マーケットプレイスで取得したプラグインはPluginsの下にMarketplaceフォルダができ、その中にあります。

プロジェクトプラグインフォルダにコピーします。

エンジンの方にインストールされたプラグインは消してしまいます。
ランチャーからインストールしているならランチャーから消すことができます。

プロジェクトをUnrealEngineで開けばプラグインがあるはずです。

以上、参考になれば幸いです。

【UE】AdvancedThirdPersonCameraの使い方

公式のクイックスタート動画

www.youtube.com

カメラモードの追加方法

公式のクイックスタートは終わっている前提です。
備忘録としてカメラモードを追加する手順を抜き出してまとめています。

1.GamePlayTagを追加する。

2.データアセット ATPCCameraModeDataAssetを用意する。

データアセットを編集してタグを設定

3.ATPCCameraコンポーネントにタグを登録する。

この項目の調査バージョン

Advanced Third Person Camera 1.2.9

モード間の補間速度の調整方法

各モードの補間項目ごとにInterp SpeedInterp Speed to Interpolationという項目があり、そこで調整するようです。
Interp Speed to Interpolationは、おそらく(補間速度ではなく)補間加速度のようなものと思われます。

Interp Speedを変更しても思うように速くならない場合はInterp Speed to Interpolationを変更するのがよさそうです。

詳しくは下記のChangelogが参考になります。

https://forrgit.gitbook.io/advanced-third-person-camera/changelog#1.2.0-2021-03-01

この項目の調査バージョン

Advanced Third Person Camera 1.2.9

【Perforce】覚え書き

p4をコマンドラインで使った時に詰まったこと、忘れがちなことを書き留めます。

p4コマンドはどのワークスペースに対して動作するのか

デフォルトでは環境変数P4CLIENTで指定されたワークスペースに対して動作します。

環境変数が設定されていない場合、環境変数COMPUTERNAMEの値が使われます。(Windowsの場合)

www.toyo.co.jp

明示的にあるワークスペースに対してコマンドを実行したい場合はグローバルオプション-cを使えば可能です。
例えばワークスペースhogeに対してp4 syncをしたいときは下記のようになります。

p4 -c hoge sync

www.toyo.co.jp

それぞれのワークスペースの設定はどこでみれるのか

p4 clientコマンドを使います。

www.toyo.co.jp

この際、ワークスペースを指定するのにグローバルオプションは使いません。

例えばワークスペースhogeの設定を変更したいときは下記のようになります。

p4 client hoge

テキストエディタで設定ファイルが開くので適宜編集します。

【UE】Failed to import 'C:/Program Files/Epic Games/UE_5.1/FeaturePacks/StarterContent.upack'

症状

プロジェクトのリネームを行った際、ランチャーからプロジェクトを開くとダイアログで下記のワーニングが出るようになりました。

Failed to import 'C:/Program Files/Epic Games/UE_5.1/FeaturePacks/StarterContent.upack'. Failed to create asset '/Game/StarterContent'. Please see Output Log for details.

調べてみると5.0環境の記事がフォーラムにありましたが、これでは解決しませんでした。

forums.unrealengine.com

解決

原因はバージョン管理ソフト(今回はPerforce)がファイルをロックしていることでした。

ロックを取得(読み取り専用を解除)することでワーニングがでなくなりました。

環境

  • Windows 10
  • UE Version: 5.1.0-22491701+++UE5+Release-5.1

【UE】Default Property warnnings and errors: Failed to find... への対処

ありがちな原因はファイル移動

ファイルを移動させた際などに参照が破壊されて発生します。

移動を正しい手順で行っていないことが原因であることが多いと思いますが、
正しい手順で移動していても発生することがある…ような気がしています。

まず試してみること

ReferenceViewer(参照ビューワ)で参照を確認してみることをおすすめします。
消してしまったファイルへの参照を見つけられればそれが原因のはずです。

最終手段としてプロジェクトのリビルド

私の手元では上記を試しても原因が見つかりませんでした。

私のケースではC++プロジェクトで発生したのですが
cppファイルに下記のようにパスがハードコードされていました。

BluePrintFile(TEXT("/Game/MyProject/ClassName"));

そこで次の手順でクリーンにプロジェクトのリビルドを行うことで改善しました。*1
(ちなみにVisualStudioからビルドしなおしただけでは改善しませんでした)

0.UEを閉じます。

1.下記のフォルダを削除します。

2.VisualStudioからソリューションのビルドを行います。*2

3.UEを起動して改善を確認する。

以上です。

環境

  • Windows 10
  • UnrealEngineバージョン:5.0.3-20979098+++UE5+Release-5.0

参考

forums.unrealengine.com jackpot-lab.hateblo.jp

*1:経験上、C++プロジェクトにおけるUEの不調は大体これで直ります。

*2:右タブからプロジェクトのビルドを行うのが普通(のはず)ですが、 経験上それで上手くいく時と上手くいかないときがあります。わかり次第、追記します。わかる方はコメント願います。