fc2ブログ

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

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

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

| PAGE-SELECT | NEXT

≫ EDIT

UE5/UE4 2021/11 の無料マーケットプレイスコンテンツと永続コンテンツ(Polar Sci-Fi Facility | Julio Juarez)

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

公式情報はこちら。
・2021年11月の無料マーケットプレイスコンテンツ
https://www.unrealengine.com/ja/blog/featured-free-marketplace-content-november-2021

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

・Polar Sci-Fi Facility | Julio Juarez
https://www.unrealengine.com/marketplace/ja/product/polar-sci-fi-facility

荒れ果てた実験ラボ、それとも犯罪現場?モジュラー式の Sci-fi 施設を好きに使ってみましょう。
美しい山の横にあります。

Modular science fiction facility with a grand mountain range vista.
This package hosts a wide variety of particle effects (avalanche, snow, sparks, and more) , decals,
architecture meshes, props, and vista meshes. Instance materials allow you to customize surface properties
such as tint, roughness, emissive, and others to your liking.
(壮大な山脈の展望を持つモジュラー型SF施設。
このパッケージには、様々なパーティクル効果(雪崩、雪、火花など)、
デカール、建築物メッシュ、プロップ、ビスタメッシュが含まれています。建築メッシュ、プロップ、ビスタメッシュ。
インスタンスマテリアルは、色合い、粗さ、表面性状をカスタマイズすることができます。
色合い、粗さ、放射性、その他をお好みでカスタマイズできます。)

と書いてあるので、メッシュやパーティクルやテクスチャやマテリアルなど一式が入っているようです。

Number of meshes: 52
Triangle Counts: Architecture meshes average at 600 triangles, props range from a simple crate that is 28 triangles to the most complicated detail mesh at 6348 triangles. Vista meshes and high detail meshes have LODS.
Collision: Meshes have proper collision for exception of vista meshes, wires, broken glass, and very small rocks which have no collision.
Number of Materials: Total 110 (includes instances)
Number of Textures: 60 (breakdown below)
32x32: 1
512x512: 20
1024x1024: 11

2048x1024: 2
2048x2048: 15
4096x4096: 11
Number of Particle Actors: 27
Platforms Tested: Windows


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

≫ EDIT

UE4 UE4向けポストプロセスアセット「Chameleon Post Process」

UE4向けポストプロセスアセット「Chameleon Post Process」のメモです。
当時見つけたのですがメモしようと思って忘れていました…(なので古いです)

詳しい記事はこちら。

・Chameleon Post Process 10.0 - なんか色々出来そう!UE4向けポストプロセスアセット!新バージョンがリリース!
https://3dnchu.com/archives/chameleon-post-process-10-0/

紹介動画はこちら。


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

・Chameleon Post Process
https://www.unrealengine.com/marketplace/ja/product/chameleon

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

≫ EDIT

UE5 「Meta Sound」の「Meta Sound(Meta Sound ソース)」アセットをBPから再生する(Trigger、Execute Trigger Parameter)

「Meta Sound」の「Meta Sound(Meta Sound ソース)」アセットをBPから再生する方法です。

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

・UE5 MetaSound 05 ~ブループリントでTriggerのPlayとStopを制御する~ #UE5 #MetaSounds
https://note.com/posi_ta/n/n5377e5d6cf5d

とりあえず「Meta Sound(Meta Sound ソース)」アセットでこんな感じのノードを組みました。
MetaSound再生017
「Wave Player」ノードを使って「Sound Wave」アセットを再生する。といったものになります。

この設定をした「Meta Sound(Meta Sound ソース)」アセットをBPから再生できるようにします。

参考サイトを見る限りだと、
・再生条件を外部から指定できるようにする。
・BPで再生条件を実行する。
といったものにするようです。

