FC2ブログ

凛(kagring)のUE4/UE5とUnityとQt勉強中のゲーム制作ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用のブログです。C++ での Qt、Unity も少しあります。ゲーム制作の話題もはじめました。

2021年05月 | ARCHIVE-SELECT | 2021年07月

| PAGE-SELECT | NEXT

≫ EDIT

UE4 ジオメトリブラシ(Geometry Brush)を使って簡単な形状を作成する

ジオメトリブラシ(Geometry Brush)を使って簡単な形状を作成する方法です。

ジオメトリブラシ(Geometry Brush)についてはこちらが参考になると思います。

・Geometry Brush アクタ
https://docs.unrealengine.com/ja/Basics/Actors/Brushes/index.html

・UE4 ジオメトリブラシを使ってお手軽モデリング

https://unrealengine.hatenablog.com/entry/2014/09/26/214001

・【第3回】ジオメトリブラシを使う
https://note.com/miccanote/n/nd236bfc61af8

まずはジオメトリブラシアクターを配置してみます。
アクターを配置からジオメトリを選択して、使いたいジオメトリブラシを配置します。
ジオメトリブラシ000

適当にボックス(Box)を配置してみました。
ジオメトリブラシ004

モードから一番右側にある"ジオメトリの編集"を選択します。もしくはShift+5の同時押しでもOKです。


とあるので、ツールバーのモードから「ブラシ編集」を選択します。
名称が変わっているみたいですね。
ジオメトリブラシ001

するとこんな感じで頂点や面を編集できるモードに切り替わります。
ジオメトリブラシ005

あとは頂点を編集したりして形状を変化させます。
ジオメトリブラシ002

編集後に実行をしてみるとこんな感じにちゃんと編集結果が表示されます。
ジオメトリブラシ003
ちゃんとコリジョンまで変化しているのがすごいですね。

これはかなりレベルデザインに使えるんじゃないかなと思ったのですが
公式でこんなことが書かれています。

ジオメトリ ブラシはレベル デザインの仕上げ方法としては推奨しません。要件ではありませんが、作成の初期段階では便利な場合があります。

現在はあまり推奨されてはないのかもしれません。

ツイッターで疑問を書いたところ教えてもらいました!
形状だけなら有利でも、情報がとれないといろいろと不都合がでそうですね。
それが「仕上げ方法としては推奨しません」というところなのかなと思いました。

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

≫ EDIT

UE4 プロジェクト名を途中で変更する

プロジェクト名を途中で変更する方法です。

こちらを参考に…というかほぼそのままのメモです。

・UE4小ネタ : UE4のプロジェクト名変更方法について
https://pafuhana1213.hatenablog.com/entry/2015/05/13/002703

2015年5月12日現在(ver 4.7.6)、UE4エディタ上ではプロジェクト名を
変更することができません。少し面倒な手順を踏む必要があります。

とのことです。
この記事自体が古いのですが、ぐぐっても同じようなことしかでてこないので一緒かなと…。
あまり途中でプロジェクト名を変える必要性はないのかもしれませんね。

・ランチャーから複製する手法

まずは、ランチャー上のプロジェクトの右クリックメニューから「Clone」を選択します。
プロジェクト名の変更000
これですね。

Nameの箇所に新しいプロジェクト名を入力します。
あとは、Createを押すだけです。

とのことです。

この手法はとても簡単です。しかし、コピー分のHDD容量が必要になる上、
プロジェクト規模によっては、長時間待たされる問題があります。
(コピー + シェーダコンパイル + etc...)

また別の問題として、C++プロジェクトの場合はこの方法では上手くいかない「かも」しれません。
(サンプル数が1(=ぼく)なので、他の環境では上手くいくかもしれません… バージョンは4.7.5でした)


・プロジェクト内のファイルを弄る手法

これはUE4公式フォーラムの以下のスレッドで紹介されていた手法です。
How to change project and map names?


ここからはほぼ引用なので、元記事を読んだ方が早いと思われます。メモ用。

