コンボ攻撃追加と切り替え(ARPG+ALSV4での)研究

コンボ攻撃追加と切り替え(ARPG+ALSV4での)研究

Unreal Engine5 まとめ

コンボ攻撃追加

攻撃実装はこちら。

このアニメーションを使って次の動画

下記が修正したアニメーション。

これを実装して次の動画。

自動で剣を鞘に戻す実装

これでもわからない場合には下記の動画で同じ武器をしまう動作や出す動作を追加しているので参考にして、必要であれば弓矢と同じようにDAに紐づけるように整理します。

弓矢実装から攻撃連携についてはこのシリーズ動画にヒントが隠されています。解読する必要がある。

また、モンスターハンターの攻撃時に横に転がるという動作後の転がったあとに切り上げからの今後攻撃という流れが個人的にゲームやってる感覚が楽しかったのでそれを下記の動画で攻撃のAからBの部分や新たにCで回避を攻撃の要に追加することで攻撃中に横回避などができるかもしれないので試したい。

方法は先程と同じこちら。

左スティック指定&4方向アニメーションに対応したドッジロールの作成

と、このあとメモリーが足りなくでプロジェクトがバグって追われてしまいました。

高いパソコンがないとやはり難しい・・・。

一度復興して再び上記の内容を試しましたが、ARPGとALSV4の連携がいまいちうまくいかなかったので、違う方法を考えました。

同時押しで成功した回避の仕組みでゲートを使いましたが、ロックしていれば扉が開き、ロックしてない場合は扉が閉まる。

これで、以前実装できた方法を活用してある程度近づけることがかの。

でも本来はロックしない状態で攻撃したあとに左回避と右回避を実行したい。

つまり、攻撃していればロックを解除して、攻撃が終わったら通常にもドルという仕組みにしたい。

ちなみに前回のルックアップのおかしい場合には下記のチェックを外せば治ります。

やはり、下記の動画で連続攻撃のブループリントで実行できればいいのだが、

そしたらやりたいことができる。

かなりの難題となる応用力が試されます。

学習方法はこちら

やっとできました!

自分で応用を考えてそのノードの構造で見事動くことができました!

モンスターハンターの片手剣で切って横回避でき、攻撃していない通常時は通常のローリングをするという誰もネットに出していない独自の動きを実装することができました。

メインのノードでまず入力と入力の読み込みを実装。

実装したら内部のノードでabilityを活用して攻撃モーションのコンボをあえて回避にして複数作り、同時入力で入力を制御しました。

なかなか難しかったですが、やっとできました。

また、上記で紹介した回避のアニメーションはリターゲットすると動きが瞬間移動してしまうので、みきさもでの方法ですが、こちらで対応できるかもしれません。

回避を連続攻撃として導入すると何故か回避後走ったりしてしまうので、また、回避の連続などもできないので、これはアニメーションをリターゲットしていないから起きる問題です。

リターゲットしなくても1回のみ使い人は問題なく使えます。

これで変換してからリターゲットのボーン設定を行います。

5.4でのリターゲットはMixamoにも対応しているので、5.4リターゲットしてから、通常のプロジェクト移すという手もあり。

つまり、手順的には下記の通り。

  • 5.4で自動リターゲットをして、リターゲットがいい感じのやつを5,3に移行。
  • 5,3でローリングIKを作り、ローリングKIとUE4マネキンIKのリグ作成し、リターゲット。
    UE4マネキンIKとAnimのIKを作成し、リグでリターゲット。

上記の段階を踏まないとAnimのアニメーション攻撃コンボには適応できない。

かなり、めんどくさいですが、これをしておかないと後々面倒になります。

もし可能なら、ブログにIKリターゲットでのボーン階層を添付すると楽。

しかし、武器などや防具をどのようにセットするかは勉強が必要。

浮いたり、体のアーマーが伸びる。

男女と子供ができればいいが、子供はアーマーなどを装備できるようになってから出ないと場所が合わないので、男女狩り実装、アーマーをどうやってつけるか勉強、場合によってはリターゲットする可能性あり。