というわけでまずは、再生条件を外部から指定できるようにしてみます。
「Meta Sound(Meta Sound ソース)」アセットを開いて入力ノードを追加します。
「入力」の項目の一番右上にある「+」ボタンを押して追加します。
MetaSoundをBPで再生000
ノード名は「OnPlayStart」という名前にしてみました。

次にこの「OnPlayerStart」入力ノードの詳細でタイプを「Trigger」に設定します。
MetaSoundをBPで再生008

上記作成した「OnPlayerStart」入力ノードを「Wave Player」ノードの「Play」に接続します。
MetaSoundをBPで再生002
これで外部から「OnPlayerStart」というとトリガーが実行された場合に、音声の再生が行われるようになりました。

次にこの設定を行った「Meta Sound(Meta Sound ソース)」アセットをレベルに配置します。
MetaSoundをBPで再生003
こんな感じでアウトライナーに表示されました。

このアセットに対してBPから「OnPlayerStart」トリガーを実行してみます。
トリガーを実行するには「Execute Trigger Parameter」ノードを使います。
MetaSoundをBPで再生004
こんな感じで「In Name」に実行したいトリガー名を入力します。

※参考サイトだと「Trigger」ノードを使っていたのですが、
バージョン「5.0.3」だとこの「Execute Trigger Parameter」ノードで問題ないようです。


というわけで「Meta Sound(Meta Sound ソース)」アセットで
「Execute Trigger Parameter」ノードを使って再生条件となるトリガーを渡してあげます。
MetaSoundをBPで再生006
こんな感じになりました。

上記を実行すると、無事音声が再生されると思います。
設定が必要とはいえ、結構簡単に外部から再生できるのは嬉しいですね。

参考サイトだと「Audio Component」から「Get Parameter Interface」から「Trigger」ノードを実行していたのですが
上記のように「Audio Component」から直接「Execute Trigger Parameter」ノードが実行できました。

※ちなみにですが「Meta Sound(Meta Sound ソース)」アセットから
直接「Execute Trigger Parameter」ノードにも接続できるのですが、再生自体はどうもうまくいかない
ようです。
MetaSoundをBPで再生005
これはダメのようです。

「Meta Sound」は方法がたくさんあるようなので色々と覚えておきたいですね。

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

≫ EDIT

UE5 「Meta Sound」でループ位置などを指定して音声(Sound Wave)をイントロ的なループ再生する(Wave Player、Sound Wave)

「Meta Sound」でループ位置などを指定して音声(Sound Wave)をイントロ的なループ再生する方法です。

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

・音源(Sound Wave)を再生する
https://zenn.dev/posita33/books/ue5_metasound_createsound/viewer/chapter01_play_soundwave

音声(Sound Wave)のループ再生と、
イントロのように初回だけ頭部分が再生され、以降はループ期間が再生される。
といったものを試してみました。

音声(Sound Wave)のループ再生には「Wave Player」ノードを使います。
MetaSound再生006
「Play」には再生する場合のノードを接続します。
「Stop」には停止する場合のノードを接続します。
「Wave Asset」には「Sound Wave」アセットを指定します。
「Star Time」は開始時間を指定します。
「Pitch Shift」はピッチをどれぐらい変更するかを指定します。
「Loop」はループ再生かどうかを指定します。
「Loop Start」はループ再生の場合の開始位置を指定します。イントロありの場合に使う感じでしょうか。
「Loop Duration」はループ再生時にこの時間が過ぎたらループ位置に戻る時間を指定します。

注意点としてはループ再生が開始されるタイミングは「Loop Start」+「Loop Duration」の時間になるようです。
「Loop Duration」は「Loop Start」からの相対時間ということみたいですね。

イントロありの場合はループ開始位置(Loop Start)を設定すると思いますので
「Loop Start」を設定する場合は「Loop Duration」の設定には注意する必要がありそうです。
「Loop Duration」に「-1」を指定すると音声の最後という値になるようなので、
BGM などの場合で頭のイントロ部分だけ一回再生にした場合はあまり気にしなくてもよいのかもしれません。

