ゲーム作りが大好きな人のブログ

ゲームを作るのが大好きな人のブログ。UE4とBlender、MAYA(LT)、3DCoatを使用しています!

【UE4:ブループリント】マクロを使って楽をしよう その1 ~ 参照渡し編 ~

f:id:toofu0:20150407203737p:plain製作進捗を書きたい所なんですが、色々と問題にハマって悲惨な事になってるので

以前から書きたかったマクロ絡みのテクニックを紹介します。

初心者向けの内容です。

 

さて、上画像の左側のやり方ですが……

やっている事は単純でfloat型の変数に値を足しているだけなのですが

これが非常に手間で、ブループリントの領域を大きく取っているなんて事はありませんか?

 

実はこれ、右側のようなマクロを自作する事で省略する事が可能です。

では、具体的なやり方(マクロの中身)を説明しましょう。

 ※適当なマクロ一個作って試してみてね!

 

◆ マクロの中身

f:id:toofu0:20150407205103p:plain

f:id:toofu0:20150407205106p:plain

 

の画像がマクロの中身で、②の画像が引数と戻り値の詳細となります。

重要なのは float型の [ ref ] 引数が参照渡しになっている事です

 

参照渡しってなんぞ?と思う方もいるとは思いますが

C++C#などで参照渡しなどでググると大体分かると思います。

ぶっちゃけて言いますと知らない方は今覚えなくてもいいです。

 

◆ Float( 参照渡し ) を設定

次にの画像にある[ Float ( 参照渡し ) を設定 ] について説明します。

まず、これの出し方が分からないと思うので

下の図とテキストを見ながら出してみてください。

f:id:toofu0:20150407205853p:plain

  1. 引数のRefを左ドラッグし何もない所までマウスを持っていきます
  2. ドラッグをやめます。そうするとメニューが表示されます
  3. キーボードでrefと入力します
  4. 「参照渡し変数を設定」という項目が出るのでそれをクリックします

 

上手くできましたか?

後は①の画像の形のように作ればOKです。

 

これでfloat型の数値を足すのが楽になりました。

余裕があれば減算用のマクロや、整数型の加算減算のマクロを作ると

もっと楽になると思います。

◆ 余談

ワイルドカードを使えば整数・小数ともに利用できる

マクロが出来るのではないかと思ったのですが上手くいきませんでした。

もし出来るのであれば教えていただきたいです。

 

次回はオブジェクトマクロライブラリーについて説明します。

上記のマクロもObject型を継承したブループリントマクロライブラリーに

入れておけば非常に楽になりますので、やる場合はそちらの方がオススメです。