実装が成功。このあと子供だが、こちらよりドラゴンの実装を優先したほうがいい。

バックアップを取ってテストリターゲット、またはUI画面でのゲームパッド操作、防具装備の修正とアイテム変更。

ARPG+ALSV4での全スキルブルーマン切り替え方法

予想通り、メッシュ用のスケルタルメッシュを指定したことでアニメーションが再生されました。

また、スクスチャーストリーミングのプールがバジェットMiBを超えています。と出ています。

移動できますが、半分を処理できましたが、残りはブループリントの構造が違ったので、保留。

このあと、移動とジャンプはスキップして、スプリングとウオークを試してみます。

後で、時間があるときにブループリント翻訳をして、解読したいなと思います。

一応移動とジャンプは置き換えずに動作させているという状況かなと思います。

一尾すべてが上手く行ったのでひとまず良しとして次にキーボードの設置だけだったのでコントローラーも紐づけます。

あと、ガード(Block)はこの動画で、独自にプラグインとしてカスタマイズを追加できるようになっていました。

こちらはモンスターに乗る動作。

https://www.youtube.com/watch?v=iyS2jey00_E&list=PLKVXyvgGulYFKSzuif_LkMOg4pMkXaCEf

ローリングやしゃがみなどができないのでどうするのか探します。

とはいえ、マウントとローリング機能が変更できたので、ゴミ箱からプロジェクトを呼び戻し、再度こちらでも確認していきます。

こちらの不具合は屋を売ったりすると防具が何故かくっついてしまう問題と装備画面で屋が装備できない問題とカメラの操作が逆転(上下のみ)が問題点です。

この問題点と一緒に壊れたプロジェクトを再び確認して、再構成してみたいと思います。
動くようになったらこのプロジェクトを中心にできるだけカスタマイズしていき、ゲームに近づけていけたらと思います。

ここで、このプロジェクトの内部をBlueprintなどをコピーして公式のサイトに保管するテストを行ってみたいです。

DA_Skillsでブルーマンに変更し、アニメーションをリターゲットし、セット。必要であれば、動かすアニメーションに手や足といった内容を付け加える。

メッシュ元をブルーマンに変更するとほとんどグレイマンに紐付いているものは動作する。

動作しない自作アニメーション等があるので、それは、リターゲットして階層をアニムの動かしたい部分を指定することで動作する。

できれば上位が終わったら

できれば、スキルを使ったらリセットされる方法を知りたい。

コンボ攻撃追加(ARPG+ALSV4での)

武器切り替えを考えましたが、ARPGでは一旦保留。

複数の武器を持ち替え可能なシステム

武器ごとのスキル攻撃の変更はできているプロジェクトですが、そもそも通常攻撃がなかったので、コンボ攻撃などを実装。

この攻撃を武器に設置したい。

つまり、武器を持っているかを確認し、持っていれば攻撃が通るという仕組みにする。

その前に、ARPGがどのようにして武器を装備しているのかわからないと同仕様もないので調べていきます。

まず、いろんな装備方法があるので、どの方法に類似しているか絞ります。

アタッチする必要がほとんどですが、防具しか見当たらないので、おそらく、スキルと言う認識でADのスキル設定で、切り替えているものかと。

なので、新たに通常攻撃のアタッチを作りそれにスキルを紐づける可と思いましたが、おそらくスキルのほうのなにかに紐づけるのが賢いやり方。

この動画のようにスキルを攻撃として使用していると思われる。

攻撃を実行して成功したり、失敗したりするので、あくまでもスキルと言う概念で、武器の固有スキルという立ち位置7日と思います。

なので、この武器を認識しているIDなどで武器を識別しているのかなと。

そして、DASkillsのIDで識別しているのかなと推測

これを調べてみるとノードができてきました。

IDsでは防具も識別しているようですが、今は武器を探しているので捜索。

名前的に一番上が怪しいので公式のブループリント設置機能で確認。

見つけました。

こちらです。

武器ID

ざっくり、ぶきIDが一致していればなにかするという感じ。