というわけでこんな感じにノードを組んでみました。
MetaSound再生020
「Loop Start」と「Loop Duration」を設定してループ再生を行うものになります。

これを実行するとこんな感じで再生されました。


無事イントロ的な部分が一度再生され、それ以降は指定した区間でループされているようです。

ちなみにこのループ再生位置などのシーク部分についてですが、以下のようなものがあるようなのでメモです。

・MetaSound Wave Player のStartTime, LoopStartTime, LoopDuration がうまくいかない
https://forums.unrealengine.com/t/metasound-wave-player-starttime-loopstarttime-loopduration/537801

「Sound Asset Compression」が「ADPCM」の場合は「シーク可能」になるとのことです。


「Sound Wave」ファイルの設定で圧縮フォーマットが設定できるようです。
MetaSound再生018

ただ、現在は「BinkAudio」が選べるようになっていて、デフォルトもこの設定なので特に問題はなさそうです。

PCM/ADPCMのほか、いまやBinkAudioが選べるようになっており、
ビルドまで いってみないとわからないものの、音質の改善はちょっと期待できそうです。


一応のメモということで。

知らないことが結構たくさんありそうなので、ちゃんと勉強していきたいですね。

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

≫ EDIT

UE5 「Meta Sound」の「Meta Sound(Meta Sound ソース)」アセットのモノラル設定とステレオ設定を切り替えて再生する(Output Format)

「Meta Sound」の「Meta Sound(Meta Sound ソース)」アセットのモノラル設定とステレオ設定を切り替えて再生する方法です。

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

・音源(Sound Wave)を再生する
https://zenn.dev/posita33/books/ue5_metasound_createsound/viewer/chapter01_play_soundwave

まずはこんな感じで「Meta Sound(Meta Sound ソース)」アセットで、「Sound Wave」アセットを再生してみました。
MetaSound再生016
「Out Left」のみを「出力モノラル」に接続しているため、これはモノラル再生となります。
デフォルトではモノラル再生のようですね。

これをステレオ再生に切り替えてみます。
ウィンドウにあるメニューの「メタサウンド(MetaSound)」ボタンを押して詳細を設定します。
MetaSound再生015

詳細の中にある「Output Format」を切り替えます。
MetaSound再生010
ステレオ再生にしたいので「Stereo」を選択してみます。

すると「出力モノラル」が「出力左(Out Left)」と「右チャンネル出力(Our Right)」という二つのノードに変わります。
MetaSound再生017
「Wave Player」の「Out Left」と「Out Right」をそれぞれの出力ノードに接続します。

これでステレオ再生の設定に切り替わりました。

実行してみた結果がこちらになります。


無事モノラル再生がステレオ再生に切り替わったようです。
「Meta Sound」は色々とできるようなので少しづつ勉強していきたいですね。

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

≫ EDIT

UE5 「Meta Sound」で音声(Sound Wave)を再生する(Wave Player、Sound Wave)

「Meta Sound」で音声(Sound Wave)を再生する方法です。

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

・音源(Sound Wave)を再生する
https://zenn.dev/posita33/books/ue5_metasound_createsound/viewer/chapter01_play_soundwave

というわけで今回は「Meta Sound」で「Wav」ファイル(Sound Wave)を再生するところまでやってみます。

まずは「Meta Sound」プラグインを有効にします。
MetaSound再生000
これですね。

次に「Sound Wave」アセットを作成します。
「Wav」ファイルをコンテンツブラウザにドロップすることで生成することができました。
MetaSound再生001
「SOUND_TEST」という名称にしました。

次に「Meta Sound(Meta Sound ソース)」アセットを作成します。
MetaSound再生002
上記「Meta Sound(Meta Sound ソース)」アセットはサウンドメニューの直下にあるのですが、
サウンドの「Meta Sounds」の中にも同じようなものがあり、そちらはまた違うようなので注意が必要です。

