fc2ブログ

凛(kagring)のUE5/UE4とゲーム制作と雑記ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用ブログです。ゲーム制作に関するメモや雑記とか色々あります。C++ での Qt、Unity もほんの少しあります。

2022年04月 | ARCHIVE-SELECT | 2022年06月

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE5/UE4 C++の関数で複数の戻り値(返り値)を持つ

C++の関数で複数の戻り値(返り値)を持つ方法です。

こちらを参考にさせていただきました。

・UE4 C++で作ったBPの実行ピンや出力ピン、戻り値を複数にする方法メモ
https://tamfoi.hatenablog.com/entry/2016/06/02/095807

関数の戻り値(返り値)を複数持たせたい場合は、引数に「&」を付けてあげて参照にするだけで問題なさそうです。
こんな感じで引数「Value1」を参照にしてあげます。

UFUNCTION(BlueprintCallable)
void GetReturnValue2(int32& Value1);

結果はこんな感じになります。
戻り値を複数持つ001
無事参照にした引数「Value1」が戻り値となりました。

というわけで複数のパターンを検証してみました。

まずは普通の関数の書き方での戻り値の場合。

UFUNCTION(BlueprintCallable)
int32 GetReturnValue1();

結果はこんな感じになり、戻り値は「Return Value」で固定されるようです。
戻り値を複数持つ000

次に引数を参照にして一つ作成しました。

UFUNCTION(BlueprintCallable)
void GetReturnValue2(int32& Value1);

結果はこんな感じになり、引数の名称の戻り値が作成されました。
戻り値を複数持つ001

次に通常の戻り値と参照による戻り値を混ぜてみました。

UFUNCTION(BlueprintCallable)
int32 GetReturnValue3(int32& Value1);

結果はこんな感じでちゃんと複数になり、
それぞれ名称が「Return Value」と指定した「Value1」というものになりました。
戻り値を複数持つ002

最後に参照による戻り値を二つ設定してみました。

UFUNCTION(BlueprintCallable)
void GetReturnValue4(int32& Value1, int32& Value2);

結果はこんな感じに引数で指定した名称の戻り値が複数作成されました。
戻り値を複数持つ003

といったことから、個人的には特に関数名がわかりやすいもので一つだけの戻り値の場合は通常のものを使い、
戻り値の名称をきっちり設定したい場合は参照設定での戻り値にするのが良いのかなと思いました。

| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE5/UE4 C++で「Pure関数」を関数指定子(UFunction)を使って作成する(UFUNCTION(BlueprintCallable)、UFUNCTION(BlueprintPure))

C++で「Pure関数」を関数指定子(UFunction)を使って作成する方法です。

こちらを参考にさせていただきました。

・UE4: Blueprint 向けに提供する C++ 関数を pure に定義するメモ
https://usagi.hatenablog.jp/entry/2018/03/07/064323

公式ドキュメントもこちらを参考にさせていただきました。

・ブループリントのプログラミングのガイドライン
https://docs.unrealengine.com/4.26/ja/ProgrammingAndScripting/Blueprints/TechnicalGuide/Guidelines/

基本的には参考サイトに書かれている二つの方法でPure関数を作ることができます。

1. AActor などの派生型でメンバー関数を pure にしたい場合
UFUNCTION で BlueprintCallable フラグを付けたメンバー関数を const 定義すれば自動的に blueprint でも pure になる。
2. UBlueprintFunctionLibrary 派生型の static メンバー関数を pure にしたい場合
UFUNCTION で BlueprintCallable フラグに加えて BlueprintPure フラグも付ける。


まずは一つ目の「UFUNCTION」で「BlueprintCallable」フラグを付けたメンバ関数を const 定義する方法です。

UFUNCTION(BlueprintCallable)
int32 GetPureValue1() const;

こんな感じで const 定義したメンバ関数を作成して「UFUNCTION」に「BlueprintCallable」フラグを付けます。
BP で使うと結果はこんな感じに(DebugTest という Actor クラスで作りました)
Pure関数作成000
無事 Pure 関数になっているようです。

次に「UFUNCTION」で「BlueprintCallable」フラグと「BlueprintPure」フラグを設定する方法です。

UFUNCTION(BlueprintCallable, BlueprintPure)
int32 GetPureValue2();