よくわかりませんが、武器IDで攻撃を切り替える処理を追加するのが良さそうですが、新たに作る要理もこの仕組みを理解して、ここに修正や追加を加えるほうが楽に実装できるかと思うので勉強。

Action RPG Multiplayer Starter Template

このシステムに通じょコンボシステム(自作)を付け足したいだけですが、難しいので時間をかけて解読していきます。

このオブジェクト指向のクラス定義は、ビデオ ゲーム「Action RPG スターター システム」のキャラクター ブループリントのコードを表しているようです。このコードは、キャラクターのアニメーションとスキルを管理するさまざまな関数や変数、およびそれらの間の関係を定義しています。

このコードの重要な部分は次のとおりです。

  • GetMontageByWeaponType 関数:この関数は、キャラクターが装備している武器の種類に基づいてアニメーション モンテージとスキルを取得します。
  • S_SkillMontage 構造体:この構造体は、アニメーション モンテージとスキルを関連付けるために使用されます。
  • ForEachLoop マクロ:このマクロは、配列内の各要素に対して反復処理を実行するために使用されます。
  • FilterMontagesByMeshRef 関数:この関数は、特定のメッシュ リファレンスに一致するアニメーション モンテージをフィルタリングします。
  • LoadClassAsset_Blocking 関数:この関数は、指定されたクラスをブロックして読み込みます。
  • LoadAsset_Blocking 関数:この関数は、指定されたアセットをブロックして読み込みます。

このコードは、キャラクターのアニメーションとスキルを管理し、特定の武器や状況に基づいて適切なアニメーションやスキルをトリガーするために使用されるようです。

連続コンボ攻撃を武器ごとに紐づけるには、武器ごとに異なる GameplayAbility を作成し、それらを切り替える必要があります。

  1. GameplayAbility ブループリントを作成します。これは、各コンボ攻撃の動作を定義します。
  2. 各武器に対して、対応する GameplayAbility ブループリントを作成します。
  3. GetMontageByWeaponType 関数内で、武器の種類に基づいて適切な GameplayAbility ブループリントを呼び出すようにロジックを変更します。
  4. 各武器の GameplayAbility ブループリント内で、対応するコンボ攻撃をトリガーするロジックを追加します。

このアプローチにより、各武器に異なるコンボ攻撃を関連付けることができます。武器の種類に基づいて適切な GameplayAbility ブループリントを呼び出すことで、キャラクターが装備している武器に応じて異なるコンボ攻撃をトリガーできるようになります。

この方法を試したいと思います。

連続コンボ攻撃を武器ごとに紐づけるには、次の手順に従ってください。

  1. GameplayAbility ブループリントを作成します。これは、各コンボ攻撃の動作を定義します。
  2. 各武器に対して、対応する GameplayAbility ブループリントを作成します。これらのブループリントは、対応するコンボ攻撃をトリガーするロジックを含みます。
  3. GetMontageByWeaponType 関数を見つけます。この関数は、キャラクターが装備している武器の種類に基づいてアニメーション モンテージとスキルを取得するために使用されます。
  4. GetMontageByWeaponType 関数内で、武器の種類に基づいて適切な GameplayAbility ブループリントを呼び出すようにロジックを変更します。これには、武器の種類を確認し、対応する GameplayAbility ブループリントを呼び出す条件文を追加する必要があります。
  5. 各武器の GameplayAbility ブループリント内で、ActivateAbility ノードを使用して対応するコンボ攻撃をトリガーします。

以下に、この実装の概要を示します。

  1. GameplayAbility ブループリント:
   ノード グラフ:
   - **Ability** 変数:コンボ攻撃の動作を定義します。
   - **ActivateAbility** ノード:このノードは、対応するコンボ攻撃をトリガーします。
  1. 各武器の GameplayAbility ブループリント:
   ノード グラフ:
   - **Ability** 変数:対応するコンボ攻撃を定義します。
   - **ActivateAbility** ノード:このノードは、コンボ攻撃をトリガーします。
  1. GetMontageByWeaponType 関数:
   ノード グラフ:
   - **WeaponID** 入力ピン:武器の種類を指定します。
   - **SkillID** 出力ピン:対応するスキルを返します。
   - **MontageToPlay** 出力ピン:対応するアニメーション モンテージを返します。
   - 武器の種類に基づいて適切な GameplayAbility ブループリントを呼び出す条件文を追加します。
  1. 各武器の GameplayAbility ブループリントを GetMontageByWeaponType 関数に接続します。

