fc2ブログ

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

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

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

| PAGE-SELECT |

≫ EDIT

UE4 ビヘイビアツリー(Behavior Tree)を実行する(Run Behavior Tree)

ビヘイビアツリー(Behavior Tree)を実行する方法です。
ビヘイビアツリー自体の作り方や制御の仕方についてはまた別途ということで。

こちらを参考にしました。

・ビヘイビアツリーのクイックスタート ガイド
http://api.unrealengine.com/JPN/Engine/AI/BehaviorTrees/QuickStart/index.html

・8. Controller ブループリント:ビヘイビアツリーを実行する
http://api.unrealengine.com/JPN/Engine/AI/BehaviorTrees/QuickStart/8/index.html

ビヘイビアツリーを実行するには「Run Behavior Tree」ノードを使います。
RunBehaviorTree000.png
「Target」には「AI Controller」を指定します。
「BT Asset」にはビヘイビアツリーを指定します。

このノードの詳細についてはこちらの資料が参考になります。

UBehaviorTreeComponent がなければ AAIController に追加する  RunBehaviorTree() を何度も呼び出しても UBehaviorTreeComponent は 1 つだけしか付加されない

引数 BTAsset に Blackboard Asset が指定されていて、 かつ UBlacokboardComponent が存在しないか 存在していても互換性がない場合、 UseBlackboard() が実行される  UseBlackboard() Node を実行しなくても UBlackboardComponent が追加されていたのはこのため  既存の Blackboard の Asset が BTAsset が指定する Blackboard Asset の親である場合、 または両者の Key がすべて同一であれば、 互換性があると見なされる  要するに、これから実行する BehaviorTree 内で使われる可能性のある Key が 既に存在する UBlackboardComponent 内に無いのは困るので、 その場合は UBlackboardComponent を作り直してしまえ、ということ

引数 BTAsset が NULL のときのみ false を返す

ここらへんは内部処理として覚えておきたいですね。

実際に使ってみるとこんな感じになります。
RunBehaviorTree001.png

あとはビヘイビアツリーの中身次第ですね。

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

≫ EDIT

UE4 プレイヤーのスポーン(Spawn)位置を設定する(Player Start)

テンプレートでレベルを作成した際などに、
レベルにプレイヤーを置いて、そのプレイヤーの位置からプレイするとはじまりますが
それとは別に、プレイヤーがスポーン(Spawn)する位置を設定する方法です。

普通はこんな感じでプレイヤーが配置されていると思います。
PlayerStart005.png

プレイヤーがスポーン(Spawn)する位置を設定するには
「Player Start」というアクターを使います。

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

・Player Start
http://api.unrealengine.com/JPN/Engine/Actors/PlayerStart/index.html

プレイヤーをワールドの任意の場所にスポーンする機能は、
あらゆるゲームで非常に役立つ機能です。
UE4 には、これを行う Player Start という特殊なアクタがあります。
Player Start は、ゲーム ワールド内のプレイヤーの開始位置です。


とりあえず「Player Start」アクターを配置してみましょう。

Player Start アクタは、[Modes (モード)] パネルの [Basic (基本)] カテゴリにあります。


「Player Start(プレイヤースタート)」アクターをワールドに配置します。
PlayerStart000.png
こんな感じになりました。
PlayerStart001.png
コントローラーみたいなアイコンが表示されているはずです。

あとは「プレイ」項目の「プレイヤーを特別な位置にスポーンする」の項目を
「Player Start」に指定することで、「Player Start」の位置から始めることができます。
PlayerStart002.png

これで一応設定は終了です。

ですが、ちゃんと設定したのにプレイヤーの位置変わらないんだけど!
という状況が発生すると思います。

ずばりこれですね!

・Player Start位置で開始されない
https://answers.unrealengine.com/questions/591958/player-start%E4%BD%8D%E7%BD%AE%E3%81%A6%E9%96%8B%E5%A7%8B%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84.html

既にプレイヤーキャラクターをレベルに配置している場合。
設定によってはそちらが優先されてしまい「Player Start」が無視されしまうようです。