こんな感じで「UFUNCTION」に「BlueprintCallable」と「BlueprintPure」を付けます。
BP で使うと結果はこんな感じに(DebugTest という Actor クラスで作りました)
Pure関数作成001
無事 Pure 関数になっているようです。

ただこれ、const 定義したものと「BlueprintPure」フラグを付けたものを比較すると、
「BlueprintPure」の方は「Target」が存在しないようになるのですがこれは一体…。。

ちょっとどこかで詳しく調べてみようと思います。
用途としてはどちらも問題なく使えるとは思いますが…。

| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE5 UMGでラウンドボックス(Rounded Box)を使って描画する(Rounded Box、Half Height Fixed Radius、Radius、Draw As、Brush)

UMGでラウンドボックス(Rounded Box)を使って描画する方法です。

こういうツイートを見かけました。
どうもUMGに「Rounded Box」の機能が追加されたようです。
※自分の方では UE5 では確認しましたが UE4 では未確認となります。

というわけでさっそく試してみました。

まずはUMG で「Rounded Box」を扱いたいウィジェットを配置します。
UMGRoundBox001.jpg
とりあえず「Border」を配置してみました。
普通通りなので四角形になっています(白がBorder。黒が背景)

「Rounded Box」を使うため、「Brush」の「Draw As」を選択して、一覧から「Rounded Box」を選択します。
UMGRoundBox000.jpg

するとこんな感じになりました。
UMGRoundBox003.jpg
四隅が丸くなっているのがわかります。

これは「ラウンディングタイプ(Raunding Type)」が「Half Height Radius」になっているためです。
UMGRoundBox002.jpg
高さの半分で均等に丸くしてくれるプリセットのようです。

「Half Height Radius」は自動で均等にやってくれるため、
次は「ラウンディングタイプ(Raunding Type)」を「Fixed Radius」を選択して細かく設定してみます。
UMGRoundBox004.jpg
上記画像にある「コーナー半径(Corner Radil)」などの赤枠の項目を変更することで細かい調整ができます。

試しに色々と設定してみました(「コーナー半径(Corner Radil)」のXとZに値を入れています)
UMGRoundBox005.jpg
するとこんな感じで左上と右下が丸くなりました。
「コーナー半径(Corner Radil)」のXが左上。Yが右上。Zが右下。Wが左下の丸くするサイズのようです。

一応エディタだけではなく実行して確認してみました。
UMGRoundBox006.jpg
ちゃんと「Rounded Box」が反映された状態で描画されているようです。

基本的には下記の画像にある赤枠の部分の値を変更することでいろいろと表現できるようです。
UMGRoundBox004.jpg

この機能はいろいろと使う場面がありそうな気がするので覚えておきたいですね。

| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE5/UE4 2022/05 の無料マーケットプレイスコンテンツと永続コンテンツ(Commercial Long-Range Aircraft | attben)

2022/05 の無料マーケットプレイスコンテンツと永続コンテンツのメモです。

公式情報はこちら。

・2022年5月の無料マーケットプレイスコンテンツ
https://www.unrealengine.com/ja/blog/featured-free-marketplace-content-may-2022

無料コンテンツについて書かれているサイトさんはこちら。

・無料UEコンテンツ紹介24「2022年5月の無料コンテンツ」
https://shuntaendo.hatenablog.com/entry/2022/05/04/132340

無料コンテンツについては期日がすぎると無料でなくなるので公式情報や他のサイトさんを見たほうが良いかと思います。
こちらでは永続コンテンツについてのメモを残しておきます。

・Commercial Long-Range Aircraft
https://www.unrealengine.com/marketplace/ja/product/commercial-long-range-aircraft
202205の無料コンテンツ000

Highly detailed passenger jet airplane with PBR Materials. Rigged+ Animated. Animation blueprint included to pose each of the included animated parts. Includes three fictitious airline liveries inspired by real airlines, that can be tinted in different colours plus a default 'white' paint job that can be painted/tinted with custom tint masks.
No Interior.

と書いてあるので、飛行機のメッシュとマテリアル、リグとアニメーションが入っているようです。
内装なしとあるので、基本的には外観のみとなるようです。