というわけで「Meta Sound(Meta Sound ソース)」アセットを作りました。
MetaSound再生003
「NewMetaSoundSourceTest」という名称にしました。

次に上記「Meta Sound(Meta Sound ソース)」アセットを開きます。
MetaSound再生004
こんな感じのウィンドウが開きます。操作はBPと変わらないので覚えやすそうですね。

開くと「Input」の「On Play」と「Output」の「On Finished」と「出力モノラル」というノードがあります。
これだけだと何も再生されないので「Wave Player」というノードを使って音声を再生できるようにします。
MetaSound再生005
上記のようにBPと同じ操作でノードを検索して実行します。

するとこんな感じで「Wave Player」ノードが生成されました。
MetaSound再生006
パラメータとしてみたまんまのものが多いですね。
詳細はとりあえずとして、今回は再生をしたいだけなので「Wave Asset」のみの説明となります。
「Wave Asset」には「Sound Wave」アセットを指定します。
なので先ほど作成したアセットを指定します。

あとはこの「Wave Player」ノードが実行されるよるにノードを接続します。
MetaSound再生007
「On Play」ノードを「Play」に接続します。
「Out Left」を「出力モノラル」に接続します。
デフォルトではモノラル設定になっているので出力の片方のみをモノラルに接続しています。

というわけで無事接続できたので再生できるか確認してみます。
ウィンドウの上の方にある「プレイ」ボタンを押します。
MetaSound再生014

そうすると音声が再生されると思います。
MetaSound再生008
上記の画像のようにちゃんと再生されていればウィンドウの右側にある緑のバーが変化します。

これで再生の確認は終わりです。
このままでは再生したまま終わらないので(無音で再生され続けます)終了処理を実装します。

「Wave Player」の「On Finished」の出力を「On Finished」ノードに接続します。
MetaSound再生016
これで再生時に音声が終了すると正常に停止状態となります。
※左上に表示されている時間表示が止まります。

実行してみた結果がこちらになります。

出力がステレオ設定になっています(別で説明)がこんな感じで再生が確認できます。

とりあえず「Meta Sound」で音声を再生するだけならこの処理で問題なさそうです。
色々とできるようなので勉強していきたいですね。

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

≫ EDIT

UE5 「Meta Sound」でラジオ風の音声を再生をする(One-Pole High Pass Filter、One-Pole Low Pass Filter、Bitcrusher、Noise、Mono Mixer (2))

「Meta Sound」でラジオ風の音声を再生をする方法です。

こちらを参考にさせていただきました(というよりまんまです)

・MetaSoundでお手軽ラジオボイス風表現
https://game-dev-study.hatenablog.com/entry/2022/07/16/180339

参考サイトさんによるとラジオ風の音声にするためには以下の手順を踏むのが良いそうです。

・フィルタを使ってこもったような音声にする
・音質を悪くする
・仕上げにノイズを追加する


というわけでやってみました。

組んだノードはこんな感じになりました(参考サイトさんそのままです)
MetaSoundでラジオ風音声の再生000

結果はこんな感じになりました。


というわけで使ったノードのメモです。

・フィルタを使ってこもったような音声にする

「One-Pole High Pass Filter」ノード
MetaSoundでラジオ風音声の再生001
「High Pass Filter」は所定の周波数以下の成分をカットするフィルターです。

「One-Pole Low Pass Filter」ノード
MetaSoundでラジオ風音声の再生002
「Low Pass Filter」は所定の周波数以上の成分をカットするフィルターです。

上記二つのノードで「3000.0」以下と「6000.0」以上の周波数をカットしてこもるようにしているようです。

・音質を悪くする

「Bitcrusher」ノード
MetaSoundでラジオ風音声の再生003
「入力オーディオ信号をダウンサンプルし、ビット深度も下げる」といったもののようです。

・仕上げにノイズを追加する

「Noise」ノード
MetaSoundでラジオ風音声の再生004
ノイズを生成するノードのようです。

