【UE4】ForEachLoopを段階的に出力するマクロ 【★★】

※この記事で使用しているUnrealのVersionは04.21.1です。 ※この記事のサンプルプロジェクトは以下URLにアップされています サンプルプロジェクト 「For Each Loop」は配列の要素をIndex0から順番に取り出して処理するマクロです。 このFor Each Loopの中身はこんな感じ。(StandardMacrosより) 見づらかったので、少し手を加えて説明します。 重要なのは「Local Integer」と「Sequence」ノードです。「Sequence」ノードのThen0でマクロの外にあるLoopBodyにつながった処理をして、その処理が終わったらすかさず「Se […]

続きを読む

【UE4】InterfaceとDispatcherの使い分け方-自分流【★★☆】

※この記事で使用しているUnrealのVersionは04.21.1です。 ※この記事のサンプルプロジェクトは以下URLにアップされています サンプルプロジェクト 個人的に、InterdaceとDispatcherが似ていて、どのタイミングでどちらを使えばいいかが時々わからなくなります。 なのでこの際、2つの特徴を調べてそれぞれに向いている仕事を自分なりに研究しました。 Interfaceの特徴 レベル【★★☆】 Interfaceは、送信側の情報を知ることなく、受信側はイベントを受け取ることができるという大きな特徴があります。また、送信側も相手がいることさえわかればイベントを送信することが出 […]

続きを読む

【UE4】自動でマップの高解像度キャプチャーを生成し出力する-後編 【★★★】

※この記事で使用しているUnrealのVersionは04.21.1です。 ※今回はプロジェクトのテンプレート「Third Person」を使用しています。 ※記事が長くなってしまったので、2ページに分けて投稿します。@ページ2 前編はこちら ※この記事のサンプルプロジェクトは以下URLにアップされていますサンプルプロジェクト 全自動キャプチャーを作成 レベル【★★★】 前編では、1ボタンで高解像度ファイルを出力するアクターを作成しました。 今度は、1ボタンでキャプチャー座標・範囲を決めて、それを複数マップいっぺんにやるという処理を書きます。 まず、前編で作ったBPのScene Capture […]

続きを読む

【UE4】自動でマップの高解像度キャプチャーを生成し出力する-前編 【★~★★】

※この記事で使用しているUnrealのVersionは04.21.1です。 ※今回はプロジェクトのテンプレート「Third Person」を使用しています。 ※記事が長くなってしまったので、2ページに分けて投稿します。@ページ1 後編はこちら ※この記事のサンプルプロジェクトは以下URLにアップされています サンプルプロジェクト Unrealでの高解像度画像のとり方 レベル【★】 よくゲームには「全体マップ」などの呼び名で、マップ全体を俯瞰で見れる機能が存在します。 直接ファイルに書き出して使用する場合は、「ビューポート」ウィンドウ内の「パースペクティブ」となっているプルダウンを「上」に変更し […]

続きを読む

【UE4】Object型BPで開発をスムーズに-後編 【★★★】

※この記事で使用しているUnrealのVersionは04.21.1です。 ※記事が長くなってしまったので、2ページに分けて投稿します。@ページ2 前編はこちら ※この記事のサンプルプロジェクトは以下URLにアップされていますサンプルプロジェクト 関数テーブルの実装 レベル【★★★】 前編では、アセット単位のスクリプト関数を簡易的に実装しました。 今度は、関数テーブルを作成するためにデータテーブルを作成します。 データテーブルの構造体変数には、前編で作成したスクリプトベースBPのクラスのみを指定してください。データテーブルの作成方法については【UE4】DataTableの使い方-その① ~基本 […]

続きを読む

【UE4】Object型BPで開発をスムーズに-前編 【★★★】

※この記事で使用しているUnrealのVersionは04.21.1です。 ※記事が長くなってしまったので、2ページに分けて投稿します。@ページ1 後編はこちら ※この記事のサンプルプロジェクトは以下URLにアップされています サンプルプロジェクト Unrealの基本的な設計 レベル【★★★】 UE4は基本的に「Level(World)」という箱庭と、その中にある「Actor」というキャラクターや岩などの物でできています。「Actor」は「Component」というパーツから成り立っています。 「Level」の中には「Actor」しか置けず、「Component」は「Actor」に依存すること […]

続きを読む