Number of Unique Meshes: 1 (aircraft), 7 (collision)
Collision: Yes, Custom (7 meshes)
Triangle Count: 56765
Vertex Count: 57209
LODs: Yes
Number of Materials and Material Instances: 6, 1 instance per livery per fuselage part (3x3)
Number of Textures: 3 per material (Base, Normal, Occlusion+Rough+Metal)
Texture Resolutions: 4K
Supported Development Platforms:
Windows: YES
Mac: YES

メッシュは一つでマテリアルでバリエーションを持っているようです。

| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE5/UE4 ビヘイビアツリー(Behavior Tree)のデコレーター(Decorator)を作成する(BTDecorator_BlueprintBase、Perform Condition Check)

ビヘイビアツリー(Behavior Tree)のデコレーター(Decorator)を作成する方法です。

こちらを参考にさせていただきました。

・ビヘイビアツリー-Decorator
http://com04.sakura.ne.jp/unreal/wiki/index.php?%A5%D3%A5%D8%A5%A4%A5%D3%A5%A2%A5%C4%A5%EA%A1%BC-Decorator

・UE4 「ビヘイビアツリーのクイックスタートガイド」 を修正してみた。
https://siu3.hatenablog.com/entry/2015/03/29/100517

公式ドキュメントはこちら。

・ビヘイビアツリー
https://docs.unrealengine.com/5.0/ja/behavior-trees-in-unreal-engine/

ビヘイビアツリー(Behavior Tree)のデコレーター(Decorator)を作成するには
「BTDecorator_BlueprintBase」を継承したBPを作成します。
ビヘイビアツリーデコレーター作成000

こんな感じのBP(BTD_Test)を作りました。
ビヘイビアツリーデコレーター作成001

作成したBPを開いて「Perform Condition Check」関数を Override します。
ビヘイビアツリーデコレーター作成002
デコレーター(Decorator)の条件はこの関数に記述することになります。

「Perform Condition Check」関数はこんな感じになります。
ビヘイビアツリーデコレーター作成003
「Owner Actor」は「AI Controller」となります。
「Return Value」は条件の真偽を設定します。

基本的にはあとはどんな条件なのかを記述していくだけになります。簡単ですね。

あとは実際にビヘイビアツリー(Behavior Tree)に設定してみます。
ビヘイビアツリーデコレーター作成005
こんな感じになりました。
基本的には条件を書いていくだけなのでわかりやすいのかなと思います。

あとは「Perform Condition Check」関数では「Owner Actor」として「AI Controller」が取得できます。
この「AI Controller」から「Get AI Controller」→「Get Controlled Pawn」とすることで
AI が適用されているキャラクターを取得
することができます。
ビヘイビアツリーデコレーター作成004

それと、ビヘイビアツリー(Behavior Tree)のデコレーター(Decorator)は変数を持つことができ、
ビヘイビアツリーでデコレーターを設定する際に個別に設定
することができるようです。

試しに変数を追加してみました。
ビヘイビアツリーデコレーター作成006
こんな感じで「Bool型」の変数を作ってみました。
目のアイコンをクリックして公開設定にするのを忘れないようにしましょう。

これを実際にビヘイビアツリー(Behavior Tree)でデコレーター(Decorator)を作成してみるとこんな感じになります。
ビヘイビアツリーデコレーター作成008
先ほど作成した変数「Is Check」が表示されているのがわかります。

このデコレーターの詳細設定から、先ほど作成した変数を変更することができます。
ビヘイビアツリーデコレーター作成007
こちらもこんな感じで詳細に「Is Check」という設定項目が増えています。

といった感じで、デコレーター自体は普通のBPと同じような処理ができるので結構いろいろな条件が作れるんじゃないでしょうか。

| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE5/UE4 ビヘイビアツリー(Behavior Tree)のタスク(Task)の基本的なイベント処理と変数について(Event Recieve Execute、Event Recieve Tick、Event Recieve Abort、Finish Execute、Get AI Controller、Get Controlled Pawn)

ビヘイビアツリー(Behavior Tree)のタスク(Task)の作成と基本的なイベント処理と変数についてのメモです。

こちらを参考にさせていただきました。

・ビヘイビアツリー-Task
http://com04.sakura.ne.jp/unreal/wiki/index.php?%A5%D3%A5%D8%A5%A4%A5%D3%A5%A2%A5%C4%A5%EA%A1%BC-Task