この実装により、各武器に異なるコンボ攻撃を関連付けることができ、キャラクターが装備している武器に応じて適切なコンボ攻撃をトリガーできるようになります。

大体流れを把握したので、次は深く分析するために公式のブループリントを保存できる機能に保存し、ブラウザで翻訳します。

上から順番に保存。

  • GetMontageByWeapontype(武器タイプによるモンタージュの取得)
  • GetSkillSetupByID(IDによるスキルセットアップの取得)
  • ProcessEquipmentSets(プロセス機器セット)
  • GetChannelledSkillMontage(チャンネルを取得スキルモンタージュ)

GetMontageByWeapontype(武器タイプによるモンタージュの取得)

この中にWeaponIDがあったので、こちらを検索。

  • GetMontageByWeaponType(武器タイプごとにモンタージュを取得する)
  • GetSkillSetupByID(ID によるスキルセットアップの取得)
  • ActionbarKeyPress(アクションバーキーを押す)
  • SKILL + DAMAGE(スキル+ダメージ)

それらしいノードが見つからないので、いったん現段階で攻撃ができるスキルについて調べていきます。

このDA_Skillsでスキルのメッシュとそのメッシュに紐づけるモンタージュを再生できるようになっています。

ここにモンタージュンを追加するとそのアニメーションが再生され、今は2つですが3つ目を追加すると3ン回目のアニメーションを再生されます。

いかし、これはリセットできず、1回目のあとに少し立って再び攻撃すると2回目が出て、再び時間を開けて攻撃すると3回目が出ます。

それに、回避モーションの全方向もできません。

活用用途としては強いスキル攻撃という形で実行するような1つのスキルとしてカウントする方法が良いかと思います。

つまり、内部は複雑ですが、IDを呼び出されたときにコンボを実行できるようにして、別のIDやIDが入らなくなったら実行できないようにすればいいだけのこと。

また、複数武器チェンジをするのでflickのようあ分岐では足りません。

確か、Switchを使うのが良さそう。

現状の知識でできそうなロジックを書きます。

  • IDをスイッチで取得し、そのID事に実行を分岐
  • ID取得成功した場合はGameplayAbilityを実行し、IDがなくなればGameplayAbilityを実行しない

上記の内容の参考動画はこちら。

データセットの勉強

スイッチの勉強

その前にARPGのチュートリアル

考えられる可能性としてはスキルの攻撃をカラにして、スキル発動時後に、攻撃コンボを紐づけることで、コンボが武器と紐づく。

もう一つはスキル1が攻撃1として、それを複数組み合わせてGameplayAbilityをスキルのみで再現する方法。

最後に可能性が高い方法としBPスキルが呼び出されている状態でコンボに紐づける方法。

もう一つ思いつきました。

装備のメニューから武器を装備させるノードにGameplayAbilityを紐づけるが良さげです。

いや、やはりもとであるBPの武器がメッシュにアタッチしたら呼び出されるが一番いいように思えます。

良さげな動画。

一旦動画を真似します。

適切な位置に独自のプロジェクトと紐づける。

この順番で行きます。

1つの武器だけですが、成功。

なので、この武器を取って背中につける処理のトリガーをアイテムボックスから選択したらに変更。

攻撃のモンタージュをコンボ攻撃に差し替える。

この2つで応用が効くかと思います。

具体的なステップとしては、

  1. アイテムを取り、装備した瞬間の仕組みがどこなのか特定
  2. 装備画面から装備したら手に設置されるが、その部分をなんとか背中に設置させる(ソケットが好ましい)
  3. 背中に設置するロジック(ARPG)をアイテムを拾い背中につけるロジック(作成ロジック)と置き換える
  4. コンボの前でどうにか剣を出す仕組みを考える(仮として別のボタンを有り当てる)