プレイヤーキャラクターを選択して詳細を開き
PlayerStart005.png

「Auto Possess」が「Player N」になっていると思うので
PlayerStart003.png
「Disable」に設定してあげましょう。
PlayerStart004.png
こんな感じですね。

これで無事スポーン位置が変わったと思います!

| UE4 | 14:44 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 第6回UE4勉強会 in 大阪

第6回UE4勉強会 in 大阪 という大阪でのイベントがあったようなのでまとめです。
ツイッターでお気に入りにしていたのに忘れていたのでいまさらですが…。

・第6回UE4勉強会 in 大阪
https://ue4study-osaka.connpass.com/event/86875/




とりあえず自分用メモとして。

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

≫ EDIT

UE4 ポストプロセスエフェクト(Post Process Effects)の既存機能(レンズフレア(Lens Flare))

ポストプロセスエフェクト(Post Process Effects)の既存機能を実装する方法です。
今回はレンズフレア(Lens Flare)についてです。

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

・ポストプロセス エフェクト
http://api.unrealengine.com/JPN/Engine/Rendering/PostProcessEffects/

・レンズフレア
http://api.unrealengine.com/JPN/Engine/Rendering/PostProcessEffects/LensFlare/index.html

レンズフレア 効果は、カメラレンズのマイナスの特性が原因で、明るいオブジェクトが表示されると光源の散乱をシミュレートする画像ベースの技術です。


といったもののようです。

とりあえずやってみましょう。
まずは「Post Process Volume」を配置します。
ポストプロセス010

「Post Process Volume」の詳細にある「Lens」の「Image Effects」の
「Lens Flares」をいじってみましょう。
レンズフレア001

こんな感じになりました。
レンズフレア000

パラメータの詳細についてはドキュメントを見るのが早そうです。

「Tint」
レンズフレア効果全体の色調を弱めます。
「Threshold」
レンズフレア効果を出すためのピクセルの最低輝度を定義します。閾値が高ければ高いほど、閾値を通過するピクセル量に加フィルレート コストが直線的に増加するためパフォーマンスが向上します。
「Bokeh Size」
ボケ形状の半径をスケーリングします。活用例:画像ベースのレンズフレアの見た目とパフォーマンスの微調整 (半径を 2 倍 -> 描画速度が 4 倍増)。
「Bokeh Shape」
レンズフレアの形状を定義する際に利用するテクスチャ。
「Lens Flare Tints」(1/2/3/4/5/6/7/8)
個々のレンズフレアの色調を弱めます。
「Intensity」
画像ベースのレンズフレアの輝度スケール (リニア)。

となるようです。

| UE4 | 11:35 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 アーティスト向け勉強会 in 大阪 メモ

UE4 アーティスト向け勉強会 in 大阪 というのがあったらしいのでメモです。

・UE4 アーティスト向け勉強会 in 大阪
https://connpass.com/event/87365/

記事が上がっているものをぺたり。





こういう資料はとても助かりますね。

| UE4 | 12:12 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 Output Log にタイムスタンプを表示するようにエディタで設定する(Log Timestamp Mode)

Output Log に時間が表示されるようにする方法です。
発端はおかずさんのこちら。

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

まずログ自体はこんな感じで表示されます。
ログにタイムスタンプ003
この各行の頭に時間を表示してみます。

「エディタの環境設定」を選択します。
ログにタイムスタンプ000

「外観」の項目を選びます。
ログにタイムスタンプ001

「Log Timestamp Mode」を「None」以外に設定します。
ログにタイムスタンプ002

結構種類がありますね。
ログにタイムスタンプ004

試しに「Local time」に設定してみるとこんな感じに。
ログにタイムスタンプ005

個人的にはいつのやつかわかったほうがいいので表示を推奨したいですが
ログがごちゃごちゃするかもなので好みかもしれませんね。

| UE4 | 15:36 | comments:0 | trackbacks:0 | TOP↑

| PAGE-SELECT |