公式ドキュメントはこちら。

・ビヘイビアツリー
https://docs.unrealengine.com/5.0/ja/behavior-trees-in-unreal-engine/

ビヘイビアツリー(Behavior Tree)のタスク(Task)には以下の3つの基本的なイベントがあります。
>Event Recieve Execute : このTaskに入った際に1度だけ呼び出される
Event Recieve Tick : このTaskに入った後、「FinishExecute」を呼ぶまで毎フレーム呼び出される
: このTaskが処理中に中断された時に呼び出される?


・「Event Recieve Execute」
ビヘイビアツリータスク作成002
このタスクが実行される際に1度だけ呼び出されます。
1度だけの処理で終わる場合はここに記述するのがよさそうです。
「Owner Actor」は「AI Controller」となります。

・「Event Recieve Tick」
ビヘイビアツリータスク作成003
このタスクが実行される際に「Finish Execute」を呼ぶまで毎フレーム呼び出されます。
継続して行われる処理はここに記述するのがよさそうです。
「Owner Actor」は「AI Controller」となります。

・「Event Recieve Abort」
ビヘイビアツリータスク作成004
このタスクが実行中に中断された時に呼び出されるようです。
「Owner Actor」は「AI Controller」となります。

各イベントには「Owner Actor」として「AI Controller」が取得できます。
この「AI Controller」から「Get AI Controller」→「Get Controlled Pawn」とすることで
AI が適用されているキャラクターを取得
することができます。
ビヘイビアツリータスク作成007
こんな感じですね。

上記を組み合わせて使うとこんな感じになります。
ビヘイビアツリータスク作成008
「Delay」によって3秒後に「Finish Execute」が実行されタスクが終了します。
終了売るまでの間「Add Actor World Rotation」によってキャラクターが回転し続けます。

ビヘイビアツリー(Behavior Tree)のタスク(Task)は変数を持つことができ、
ビヘイビアツリーでタスクを設定する際に個別に設定
することができるようです。

試しに変数を追加してみました。
ビヘイビアツリータスク作成011
こんな感じで「Float型」の変数を作ってみました。
目のアイコンをクリックして公開設定にするのを忘れないようにしましょう。

これを実際にビヘイビアツリー(Behavior Tree)でタスク(Task)を作成してみるとこんな感じになります。
ビヘイビアツリータスク作成012
先ほど作成した変数「Time Rotation」が表示されているのがわかります。

このタスクの詳細設定から、先ほど作成した変数を変更することができます。
ビヘイビアツリータスク作成013
こちらもこんな感じで詳細に「Time Rotation」という設定項目が増えています。

といった感じで、タスク自体は普通のBPと同じような処理ができるので結構いろいろなタスクが作れるんじゃないでしょうか。

| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE5/UE4 ビヘイビアツリー(Behavior Tree)のタスク(Task)の作成とビヘイビアツリー(Behavior Tree)へ設定をする(BTTask_BlueprintBase、Event Recieve Execute、FinishExecute)

ビヘイビアツリー(Behavior Tree)のタスク(Task)の作成とビヘイビアツリー(Behavior Tree)へ設定をする方法です。

こちらを参考にさせていただきました。

・ビヘイビアツリー-Task
http://com04.sakura.ne.jp/unreal/wiki/index.php?%A5%D3%A5%D8%A5%A4%A5%D3%A5%A2%A5%C4%A5%EA%A1%BC-Task

公式ドキュメントはこちら。

・ビヘイビアツリー
https://docs.unrealengine.com/5.0/ja/behavior-trees-in-unreal-engine/

ビヘイビアツリー(Behavior Tree)のタスク(Task)を作成するには
「BTTask_BlueprintBase」を継承したBPを作成します。

新規作成で「ブループリントクラス」を選択。
ビヘイビアツリータスク作成000

「BTTask_BlueprintBase」を指定します、
ビヘイビアツリータスク作成001

作成されたBPを開いて「Event Recieve Execute」イベントを作成します。
ビヘイビアツリータスク作成002

Event Recieve Execute : このTaskに入った際に1度だけ呼び出される

とあるとおり、一度だけ呼び出されるイベントになります。
「Owner Actor」は「AI Controller」となります。

