fc2ブログ

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

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

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

| PAGE-SELECT |

≫ EDIT

UE4 UMGの子になっているウィジェットの位置をオフセット指定で動的に動かす(SetRenderTranslation)

UMGのウィジェットの中に、子としてウィジェットをいれることができるのですが、
この子のウィジェットの位置を動的に動かす方法です。

・Set Render Translation
https://docs.unrealengine.com/latest/INT/BlueprintAPI/Widget/Transform/SetRenderTranslation/index.html

上記の「SetRenderTranslation」ノードを使います。
使い方はそのままで、ウィジェットを繋いで「Translation」の位置をセットします。
RenderTranslation000.jpg
これだけで普通にその位置に移動します。

注意点としては、あくまで描画時のオフセット位置の指定になるようなので、
ウィジェットをレイアウトで左上に配置していない限りは、
初期配置の位置に、「Translation」の値を足した位置に表示されることになります。

となるとプログラムで全部管理するには全部左上に配置しないといけないので
使い道はなかなか難しいかもしれませんが、とりあえず移動が動的にできる方法ということで。

| UE4 | 16:19 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 完全にランダムな処理を実行する(MultiGate)

ランダムにどれかの処理を実行してほしいという場合の実行方法です。
「MultiGate」を使ってできそうな気がしたので試してみました。
何かほかに簡単な方法があったら教えてください!

「MultiGate」の「IsRandom」にチェックを入れることで、ランダムに処理が実行されるのですが、
それを毎回リセットすることで、前と同じ処理が実行されるのも含めてランダムに実行します。
完全ランダム処理000
「Sequence」ノードで必ず後に「MultiGate」の「Reset」に処理を流すことで、
毎回「MultiGate」の処理のどれかがランダムに実行される。という仕組みです。

もしかしたら、最初に「Reset」に流してからがよいのかなーと思いましたが、
これでもランダムに動くので大丈夫かなと。

ゲームを作ってると案外ランダムに処理したいという場合があるので、
こういった処理が簡単にできるのはよいですね。

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

≫ EDIT

UE4 複数の処理を毎回どれか一度だけ実行する(MultiGate)

ちょっと言葉で説明するのは難しいのですが、
複数の処理を毎回どれかが実行され、なおかつ一度だけ実行されるような処理の作り方です。

・フロー制御
https://docs.unrealengine.com/latest/JPN/Engine/Blueprints/UserGuide/FlowControl/index.html#multigate

「MultiGate」というノードになるのですが、
このノードは「Out」に接続された処理を毎回一度だけ上から順に実行していきます。
MultiGate000.jpg
この場合だと、最初は「Out0」が実行され、二回目は「Out1」が実行されます。

「IsRondom」にチェックをいれると、ランダムな順番で実行されます。
一回ずつ実行されると処理がそこで終わるのですが、
「Loop」にチェックを入れると、再度最初からまた実行されるようになります。

Reset ノードに接続され処理がまわってくると、実行した状態のフラグが解除され、
再び、また一回ずつ実行されることになります。

こう書いてみると、使いどころはなかなか難しい気がしますね…。
ランダム系の処理で使えそうな気がするのですが、それはまた別の機会にでも。

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

≫ EDIT

UE4 ノードを繋ぐ線を綺麗に整える(Rerouteノード)

ノードとノードを繋ぐ線を綺麗に整える方法です。
Reroute ノードというみたいですね。

・rerouteノードの仕組み
http://imoue.hatenablog.com/entry/2016/04/15/233619

・ノードを接続する
https://docs.unrealengine.com/latest/JPN/Engine/Blueprints/BP_HowTo/ConnectingNodes/index.html

上記のサイトを参考に。
reroute ノードのやりかたは簡単で、
ノードを繋ぐ線上をダブルクリックすることでRerouteノードを作ることができます。
あとはそのRerouteノードを移動したり、Rerouteノードに接続したりできます。
rerouteノード000
こんな感じでまとめたり、見やすくしたり。

これを使うとブループリントを見やすくできそうなので積極的に使っていきましょう!

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

| PAGE-SELECT |