Gaming Life

一日24時間、ゲームは10時間

UE4小ネタ

UE4 メッシュの一部の色をBPで動的に変更する

以前の記事でマテリアルエディタ上で一部の色だけを切り替える仕組みを作った。で、折角だしBlueprint上でパラメータを切り替えられるようにしようと試してみた。 ai-gaminglife.hatenablog.com 動的にマテリアルのパラメータを制御するBPを作る 詳細は省く…

UE4 メッシュの一部の色だけをパラメータで切り替えられるマテリアルを作る

unrealengine.hatenablog.com 上記のブログ等で物体全体の色をパラメータで切り替えるなどは紹介されているが一部だけの色を切り替えるみたいなものは見つけられなかったのでそれを自前で実装した。マテリアル全体の構成は以下の通り。 ちなみに今回、マテリ…

イベントディスパッチャーを使ってUMGの文字を変える

前回の続き。 ai-gaminglife.hatenablog.com UMGの詳細パネルからプロパティに関数バインディングすると毎フレーム処理が走ってしまい良くない。今回はその一つの解決法。 イベントディスパッチャーを使って必要な時だけ関数を呼び出す 今回はThirdPersonCha…

UMGの詳細パネルから関数を作ってバインディングするのは良くない

今日Twitterで教えてもらい知ったこと。下の記事でも使っているテクニックのUMG要素の制御関数を詳細パネルで作るのは良くない。 ai-gaminglife.hatenablog.com それを確かめるのに簡単なテスト。UMGを作成し、Textを配置、そこからバインディングする関数Ge…

Blutilityで遊んでみる(2) UE4.20 コンテンツブラウザ上でアセットの詳細設定を一括で変更する

以下の記事でボクセルモデルをFBXとして取り込む時、テクスチャの設定を Compression -> Compression Setttingを "UserInterface2D"に変更 Texture -> Filterを "Nearest" に変更 Level Of Detail -> Texture Groupを "2D Pixels" に変更 の様に変更する必要…

特定のBPインターフェースを実装しているか判定する関数(Does Implement Interface)

超小ネタ。 特定のインターフェースを実装しているかどうかで処理を分けるには、「Does Implement Interface」という関数を使えば良さそう。 上の画像は現在制作中のゲーム。青色の矢印床には「インターフェースA」を実装しており、橙色矢印床には実装されて…

UE4 ForLoopwithBreakの改造(デクリメントとDelayを実装)

超小ネタ。以前の記事で「For Loop With Delay」マクロを自作したが、 ai-gaminglife.hatenablog.com これに加えてBreakとデクリメントでループを回す必要がある場面に遭遇したので「For Loop With Break and Delay Decrement」マクロを自作した。 ForLoopを…

UE4 UE4で偏りを持った乱数(正規乱数)を生成して敵AIのエイムを適度に散らしてみる

マケプレのセールで買ったアセットが4.18未対応で泣いた。 ブループリントで乱数を生成するには、Rand Float in Range 等を使う。で、この ブログ を見ると分かる通り、帰ってくる乱数は例えば1-10までの整数乱数を生成するとだいたいどの数字も同じ確率で出…

UE4 特定のStaticMeshをナビメッシュの計算対象外にする

小ネタ。日本語情報が見当たらなかったのでブログに残しておく。 ai-gaminglife.hatenablog.com 極め本22章23章でLevelに配置した TargetPoint を永遠に巡回するみたいなAIがあるが(上記過去記事参照)、StaticMesh コンポーネントを持った Pawn を件のAIで…