まずは、プロジェクトが置かれているフォルダを開きます。
先ほど紹介した右クリックメニューの「Show in folder」から開くのが楽だと思います。

そして、.uprojectファイルの名前を新しいプロジェクト名に変更します。
今回は「VangardUnityChan.uproject」を「hogehoge.uproject」に変更したとします。

次に、先ほど名前変更したファイルと同じ階層にある
configフォルダを開き、更にその中にあるDefaultEngine.ini
をテキストエディタなどで開きます。

開いた後に、以下の文を先頭に挿入して下さい。
既に[URL]がファイル内に書かれている場合は、その場所に追加して下さい。

[URL]
GameName=◯◯◯


※◯◯◯の部分には、新しいプロジェクト名を書いて下さい。 今回の場合ですと、hogehogeになります。

これで完了です。
1つ問題があるとすれば、パッケージング後の一部ファイルが変更前のプロジェクト名のままになっています。
ただ、ふつうの人は見ない場所なので、特に気にする必要はないと思います。
("Binaries\Win64\"内のexeファイル)


一旦メモ。

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

≫ EDIT

UE4 アンリアルエンジン4用アドベンチャーゲームキット(Adventure Kit)

便利そうなプラグインやアセットのメモです。

こちらの記事に詳しく書かれています。

・UE4 Adventure Kit - 基礎要素盛りだくさん!?アンリアルエンジン4用アドベンチャーゲームキット!
https://3dnchu.com/archives/ue4-adventure-kit/

紹介動画はこちら。


マーケットプレイスはこちら。

・Adventure Kit
https://www.unrealengine.com/marketplace/ja/product/adventure-kit

こちらにも詳しい説明があるようです。

・Adventure Kit
http://freetimestudio.github.io/Adventure-Kit/

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

≫ EDIT

UE4 スプライン生成プラグイン(Smart Spline Generator)

便利そうなプラグインやアセットのメモです。

こちらの記事に詳しく書かれています。

・Smart Spline Generator for Unreal Engine 4 - これ絶対便利でしょ!アンリアルエンジン4にて幅広く活用できるスプライン生成プラグイン!
https://3dnchu.com/archives/smart-spline-generator-ue4/

紹介動画はこちら。


マーケットプレイスはこちら。

・Smart Spline Generator
https://www.unrealengine.com/marketplace/ja/product/smart-spline-generator

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

≫ EDIT

UE4 ジオメトリブラシ(Geometry Brush)をスタティックメッシュ(Static Mesh)に変換する

ジオメトリブラシ(Geometry Brush)をスタティックメッシュ(Static Mesh )に変換する方法です。

ジオメトリブラシ(Geometry Brush)についてはこちらが参考になると思います。

・Geometry Brush アクタ
https://docs.unrealengine.com/ja/Basics/Actors/Brushes/index.html

・UE4 ジオメトリブラシを使ってお手軽モデリング

https://unrealengine.hatenablog.com/entry/2014/09/26/214001

ジオメトリブラシは編集可能なものですが、これをスタティックメッシュ(Static Mesh)に変換することができます。

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

・【第3回】ジオメトリブラシを使う
https://note.com/miccanote/n/nd236bfc61af8

まずはジオメトリブラシアクターを配置してみます。
ブラシをスタティックメッシュに変換004
これですね。

配置するとこんな感じになりました。
ブラシをスタティックメッシュに変換001
まだ編集可能な状態ですね。

配置したジオメトリブラシアクターを選択して
「スタティックメッシュを作成」ボタン
を押します。
ブラシをスタティックメッシュに変換000

すると変換したスタティックメッシュを保存するフォルダを要求されるので指定
「スタティックメッシュを作成」ボタンを押します。
ブラシをスタティックメッシュに変換002
フォルダはあらかじめ作っておくと安全なので作っておきます。

なお、変換するとジオメトリブラシには戻せませんので、念の為コピーしておくと安心です。

上記も気を付けたほうが良いと思われます。

するとこんな感じで指定したフォルダに指定した名前のスタティックメッシュが作成されました。
ブラシをスタティックメッシュに変換003

ジオメトリブラシの状態だと、マテリアルの設定とか何気にめんどくさかったので
形状がばしっときまった場合はスタティックメッシュに変換してから使うと良さそうな気がします。

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

≫ EDIT

UE4 UMGでデータテーブル(Data Table)から取得したテキストを改行ありで表示する(Shift+Enter)

UMGでデータテーブル(Data Table)から取得したテキストを改行ありで表示する方法です。

・第5回UE4ぷちコン】UE4初心者がUnrealEngineでノベルゲームを作ってみた
https://qiita.com/YuukiOgino/items/7922e178d27d21e0257f

データテーブルでは改行コードは文字列(\nなど)に変換されるため、Replaceで改行コードに変換をかけます。
ToにShift+Enterで改行が入力が入力できます。


ということで上記を試してみました。

まずはこんな感じの構造体をつくりました。
データテーブルの改行文字列表示000

この構造体を使ってデータテーブル(Data Table)を作りました。
データテーブルの改行文字列表示002
String については「\n」を改行コードとしています。

アセットはこんな感じに。
データテーブルの改行文字列表示001

まずは普通にデータテーブルのテキストを表示してみました。
データテーブルの改行文字列表示003

結果はこんな感じに。
データテーブルの改行文字列表示004
「\n」がそのまま表示されてしまっていますね。

参考サイトに書かれている通り、
データテーブルから取得したテキストの「\n」を改行コードに置き換えます。
データテーブルの改行文字列表示005

データテーブルでは改行コードは文字列(\nなど)に変換されるため、Replaceで改行コードに変換をかけます。
ToにShift+Enterで改行が入力が入力できます。

この部分ですね。

結果はこんな感じに。
データテーブルの改行文字列表示006
無事改行込みのテキストを表示することができました。

ここらへんは忘れそうなのでメモしておいた方が良いと思ったのでというところでした。

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

≫ EDIT

UE4 アセットのディスク上のフルパスを取得する(Get System Path)

アセットのディスク上のフルパスを取得する方法です。
※この機能は 4.26 以降で使うことができます。

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

・UE4 - UE4.26の新機能から便利そうなものをピックアップして紹介(Blueprints, UMG周りのみ)
https://kumasan-debug.hatenablog.com/entry/2020/12/08/100928

記事内で以下のように書かれています。

ディスク上のアセットへのフルパスを取得するための関数「GetSystemPath関数」を追加する


「Get System Path」ノードはこちら。
GetSystemPath002.jpg

実際に使ってみました。
GetSystemPath000.jpg

結果はこんな感じに。
GetSystemPath001.jpg
ちゃんとディスク上のフルパスが取得できているようです。

ちなみにですが、配置されたアセットを渡しても何も返ってこないようなので
ゲームプレイ時ではなく、エディタ用に公開されているものなのかもしれません。

ここらへんどういう時に使う想定なのかすごく知りたいです!

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

≫ EDIT

UE4 コメントノードの中にあるノードを動かさずにコメントノードだけを動かす(Move Mode、Comment、Group Movement)

コメントノードの中にあるノードを動かさずにコメントノードだけを動かす方法です。

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

・【UE4】UE4Tips120選~勉強会にて配ったTipsカードの内容を一挙公開!~
https://kinnaji.com/2020/02/09/tips120/

BlueprintGraphEditorのコメントNodeのDetailで、
「Move Mode」を「Comment」にすることで、
コメント内にあるノードを動かさずにコメントNodeを動かすことができる。

と書かれていました。

こんな感じでコメントノード内にノードを配置してみました。
コメントウィンドウだけ動かす000
この状態のコメントノードを動かすと、中にあるノードも一緒に動きます。
※本来の想定している挙動

このコメントノードの詳細で「Move Mode」を「Comment」に変更します。
コメントウィンドウだけ動かす001

コメントノードの「Move Mode」を「Comment」にすることで
コメントノードを動かしたときに、中にあるノードは一切動かずコメントノードだけ動かす
ことができます。
コメントウィンドウだけ動かす002
こんな感じでコメントノードだけ動かすことができました。

元の挙動に戻したい場合は
コメントノードの「Move Mode」を「Group Movement」に変更
することで元に戻ります。

あまり使う機会はなさそうですが、一応覚えておくと手間が減るかもしれないかなと思いました。

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

≫ EDIT

UE4 描画テクスチャ(Render Target 2D)で表示されている内容でテクスチャ(Texture)アセットを作成する(スタティックテクスチャの作成)

描画テクスチャ(Render Target 2D)で表示されている内容でテクスチャ(Texture)アセットを作成する方法です。

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

まずは描画テクスチャ(Render Target 2D)を作成します。
レンダーターゲットのアイコンにテクスチャ000

作成した描画テクスチャ(Render Target 2D)にカメラの内容が表示されるように
「Scene Capture 2D」などを使って設定します。
レンダーターゲットのアイコンにテクスチャ002
設定するとアイコンもこんな感じに変わりました。

次に描画テクスチャ(Render Target 2D)アセットを右クリックして出てくるメニューの
「スタティックテクスチャの作成」を選択
します。
レンダーターゲットのアイコンにテクスチャ001

するとこんな感じでテクスチャアセットが作成されました。
レンダーターゲットのアイコンにテクスチャ004

ちゃんとこんな感じに描画テクスチャ(Render Target 2D)の内容と同じになっているようです。
レンダーターゲットのアイコンにテクスチャ003

とはいえツイートの方でも書かれている通り、
どこかで使うタイミングとかあるのかなとは思いますね…。

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

≫ EDIT

UE4 ポストプロセスマテリアル(Post Process Material)でアウトラインを描画する

ポストプロセスマテリアル(Post Process Material)でアウトラインを描画する方法です。

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

・Unreal Engine 4 ポストプロセス セルシェーダー
https://github.com/alwei/PPCelShader

アウトライン
4種類のアウトライン描画があります。
まず、『Depth Line』と『Normal Line』はメッシュのカメラ距離に関係なく一環したライン描画が行われます。
その分、細かいライン調整を行うことはできませんが、安定したライン描画を行うことができるようになっています。
『Edge Line』と『Crease Line』はメッシュのカメラ距離に大きく依存しますが、『Depth Line』や『Normal Line』では描画できない部分が調整可能です。
それぞれを必要に応じて使わない選択肢も可能ですので、調整してみて好みに応じて利用してください。


上記でアウトラインを描画している箇所があったのでこちらをもとに作成してみました。

「PP_CelShader」を開きます。
ポストプロセスアウトライン004
詳しくは中身を見てもらえればよいので、
とりあえず全体としてこれだけノードがあるという感じですね。

このポストプロセスマテリアルの処理からアウトラインの描画部分だけを使いたいため
セルシェーディングに関する部分を削除
します。
ポストプロセスアウトライン002
まずは赤枠で囲まれた部分を削除します。

そのあと入力がなくなってしまっているのでこんな感じで入力部分足します。
ポストプロセスアウトライン001
赤枠の部分のようにする感じですね。

結果こうなりました。
ポストプロセスアウトライン000
下に見切れているノードはアウトラインの部分をそのまま使っているので割愛します。

次に、このマテリアルに対してマテリアルインスタンスを作成します。
ポストプロセスアウトライン005

あとは、マテリアルインスタンスのパラメータを調整すればアウトラインが描画できます。
ポストプロセスアウトライン006

これを使ってみた結果がこちら。
ポストプロセスアウトライン003
今回は白いアウトラインを描画してみましたがいい感じなのではないでしょうか。

処理負荷などはともかくとして、とりあえずは描画できているので問題ないかなと。
ここらへんいつかは自分でも詳しくなっていろいろと一からできるようになってみたいですね。

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

| PAGE-SELECT | NEXT