fc2ブログ

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

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

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

| PAGE-SELECT |

≫ EDIT

UE4 存在せずエラーになっている変数を簡単に作成する(Create Variable)

他のBPから処理をコピーしてきたときに、
使っている変数が存在しなくてエラーがでてしまっている場合に
その変数を簡単に作成する方法です。

参考にさせていただいたサイトはこちら。

・[UE4] ちょっとだけ幸せになれるブループリント
http://historia.co.jp/archives/4120/

この方法の存在を知ったのは以下のツイートでした。

手順としては、参考サイトさんに書いてある以下のものになります。

ここで変数を左クリックで選択した状態にし、
ノード上で右クリックをすると以下のように「Create variable ‘変数名’」「Create local variable ‘変数名’」が現れるのでクリックします。
するとこのように変数名が維持されたまま新規の変数が自動的に作られます!

関数をまたげるだけでなく、ブループリント間も同様の操作でまたげるので
一部関数をBlueprintFunctionLibraryに纏める必要が出てきた際などに使えそうです。


まずはこんな感じに変数を作成して処理を書きます。
変数のコピペエラー000
変数のコピペエラー001
コンパイルしてみると普通に動きますね。

この処理を他のBPにコピーしてコンパイルします。
変数のコピペエラー002
変数がないのでエラーになります。

これを解消するために、
エラーになっている変数のノードを右クリックして
「変数○○を作成(Create Variable)」を選択して実行します。

変数のコピペエラー003

そうするとこんな感じで同じ名前と型で変数ができあがりました!
変数のコピペエラー004

便利ですね!
もっとはやく知っておけばよかったです!

| UE4 | 21:24 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 浮動少数値の端数部分のみを取得する(Fraction)

浮動少数値の端数部分のみを取得する方法です。

参考サイトはこちら。

・Math 表現式
https://docs.unrealengine.com/ja/Engine/Rendering/Materials/ExpressionReference/Math/index.html
※「Frac」という項目のところにあります。

「Fraction」というノードがあるようですね。

Frac 表現式は、値を受け取り、受け取った値の端数部分を出力します。
言い換えると、入力値が "X" の場合、結果は "X - X の Floor" です。
出力値は 0 から 1 です。
下限は含みますが、上限は含みません。


といった感じの挙動になるようです。

・Fraction
Fraction002.png
「A」はFloatの値を指定します。
「Return Value」は端数部のFloat値になります。


実際にテストしてみました。
Fraction000.png
こんな感じでノードを繋いでみました。

結果はこんな感じに。
Fraction001.png
「1.8」というFloat値の端数部が「0.8」というFloat値に変換されました。
「1.3」というFloat値の端数部が「0.3」というFloat値に変換されました。


ここらへん結構簡単にできるのはいいですね!

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

≫ EDIT

UE4 浮動少数値の端数部分を四捨五入して整数に変換する(Round)

浮動少数値の端数部分を四捨五入して整数に変換する方法です。

参考サイトはこちら。

・Math 表現式
https://docs.unrealengine.com/ja/Engine/Rendering/Materials/ExpressionReference/Math/index.html

「Round」という浮動小数を四捨五入して整数にするノードがあるようですね。

Round は端数部分が半分以上の場合、その値を次の整数へ値を四捨五入します。半分以下の場合は切り捨てます。
例:
1.1 は四捨五入すると 1 となります。
1.4 は四捨五入すると 1 となります。
1.5 は四捨五入すると 2 となります。
1.85 は四捨五入すると 2 となります。

といった感じの挙動になるようです。

・Round
Round002.png
「A」はFloatの値を指定します。
「Return Value」は小数部を四捨五入した整数になります。

実際にテストしてみました。
Round000.png
こんな感じでノードを繋いでみました。

結果はこんな感じに。
Round001.png
「1.8」というFloat値の小数部が四捨五入されて「2」という整数に変換されました。
「1.2」というFloat値の小数部が四捨五入されて「1」という整数に変換されました。

ここらへん結構簡単にできるのはいいですね!

| UE4 | 20:18 | comments:0 | trackbacks:0 | TOP↑

| PAGE-SELECT |