UnityユーザーのためのUEブループリント入門
コードとビジュアル両方のスクリプトを比較してゲームエンジンを学びます

8. 計算

Unity、Unreal Engineブループリントの基本的な算術演算子を例にして、その記述方法の違いを見ていきます。
  • 四則演算と余り算
  • 等しさを表すには

8. Unityの計算

8.1 四則演算と余り算

void Start(){
    int a;
    a = 1 + 1; //2
    a = 1 - 1; //0
    a = 1 * 1; //1
    a = 1 / 1; //1
    a = 1 % 1; //0
}
void Update(){
}

8.2 等しさを表すには

'== 等しい
'!= 等しくない
等しいは単なる事実で命令ではありません。
void Start(){
    int b = 1;
    b = b + 1; //2
    b == 2;
}
void Update(){
}

8. UEブループリントの計算

8.1 四則演算と余り算

足し算(加算)

Make Literal IntノードはInteger型の変数を作成するノードです。

引き算(減算)

掛け算(乗算)

割り算(除算)

余り算(剰余)

Unityのように一度に計算すると以下のようなイベントグラフになります。
さらにSequenceノードを使うと、実行ワイヤーを整理することができます。
また、同じIntegerの値を他のノードと共有することもできます。
🔗 参考リンク
Qiita
ブループリントで変数、数値演算、論理演算、条件分岐、型変換(Unreal Engine 4.25)

Transformの掛け算について

Qiitaで気になる記事がありましたのでメモしておきます。Compose Transformノードは掛け算の順番はピンがB->Aとなっている、というのを見かけましたが、UEのヘルプにはA->Bの順に構成するとあるので、Transform同士の掛け算はその結果に注意しましょう。
2 つの変換を A * B の順に構成します。
変換を構成するときは順序が重要です。A * B は、論理的に最初に A を適用し、次に B を後続の変換に適用する変換を生成します。
例: LocalToWorld = ComposeTransforms(DeltaRotation, LocalToWorld) は、ローカル空間の回転を DeltaRotation で変更します。 例: LocalToWorld = ComposeTransforms(LocalToWorld, DeltaRotation) は、ワールド空間の回転を DeltaRotation で変更します。
🔗 参考リンク
Unreal Engine Developer Forum
How to use compose transform
🔗 参考リンク
Qiita @ykobayashi0
[UE4] Transformの変換の基礎の基礎

計算式を省略できるインクリメント・デクリメント

足し算を+ノードの代わりにインクリメント(++)ノードを使って記述することもできます。
引き算も-ノードの代わりにデクリメント(--)ノードを使って記述することもできます。

8.2 等しさを表すには

Unityで書いたソースコードと同じように作成すると、実行ワイヤーにできるノードがなく、EqualノードのピンがBoolean型になっていますので、Unityのような表現はできません。
等しくない場合についても同様に、Not EqualノードのピンがBoolean型になっていますので、Unityのような表現はできません。