【UE4】ポストプロセスマテリアルで簡単なセルシェーディングやってみた 【★★★】

※この記事で使用しているUnrealのVersionは04.21.1です。※今回はプロジェクトのテンプレート「Third Person」を使用しています。 ※この記事のサンプルプロジェクトは以下URLにアップされています サンプルプロジェクト ポストプロセスとは、直訳すれば「後の処理」。Unrealではレンダリングの過程で、ライトなどの処理が終わった後、画面全体に適応する工程のことを言う(ざっくり説明)詳しくはポストプロセス エフェクトポストプロセス マテリアル このポストプロセスを使うか使わないかで一気に表現の幅が変わります。 そんなポストプロセスをマテリアルを使って、最近Unrealで流行 […]

続きを読む

【UE4】DataTableの使い方-その② ~エクセルさようなら~ 【★★~★★★】

※この記事で使用しているUnrealのVersionは04.20.3です。 ※この記事のサンプルプロジェクトは以下URLにアップされています サンプルプロジェクト リアルな現場のDataTable事情 レベル【★★】 【UE4】DataTableの使い方-その① ~基本編~では、大雑把にDataTableの初歩的なことについて記事にしました。 では、実際の現場はどんな使い方をしているのでしょうか? (僕が見てきた中で)よくあるのが、エクセル、CSV、DataTableをワンセットで扱うものです。エクセルで計算などを行い、VBA等でCSVに出力。それをUnrealにインポートするというフローにな […]

続きを読む

【UE4】HPバーをマテリアルで-後編 【★★★】

※この記事で使用しているUnrealのVersionは04.20.3です。 ※記事が長くなってしまったので、2ページに分けて投稿します。@ページ2 前編はこちら ※この記事のサンプルプロジェクトは以下URLにアップされています サンプルプロジェクト 1、ダメージを食らった際に、食らった部分は赤いゲージにして少しずつ減らす場合-後編 レベル【★★★】 では、前篇でマテリアルを使用した、よくあるHPバーを実装しました。 今度はこのHPバーの減少の際に、赤いゾーンを設けて、よりダメージを受けたような見た目にしていきたいと思います。 まずは、前篇で作ったマテリアルを開きましょう。 そのマテリアルのグラ […]

続きを読む

【UE4】HPバーをマテリアルで-前編 【★★~★★★】

※この記事で使用しているUnrealのVersionは04.20.3です。 ※記事が長くなってしまったので、2ページに分けて投稿します。@ページ1 後編はこちら ※この記事のサンプルプロジェクトは以下URLにアップされています サンプルプロジェクト Unrealの基本的なHPバー レベル【★★】 アクションゲームなんかではよくある、いわゆるHPバー。パラメーターをUIゲージで表すものです。 Unrealでは、Widgetというブループリントのデフォルト機能でProgressVarというものが存在します。 簡単に作成方法を説明しますと、まずUserWidgetクラスを継承したBlueprintを […]

続きを読む

【UE4】Delayノードについての検証 【★★~★★★】

※この記事で使用しているUnrealのVersionは04.20.3です。 ※この記事のサンプルプロジェクトは以下URLにアップされています サンプルプロジェクト Delayって? レベル【★★】 よく無闇に使っては行けませんと言われているDelay。 Delayノードは、指定した時間待ってから処理が実行されるBlueprintノードです。似たノードでRetriggerable Delayというのもあります。 ・DelayDelayの処理は走ったあと、Complete処理が走る前に再びDelay処理が走った場合、再び走った処理は無効になる。 ・Retriggerable DelayDelayの […]

続きを読む

【UE4】DataTableの使い方-その① ~基本編~【★~★★】

※この記事で使用しているUnrealのVersionは04.20.3です。 UE05.0.3にて画像を再キャプチャーしています。 ※この記事のサンプルプロジェクトは以下URLにアップされていますサンプルプロジェクト DataTableって? 作り方は? レベル【★】 DataTableとは、例えばキャラクターの名前やパラメータのリストをUEで使用するためにアセット化したもの。(↓こんな感じ) DataTableを作るには、まず「構造体」というものを作る必要があります。構造体とは 構造体を作るには、「コンテンツブラウザ」の左上にある「新規追加」のプルダウンから、詳細なアセット作成欄にある「ブルー […]

続きを読む