上記の手順を踏んで実装できるかと思います。

また、コンボと武器出しについては、そこまでたどり着いたら再び考えることとします。

調べていきます。

調べていくとInventoryComponentが本体のようなので、そこを捜索。

色々探索した結果下記が怪しいのでこちらを調査。

HANDLE EQUIPMENT SLOTS EVENTS

上記を試しましたが、こちらは武器ではなく、装備は防具のことを意味していました。

武器の方を見つけました。

おそらくこちらであっているので、この中のどこで武器を装備しているのか捜索。

こちらではなく、そそらくこちらかもなので調査。

これも違いました。

再度調査。

  • ClientFunc_HandleItemOverItem
  • ServerFunc_HandleEquipReplace
  • ClientFunc_HandleWcOnItemMoved
  • ServerFunc_WCMoveFromMain
  • ClientFunc_WCMoveFromMainResponse
  • ServerFunc_WCRequestUnequipToContainer
  • ClientFunc_HandleModUnequippedToWC
  • ServerFunc_EquipModFromWC
  • ClientFunc_EquipModFromWC
  • Server Func Handle Install Mod to Wc from Main
  • ClientFunc_ModInstalledFromMainToWc
  • ServerFunc_WCMoveMod
  • ClientFunc_WCMoveModMoved
  • HANDLE EQUIPMENT SLOTS EVENTS
  • WORLD CONTAINER NODES

上記の意味は下記となります。

  • クライアント関数ハンドル項目オーバー項目
  • サーバー機能ハンドル装備交換
  • クライアント機能ハンドル Wc On 項目が移動されました
  • サーバー機能 WC メインから移動
  • クライアント機能 WC メイン応答からの移動
  • サーバー機能 WC リクエストのコンテナへの装備解除
  • クライアント機能ハンドル Mod が WC に装備されていない
  • サーバー機能 WC から Mod を装備
  • クライアント機能 WC から Mod を装備
  • サーバー機能ハンドル メインから Wc に Mod をインストール
  • ClientFunc_Mod メインから Wc にインストールされました
  • ServerFunc WC 移動 Mod
  • ClientFunc WC 移動 Mod が移動されました
  • ハンドル装備スロットイベント
  • ワールドコンテナノード

この中で、サーバー装備とクライアント装備が気になったので調査。

結局いろんな条件で切り替えや置き換え、装備といった感じでいろんな条件分岐があったのですが、基本的に装備にまとまっていたようです。笑

防具でも武器でも下記のロジックでした。

場所がわかったので紐付けようとしましたが、おかしくなってしまったので、再度やり直し。

2つのプログラムのすり合わせが難しい。

格納した武器のあとにOmegaSwordに装備する内容はどこか
開発者で双剣にする方法の動画を確認する。
剣を抜くなどは呆れめて、せめて武器に攻撃コンボを紐づけたい。

この場合やることは、武器を識別してコンボを変える

つまり、武器がどのように装備されているのか調べる。

こちらでソケットにアタッチしているのがわかりました。

つまり、ここにセットされたかどうかを判断させればいいので、このソケットを背中にすると背中にアタッチされます。

データテーブルの使用がアップデートにより変更されているので、どうすればいいのか調査。

こちら、同じデータテーブルですが、内容が綺麗サッパリなくなっており、自分で追加してもこれだけの項目しかありません。

つまり、別システムで対応している可能性が高く、公式の動画では複数データテーブルが存在していましたが、アップデート後のデータテール部は2つ。

なので、武器はどのように世業しているのか謎。

武器に行ってもデータテーブルを紐づけていないので調査。

DT_ 機器セット
DT_クエスト

つまり、機器セットにすべて詰まってそうです。

下記の2項目。

どちらも防具に関する実装なので、おそらく他の要素に切り替わったのだと予測。

探すとしたら、武器の機能を変種できる画面を探したい。