「Mono Mixer (2)」ノード
MetaSoundでラジオ風音声の再生005
二つの成分をミックスしてモノラルとして出力するもののようです。

そのうち一つ一つのノードの詳細を調べてメモしようかと思いますが、とりあえず簡易的なメモということで。
ラジオ風の音声再生だったりこういうのをお手軽にできるのは面白くていいですね。

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

≫ EDIT

UE5/UE4 2021/12 の無料マーケットプレイスコンテンツと永続コンテンツ(Art, Fashion, Automotive Galleries and Showcases | Dekogon Studios、Kraken | PROTOFACTOR INC)

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

公式情報はこちら。
・2021年12月の無料マーケットプレイスコンテンツ
https://www.unrealengine.com/ja/blog/featured-free-marketplace-content-december-2021

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

・Art, Fashion, Automotive Galleries and Showcases | Dekogon Studios
https://www.unrealengine.com/marketplace/ja/product/gallaries-and-showcase
Showcases.jpg

あなたのアセットのためのバーチャルステージが必要ですか?
最高のライトで展示できるショーケース環境を用意しました。
ハイファッションのステージ、自動車ショールーム、アート展示会などを、
4つのモジュール式環境と130以上のメッシュで無料で作り上げることができます。

This project includes everything pictured with all assets, maps, and materials created in the Unreal Engine. Each asset was created for realistic AAA quality visuals, style, and budget.
Art created by Dekogon Studios.
(このプロジェクトには、Unreal Engine で作成されたすべてのアセット、マップ、マテリアルで、
写真に写っているものがすべて含まれています。
各アセットは、リアルなAAA品質のビジュアル、スタイル、予算に合わせて作成されています。
アートはDekogon Studiosによって作成されました。)

と書いてあるので、メッシュやテクスチャやマテリアルが入っているようです。

Features:
4 different showcase galleries for Art, Fashion, and Automotive!
134 Meshes
High quality texture sets - 2k textures
Advanced master material setup that control the of all props and models
Modular construction and design for alternative designs where possible!
Realistic post process and look up table
Free of all legal issues as all branding and labels are custom made by our studio

Scaled to Epic Skeleton: Yes
Collision: Yes, automatically generated and per-poly mix based on complexity of asset
Vertex Count: Displayed in Documentation
LODs: Small Props LODs on 90%, some without that are very low poly already!
Number of Meshes: 134
Number of Materials and Material Instances: 168
Number of Textures: 316


・Kraken | PROTOFACTOR INC
https://www.unrealengine.com/marketplace/ja/product/kraken
Kraken.jpg

Kraken を解き放ちましょう!この独特なクリーチャーであなたの次のプロジェクトに恐ろしい驚きを追加しましょう。
19 の高品質なアニメーションで深海を進み、不運な海賊船を粉砕できます。

Here is an original interpretation of the mythic creature from the Nordic legends: Kraken. This huge monster will eradicate its enemies by smashing them with its tentacles or crushing them with its powerful claws.
The geometry is 52 Ktris, 24 Ktris for the whole body and 3.5 Ktris per tentacle. The rig is 173 bones (53 bones for the body and 15 bones per tentacle). Model uses 2 materials (Main body + tentacle, claw, leg) with up to 8192x8192 textures.
A set of 19 quality animations (6 being root motion variations) is included in the package.
(北欧の伝説に登場する神話上の生物を、独自の解釈で表現したのがこちら。クラーケン。
この巨大な怪物は、触手で敵を叩き潰したり、強力な爪で押しつぶしたりして、敵を殲滅します。
ジオメトリは52Ktrisで、全身が24Ktris、触手1本につき3.5Ktrisです。
リグは173ボーン(本体53ボーン、触手1本15ボーン)。
モデルは2つのマテリアル(本体+触手、爪、脚)を使用し、最大8192x8192のテクスチャを使用します。
19種類のアニメーション(6種類はルートモーションバリエーション)が同梱されています。)