Event Recieve Tick : このTaskに入った後、「FinishExecute」を呼ぶまで毎フレーム呼び出される
Event Recieve Abort : このTaskが処理中に中断された時に呼び出される?

他にも上記のようなイベントがありますが、また別途ということで…。

次にタスクを終了させるため「FinishExecute」ノードを作成します。
ビヘイビアツリータスク作成005
成功の場合には「Success」を「True」にします。

というわけで上記をつなげるとこんな感じになります。
ビヘイビアツリータスク作成006

これでタスク(Task)の作成自体は完了です(中身は何もないですが)
最後にビヘイビアツリー(Behavior Tree)でこのタスクを使ってみます。

ビヘイビアツリー(Behavior Tree)を開いて、Task を設定します。
ビヘイビアツリータスク作成009
「Tasks」の中にある先ほど作成したタスク「BTT_Test」(という名前でタスクを作りました)を指定します。

するとこんな感じで無事タスクが実行されるようになりました。
ビヘイビアツリータスク作成010

ここまでできればあとはタスクの中身をばりばり書くだけですね!

| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE5/UE4 C++でアクター(Actor)をスポーン(Spawn)する(LoadSynchronous、FSoftObjectPath、SpawnActor)

C++でアクター(Actor)をスポーン(Spawn)する方法です。

こちらを参考にさせていただきました。

・[UE4] C++で動的にアクターを生成(スポーン)する方法で一番実用的だった方法
https://qiita.com/Kuroyanagi96/items/7849dfaed83fc8df5741#%E5%8F%82%E8%80%83

・【UE4】同期的なアセットのロード方法とデメリット
https://qiita.com/4_mio_11/items/00de94dbb6b6ed59176f

・UE4: C++ コード から C++ クラスまたは Blueprint のアクターを FindObject して SpawnActor する方法
https://usagi.hatenablog.jp/entry/2017/10/17/123000

参考にさせていただいたサイトにいくつかの方法が書いてあるのですが
自分の中でも一番使いやすそうなのでこちらだったので、こちらについて記載しています。

他の方法については参考サイトを見ていただければと思います。

わかりやすく簡単なアクター(Actor)をスポーン(Spawn)する書き方はこちら。

// アクターのパス。BP_Actor を生成したい場合は後ろに「.BP_Actor_C」を追加する
FString aAssetPath = "/Game/BP_Actor.BP_Actor_C";

// アセットを読み込む(同期)
TSubclassOf< AActor> aActorClass = TSoftClassPtr< AActor>(FSoftObjectPath(*aAssetPath)).LoadSynchronous();
if(aActorClass != nullptr){

// スポーン
TObjectPtr< AActor> aActor = GetWorld()->SpawnActor< AActor>(aActorClass);

// スポーンしたアクターへ何か処理をしたい場合
aActor->SetXXX();

}

「LoadSynchronous」関数でアセットを読み込んで「SpawnActor」で生成するといった感じですね。
かなりシンプルなので個人的にはこれでよいのかなと思います。

「SpawnActor」関数にクラスを渡すだけでスポーンすると地面の中などだとどうも失敗することがあるようです。
なので、下記のように「FTransform」を渡してスポーンしたほうが良いと思われます。

FTransform aTransform;
TObjectPtr< AActor> aActor = GetWorld()->SpawnActor< AActor>(aActorClass, aTransform);


あとは、あるとしたら同期処理になってしまっているので、これを非同期に改良するといったところでしょうか。

| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

第1回福岡インディーゲームサミット(福岡インディーゲーム協会)

第1回福岡インディーゲームサミットが開催されて参加してきたのでメモです。

公式はこちら。

・5月4日『第1回福岡インディーゲームサミット』開催
https://indiegamesjapan.com/archives/2022/04/16028/

というわけでアーカイブも用意されているので観るのをオススメします!

・第1回福岡インディーゲームサミット【#FUKIGS2022】

各インディーデベロッパーさんのお話も面白かったですし、
海外のデベロッパーさんのインタビューで心構え的な話も聞けたのが面白かったです。

というわけで自分の中でのメモを書いておきます。

・CAVYHOUSE 善乃様 @cavyhouse(00:15:12~)
https://youtu.be/kYQkJiKdDsI?t=913