そこで、ItemIDが引っかかるので、こちらを調査。

MOVEMENTS
SetEquippedPrimaryInfo
IsPrimaryEquipped?
SetEquippedSecondaryInfo
ProcessEquipmentSets
CheckALSAndARPG
SetArrowsByInventoryAmount
EquipItemBySlot
SwapPrimarySecondary
ActionbarKeyPress
JigOnModInstalled
JigOnModRemoved
JigOnItemConsumed
JigOnPreConsumedRequest
Skill_OnEffectsEndDuration
Skill_OnEffectsStarted
SKILL + DAMAGE

動き
装備済みプライマリ情報を設定する
プライマリは装備されていますか?
装備されたセカンダリ情報を設定する
プロセス機器セット
ALSA と ARPG を確認する
在庫量ごとに矢印を設定
アイテムをスロットごとに装備
スワップ プライマリ セカンダリ
アクションバーキーを押す
JigOn Modインストール済み
JigOn Mod削除されました
JigOnアイテム消費
JigOn PreConsumedRequest
スキル効果終了時間 スキルオンエフェクト開始
スキル+ダメージ

調べたが、思っていな内用がなかったので、プライマリーとセカンダリーが手に装備の意味のようですが、その本となるItemIDがどうなっているのかがわからず。

アンリアルエンジン5の説明に関しては、全体的なチュートリアルはこちらの動画を確認する必要があります。

動画を早送りで確認。

ありました。

このDA_Inventoryで武器の修正や追加ができます。

ここで、ソケットを変更し、背中につけることができました。

HANDLE EQUIPMENT SLOTS EVENTSこのあとに剣をだし、連続攻撃を付与させたいのですが、

こちらで、実装されているのが「装備したよ」という処理のようなので、ここから、装備した情報をARPGCharacterに持っていきたいのですが、それか、背中ソケットにある武器を手に持って越させる方法を普通に追加すれば行けるかもです。

近い実装だと、弓矢が実装できており、その方法をSWORDに変更し、その内部にコンボのノードを貼り付ける方法があります。

それか、矢のノードを参考にし、ビギンプレイの手前でSWORDだったらブランチでOKで実行できるようにする方法があるかと思います。

やはりむずかしい。

どのようにノードを組んでもできないので、再び動画で良さげな内容がないか捜索。

武器ごとに攻撃を変える方法がこのプロジェクトにできない。難しいですね。

考え方を変えて、あえてスキルとは連携せず、通常で分離するという考え方で、ですが、通常分離するとActorも別々担ってしまうので、なんとか武器がアタッチしていると識別した。

やはりスイッチが便利そう。

この動画を確認する前に、やはり、今のプロジェクトでどのような仕組みで武器ごとにスキル攻撃をつけているのかやIDの仕組みなどあらゆる角度から確認しないと当てずっぽうになってしまいます。

なので、苦しいですが、仕組みをまずはある程度解読するほうが先のような気がします。

Action RPG Multiplayer Starter Templateを理解するぐらいいかないと追加や改善が適切にできませんね。

やることとしては、武器を特定してそ既存のDAに紐づく形で武器のスキルに追加できないかとう考え方が良さそう。

では、更に調査。

この中で、資産が気になったので確認。

武器の本体はここに格納。

しかし、仕組みを理解して、IDで武器の特定をしたいので、ノード見ていきます。

結論は条件分岐で武器を切り替えたときに専用のアニメーションを再生できるようにしたい。

つまり、条件分岐と条件分岐させるための方法がわかればそれに紐付いている要素を引っ張ってくればいい。

単純に下記のようなことをしたい。

スロットだけ既存のBPにふよし、1のときだけ起動。ブランチからの==でSlot変数をつなげて値を1。

オブジェクトのスロットに1を入れる。目のマークを付ける。

データアセットを呼び出して、何ができるのか調べて、Branchで==につなげそうならつなぐ。

または、データアセット内の剣と紐づける方法を見つける。

ブループリントでデータアセットを使用する方法