と書いてあるので、クラーケンのメッシュやテクスチャやマテリアル、アニメーションが入っているようです。

Scaled to Epic skeleton: Yes
Rigged: Yes
Rigged to Epic skeleton: No
Animated: Yes
Number of characters: 1
Vertex counts of characters: 26.1 K
Texture Resolutions: 8192 (body) / 4096 (tentacle, leg, claw)
Number of Animations: 19
Animation types (Root Motion/In-place): Root Motion (6) and In Place (13)
Engine Compatibility: UNREAL ENGINE 4.10.4
Intended Platform: Desktop PC / MAC / XBox1 / PS4
Platforms Tested: PC
Documentation Included: No
Important\Additional Notes: None

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

≫ EDIT

UE5/UE4 カスタムコリジョンプリセットを追加して設定する(Collision、Preset)

カスタムコリジョンプリセットを追加して設定する方法です。

自作のコリジョンのコンポーネントなどを作成した場合など、
既存のコリジョンプリセットから選択するよりも、新たにプリセットを追加したほうが処理が整理されると思います。
コリジョンプリセットの追加と設定をするための方法です。

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

・UE4 コリジョンについて 基礎編
https://unrealengine.hatenablog.com/entry/2014/07/10/231035

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

・コリジョン反応の参照(Collision Response Reference)
https://docs.unrealengine.com/4.27/ja/InteractiveExperiences/Physics/Collision/Reference/

というわけでやってみました。
まずはメニューの「編集」の「プロジェクト設定」を開きます。
カスタムコリジョンプリセット000

次に「コリジョン(Collision)」を選択します。
カスタムコリジョンプリセット001
「Preset」を選択して、追加する場合は「新規」ボタンを。編集する場合は「編集」ボタンを押します。

新規を選択するとこんな感じのウィンドウが開いて設定して追加することができます。
カスタムコリジョンプリセット002
名前やそのほかの設定をして「承認」ボタンを押すとプリセットが追加されます。

こんな感じで追加されたのを確認することができます。
カスタムコリジョンプリセット003
カスタムプリセットだとアイコンが変わるようですね。

次に追加したコリジョンプリセットを設定してみます。
こんな感じで適当にコリジョンコンポーネントを追加します。
カスタムコリジョンプリセット004

このコリジョンコンポーネントの「コリジョンプリセット」を選択すると、
さきほど追加したコリジョンプリセットが選択できるのが確認できると思います。
カスタムコリジョンプリセット005

こんな感じでカスタムコリジョンプリセットを設定することができるので活用していきたいですね。

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

≫ EDIT

UE5/UE4 C++でUMGのウィジェット(UsetWidget)で「Tick」処理を実行する(UUserWidget::NativeTick)

C++でUMGのウィジェット(UsetWidget)で「Tick」処理を実行する方法です。

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

・UE4 WidgetをC++クラス継承してアクセスする
https://qiita.com/unknown_ds/items/4189b6c31322f46afdb3

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

・UUserWidget
https://docs.unrealengine.com/4.27/en-US/API/Runtime/UMG/Blueprint/UUserWidget/

C++でUMGのウィジェット(UsetWidget)で「Tick」を実行するには「NativeTick」関数を使います。

こんな感じでクラスに「NativeTick」関数を定義します。

// UUserWidget を継承したウィジェット(UsetWidget)クラスを作成
UCLASS()
class UNewUserWidget: public UUserWidget
{

GENERATED_BODY()
public:
// コンストラクタ
UNewUserWidget();
public:
// Tick
virtual void NativeTick(const FGeometry& MyGeometry, float InDeltaTime) override;
};


あとは関数の実態を記述すれば「Tick」処理を実行することができます。

// Tick
void UNewUserWidget::NativeTick(const FGeometry& MyGeometry, float InDeltaTime)
{

Super::NativeTick(MyGeometry, InDeltaTime);
}


これで無事「Tick」処理を実行することができました。

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

| PAGE-SELECT | NEXT