2022-01-01から1年間の記事一覧

【UE5】RealityScanでスキャンしたモデルをUnreal Engineに配置してみた

この記事は、”Unreal Engine (UE) Advent Calendar 2022 その2" の5日目の記事となります。qiita.com本記事では、先日12月1日にリリースされた3Dスキャンアプリ「RealityScan」でスキャンしたモデルを Unreal Engineエディターのレベル上に配置するまでの手…

【UE5】Unreal Fest 2022 レポート(4)

shuntaendo.hatenablog.com 35 UE5 Features You Probably Don't Know About - おそらくあなたが知らないUE5の35の機能 エディター ブループリント マテリアル エフェクト 物理 アニメーション UI サウンド The Unbreakable Team: Maintaining Build Stabili…

【UE5】Unreal Fest 2022 レポート(3)

shuntaendo.hatenablog.com How to Create Scripting Tools That Designers Love - デザイナーが好むスクリプトツールの作成方法 概要 アクター間の連携方法 手書きスクリプト 設定手順の簡略化 Working with Data in Unreal Engine 5 - UE5でのデータ管理 …

【UE5】Unreal Fest 2022 レポート(2)

shuntaendo.hatenablog.com Building Open Worlds in Unreal Engine 5 - UE5でオープンワールドを構築する 概要 Open World テンプレート デバッグ UE4からの変換 World Partition Editor Packed Level Actor Improving Developer Iteration in Unreal Engin…

【UE5】Unreal Fest 2022 レポート

この記事は、”Unreal Engine (UE) Advent Calendar 2022 その2" の3日目の記事となります。qiita.com 10月にニューオーリンズにて開催された Unreal Fest 2022 のゲーム系の講演についてレポートを書いてみました。要点を絞って書いているため、講演の全…

【UE5】Unreal Fest 2022 レポート(1)

shuntaendo.hatenablog.com Making Better Blueprints - より良いブループリントを書こう 脱スパゲッティ化 Tickを正しく使う Soft References Blueprint Debugger BP Header Tool Construction Script Editor Utility Geometry Script クラスの継承 Data Ta…

【UE5】独自のテンプレートレベルを追加する

UE5 で新しくレベルを作成する際に、下のようなウィンドウが出ます。このレベル候補に独自のレベルを追加することができます。 UE4 では ini ファイルを編集したりと少し手間があったのとエディタ上の機能ではできませんでした。参考↓ youtu.be UE5 からエデ…

【UE5】既存レベルを World Partition 化する手順やトラブルシューティング

UE5 からオープンワールドプロジェクト向けのレベルストリーミング機能として World Partition という仕組みが追加されました。docs.unrealengine.com レベル作成時のテンプレートでも OpenWorld が追加されており、World Partition 有効のレベルを作成でき…

無料UEコンテンツ紹介25「2022年6月の無料コンテンツ」

今月の無料アセットを紹介します。 購入(無料)しておけば、永続的に使用できるので購入だけでもしておくのをおすすめします。先月の紹介記事↓ shuntaendo.hatenablog.com [SCANS] Construction Site: Loader MoveIt! Multiplayer Locomotion System (V2.0)…

【UE5】膨大なアセットの中から素早くアセットにアクセス

開発が進みアセットが増えてくると編集したいアセットを見つけるのも一苦労、なんてことになった経験の方も少なくないと思います。 特にマーケットプレイスのアセットを多く利用したプロジェクトだと買ったアセットごとにフォルダの構造が違い、整理するのも…

無料UEコンテンツ紹介24「2022年5月の無料コンテンツ」

今月の無料アセットを紹介します。 購入(無料)しておけば、永続的に使用できるので購入だけでもしておくのをおすすめします。先月の紹介記事↓ shuntaendo.hatenablog.com Stone Pine Forest Niagara Mega VFX Pack vol. 1 Sunset - Modular Medieval Brick…

【UE5】ステート間の遷移処理を制御する

前回、ステート間の遷移条件の一例としてアニメーションの経過時間で遷移させる方法を紹介しました。shuntaendo.hatenablog.com 今回は各遷移ノードの詳細パネルから設定することで遷移の遷移時間を調整したり、ブレンド処理を制御する方法を紹介していきま…

【UE5】アニメーションの経過時間でステートを遷移させる

アニメーションを管理するステートマシンでは、ステート間の遷移ルールを作ってアニメーションを制御します。 アニメーションの経過時間を取得するノード郡を使うことで「アニメーションが終わりそうになったら次のステートに遷移」というような遷移ルールを…

【UE5】UEプロジェクト一式を共有する際に必要なフォルダ一覧

UEプロジェクト一式を共有する際にプロジェクト名以下のフォルダを全て渡してしまうと中間ファイルなども多く含まれた状態で渡すことになってしまうので、確認したいファイル以外も含まれていたり、必要以上に重いファイルを渡すことになってしまうこともあ…

【UE5】Spring Arm を使いこなす

主にオブジェクト間の距離を調整するために使われる Spring Arm というコンポーネントがあります。ThirdPerson テンプレートでも BP_ThirdPersonCharacter 内でカメラとキャラクターの距離を調整するために使われています。よくカメラとキャラの間に使われが…