・Pop様 @twt_paul(02:14:30~)
https://youtu.be/kYQkJiKdDsI?t=8070

海外のデベロッパーさんへのインタビューで心構えとしてのお話があったのでこちらもメモです。

・Pillow Castle Games様 「Superliminal」(00:45:47~)
https://youtu.be/kYQkJiKdDsI?t=2747

「もしゲームを作りたいだけだったら、CapcomやBandai Namucoなどの会社で働くほうが良いでしょう。
しかし、もしあなたが何か特別なものを作りたかったら、自分で、あるいは他の人に助けてもらいながらやるしかありません。」
「大切なのは最善を尽くして最高のゲームを作ることで、お客様が興味を持って遊んでくれることです。」
「誰かがあなたに成功する方法を知ってるいるよと教えたら、その人は嘘をついていると思います。」
「成功するまでは長い道のりがあるので、すぐに成功出来ると期待しないことが重要だと思います。」
「言いたいのは、全部の問題を自分で解決しないで周りの人に頼りましょう、ということです。」


・Die of Death Games様 「Rogue Tower」(01:05:29~)
https://youtu.be/kYQkJiKdDsI?t=3929

「私が言いたいアドバイスはマーケティングの視点からゲーム制作を見てみることです。」
「ただ、広告のような単調で古いマーケティングのやり方で宣伝するのではなく、商品(ゲーム自体)を見たら買いたくなるように宣伝しましょう。」
「私はもらったフィードバックの視点からゲームを見てみました。このゲームは完璧ではないので、ネガティブなフィードバックに対して深く悩む必要がないのです。」


・Worldwalker Games様 「Wildermyth」(01:37:51~)
https://youtu.be/kYQkJiKdDsI?t=5871

「西洋人の私たちはそういうのが好きなので、わざわざ私たしのセンスに合わせないで自分なりのゲームを作りましょう。」


・Luis Antonio様 「Twelve Minutes」(01:57:29~)
https://youtu.be/kYQkJiKdDsI?t=7049

「イベントに参加して新しい友達と出会ったり新しい知識を学んだりするような機会を掴みましょう。」
「インディ開発者として最も大きかったことは助けてくれる他の開発者に出会うことです。」
「他の開発者と同じミスを犯さないように、人間関係を築いて彼らの経験から学びましょう。」
「ゲーム制作はすごく時間が掛かって、未知もいっぱいあるので、制作を楽しむことが重要だと思います。」


イベントに参加して思ったのですが、福岡インディーゲーム協会(FIGA)公式さんって
結構珍しくゲーム会社と連携してるわけではなく、経営学などの学問とか、
おそらく「ゲームを作る側じゃない」視点からの発足になってるっぽくて今後どうなるかすごく興味があります!

10月にはリアルイベントもやるかもということなので楽しみですね!

| 雑記 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE5/UE4 アニメーション ブループリント(Animation Blueprints)のステートマシン(State Machines)でアニメーション終了時に自動で次のステートに遷移する(Automatic Rule Based on Sequence Player in State)

アニメーション ブループリント(Animation Blueprints)のステートマシン(State Machines)でアニメーション終了時に自動で次のステートに遷移する方法です。

こちらのツイートを見かけたので試してみました。
「Automatic Rule Based on Sequence Player in State」にチェックを入れるだけでよいみたいですね。

公式ドキュメントはこちらに。

・遷移ルール(Transition Rule)
https://docs.unrealengine.com/4.27/ja/AnimatingObjects/SkeletalMeshAnimation/StateMachines/TransitionRules/

とりあえずやってみました。
まずは「アニメーション ブループリント(Animation Blueprints)」で「ステートマシン(State Machines)」を作成しました。
そのステート間の「遷移ルール(Transition Rule)」を選択します。
アニメーション終了後自動で遷移000
今回は「Idle」のステートから「Walk」のステートに遷移させます。

上記の「遷移ルール(Transition Rule)」を選択し、
詳細から「Automatic Rule Based on Sequence Player in State」にチェック
をいれます。
アニメーション終了後自動で遷移001

基本これだけでアニメーション終了時に自動で次のステートに遷移してくれます。
複雑な条件などが必要な場合は使えなさそうですが、単純なものや確認のためならかなり有用じゃないかなと思います。

| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑

PREV | PAGE-SELECT | NEXT