ブループリントでデータアセットを使用するには、いくつかの方法があります。以下に、一般的な方法をいくつかご紹介します。

1. データアセットを直接参照する

最も簡単な方法は、データアセットを直接ブループリントグラフにドラッグアンドドロップすることです。これにより、データアセットのプロパティや関数を直接使用することができます。

例:マテリアルをアセットから設定する

  1. マテリアルアセットをブループリントグラフにドラッグアンドドロップします。
  2. Set Materialノードを配置します。
  3. Targetピンに、マテリアルアセットを設定したいStaticMeshコンポーネントを接続します。
  4. Materialピンに、ドラッグアンドドロップしたマテリアルアセットを接続します。

2. データアセットを取得する

GetAssetノードを使用して、データアセットを取得することもできます。この方法は、データアセットの名前が動的に変化する場合や、複数のデータアセットを使用する必要がある場合に役立ちます。

例:名前でデータアセットを取得する

  1. GetAssetノードを配置します。
  2. Classピンに、取得したいデータアセットのクラスを選択します。
  3. Asset Nameピンに、取得したいデータアセットの名前を入力します。
  4. Output Assetピンから取得したデータアセットを使用することができます。

3. データアセットをループ処理する

ForeachAssetノードを使用して、フォルダ内のすべてのデータアセットをループ処理することもできます。この方法は、複数のデータアセットに対して同じ処理を実行する場合に役立ちます。

例:フォルダ内のすべてのマテリアルに設定する

  1. ForeachAssetノードを配置します。
  2. Asset Folderピンに、ループ処理したいフォルダを指定します。
  3. Classピンに、ループ処理したいデータアセットのクラスを選択します。
  4. For Each Loopピン内部で、ループ処理ごとに実行したい処理を記述します。

4. データアセットをカスタマイズする

CreateAssetInstanceノードを使用して、データアセットのインスタンスを作成し、そのインスタンスをカスタマイズすることもできます。この方法は、データアセットのデフォルト値を変更したい場合や、複数の異なるバリエーションを作成したい場合に役立ちます。

例:マテリアルアセットのインスタンスを作成し、その色を変更する

  1. CreateAssetInstanceノードを配置します。
  2. Classピンに、インスタンスを作成したいデータアセットのクラスを選択します。
  3. Instance Nameピンに、インスタンスの名前を入力します。
  4. Output Assetピンから取得したデータアセットインスタンスを使用することができます。
  5. インスタンスのプロパティを変更するには、Set Property Valueノードを使用します。

その他

上記以外にも、ブループリントでデータアセットを使用する方法はいくつかあります。詳細については、UE5ドキュメントを参照してください。

やりたいことに近いDataAssetの使い方。

データアセットはまとめるやつあんので、更にその本となるプライマリーを見てみます。

色々しましたが、やはり内部取得は無理そうなので、別々の考え方で考えたほうが良いかも。

イベントリからキャラメッシュに武器がアタッチされたら成功とノードを作る。 ここ

成功の条件をオメガソードのみに変更。

オメガソードのときだけ攻撃連続ができるようにする。

ゲームパッドアビリティで両手剣などやってみましたが、こちらはそのアビリティを実行するという意味で、武器チェンジには意味がなく、こうだったこうするという判断で使えず、実行のみ。

また他のアイディアを考えます。

とはいえ、条件分岐で武器を指定できればなんの問題もないのですが。

しかし、イベントリがわかってないと応用しようがないのでこちらの学習が最優先。

武器の動画で武器を切り替えられるが、武器と、ARPGに紐付いた武器で、総合性がないので、イベントリやステータスなどが管理できない。

なので、ソケットにアタッチしたよねで、実装したいが、ダメージ称せもレベルに応じてできないので、スキルをどのように増やし、通常攻撃を実装し、通常攻撃を連続攻撃にするかという問題だが、そもそも連続攻撃が実装されていない時点で自分で作るのは不可能。

あとは、スキルの項目やInventoryを翻訳して、できる範囲でいい感じにするしかない。

新規プロジェクトで試すのがベスト。その間になにか思いつくかも。