【UE5】Wind Directional Source を使ってクロスを揺らす

『風』を起こす方法の1つとして、Wind Directional Source Component を使う方法があります。 このコンポーネントは、Cloth や Speed Tree に影響を与える風を作ることができて、大分昔に Unreal Engine に追加されました。UE5 になり Chaos Cloth になった…

【UE5】BP で Float から Int へ変換する際の注意

C++ で Float値(実数)から Int値(整数)に直接代入する際に小数が切り捨てられるのと同様にブループリントでも Float ピンを Int ピンに直接繋げると Truncate ノードが間に生成され、切り捨てられます。1.1 → 1 1.9 → 1 変換時に切り上げや四捨五入した…

【UE5】ARでカメラに3Dオブジェクトが追従してしまう場合の対処法

AR プロジェクトをパッケージし、実際に実機で動かすと端末を持って物理的に動いてもレベル上のアクター(3Dオブジェクト)がどこまでいってもついてきてしまう場合があります。この現象に遭遇した場合、PlayerController に紐づいている Pawn にカメラがぶ…

【UE5】意図的に特定のスレッドをスリープさせる

FPlatformProcess::Sleep を使うことで実行したスレッドを指定した秒数、スリープさせられます。意図的にスリープし、他スレッドの処理や外部の処理を待ちたい場合などに使えるかと思います。 #include "HAL/PlatformProcess.h" bool wait = true; while (wa…

【UE5】エディタ上でUVの編集

UE5 から UV Editor というプラグインが追加され、エディタ上で UV を編集できるようになりました。 ※ まだ実験的機能(Experimental)となっています。 プラグインを有効にして、コンテンツブラウザから Static Mesh か Skeletal Mesh アセットを右クリック…

【UE5】エディタでプレイ中か判定する

UWorld の EWorldType を確認すると現在のワールドの状態を取得することができます。ワールドの状態は以下のものがあります。・None ・Game ・Editor ・PIE ・EditorPreview ・GamePreview ・GameRPC ・Inactive この中でも Editor と PIE を使うことで、エ…

【UE5】ブループリント公開の関数を protected 扱いにする

ブループリントで作った関数であれば Access Specifier を Protected にすることで他のクラスからのアクセスを制限できます。 C++でも下のように定義すれば protected 扱いになると思いきや、BP側では他のクラスからもアクセスできてしまいます。 protected:…

【UE5】押す長さによってジャンプの高さを変える

Character クラスのジャンプの挙動はデフォルトだと、ジャンプボタンを押して Jump 関数が実行され、毎回決まった高さまでジャンプします。これを押す長さによって高さが変わるように実装したいと思います。 1.Third Person テンプレートでプロジェクトを…

【UE5】const関数をPure扱いにしない方法

下のような const関数 の場合、ブループリントグラフ上では Pure 扱いとなります。 UFUNCTION(BlueprintCallable) TArray<AActor*> GetEnemyActors() const; しかし、Pure関数は戻り値が参照される度に評価(実行)されるため、上の画像のケースのような場合だと処理</aactor*>…

【UE5】マテリアルでメッシュを回転させる

FixRotateAboutAxisNormals と RotateAboutWorldAxis_cheap というマテリアルファンクションを使うことで回転させることができます。 下のように組みました。 こんな見た目になります。 RotateSpeed を変更することで回転速度が変わります。 RotateAxis を変…

【UE5】ポーズ中にカメラを動作させる

ポーズ中にカメラを動かす方法を書いていきます。 いわゆるフォトモードの実装とかの参考になればと思います。 ポーズ中にアクターを動作させる まずはポーズ中に動かしたいアクターの設定をしていきます。 今回はカメラのみ動作させる想定なのでカメラアク…

【UE5】エディタのレイアウトの保存と読み込み

Window タブの Layout カテゴリから、エディタのレイアウト(各ウィンドウの配置)を保存 / 読み込みすることができます。 デフォルトのレイアウトから自分好みに変更したり、作業やプロジェクトによって変更することで作業の効率化に繋がるかと思います。 …

【UE5】State Alias を使ったアニメーションステートの制御

Unreal Engine ではステートマシンを使うことでアニメーションを状態ごとに制御することができます。docs.unrealengine.com ステートマシンでは State ノード同士を繋げて各ノードの間に遷移条件を追加してアニメーションを制御しますが、UE5 からは加えてSt…

【UE5】サブメニュー内で検索する

UE5 からタブ選択時や右クリック時に表示されるサブメニュー内で検索がかけられるようになりました。サブメニュー表示中に文字を入力すると検索バーが表示され、文字列を含む項目だけ表示されるようになります。 UE Version : 5.0.0-19505902

【UE5】Console Variables Editor プラグインを活用する

UE5 から Console Variables Editor プラグインが追加されました。よく使うコンソールコマンドをアセットにまとめて、コマンドを入力せずボタンから実行したり、値をスライダーで操作したりできるようになります。 1.プラグインの有効化 プラグインを有効…