【Unity】数値型のフィールド用のエクスプレッションについて

Unityでは数値型のフィールドにC#のエクスプレッションや数式を入力ことができます。

今回、例として上記のシーンにあるオブジェクトのTransformのコンポーネントの入力フィールドを使って、オブジェクトを様々な形状で配置する方法をご説明します。これを活用しワークフローをスピードアップさせましょう!

基本的なC#のエクスプレッション

L(a,b)

L(a,b)というエクスプレッションを使うと、選択したオブジェクトをaとbの間に列で並べることができます。これは、スケールや回転の入力のフィールドにも使うことができます。

R(a,b)

R(a,b)というエクスプレッションを使うと、選択したオブジェクトをaとbの間にランダムで配置したり、回したり、スケールすることができます。

R(a,b)のエクスプレッションは、以前に配置されたオブジェクトにランダムな回転を付けたい際に便利です。

現在の値を調整するエクスプレッション
+= -= *= /=

例えば、*=1.5というエクスプレッションを使うと、各オブジェクトの現在値に1.5を掛けることができます。

注意:スケールする場合は「Enable Constrain Proportions」のボタンを消さないと、エクスプレッションを利用することができません。

数式

数値型のフィールドで数式をするために下記の演算子を使います。

+足し算
例: 3+2を入力すると、5になります
引き算
例: 3-2を入力すると、1になります
*掛け算
例: 3*2を入力すると、6になります
/割り算
例: 3/2を入力すると、1.5になります
^冪乗
例: 3^2を入力すると、9になります
( )括弧
例: (3+2)*4を入力すると、20になります
%剰余演算
例: 5%2を入力すると、1になります

数学関数

sqrt(a)平方根
例: sqrt(36)を入力すると、6になります
floor(a)小数第一位で切り捨てること
例: floor(1.4)を入力すると、1になります
floor(1.5)を入力すると、1になります
ceil(a)小数第一位で切り上げること
例: ceil(1.4)を入力すると、2になります
ceil(1.5)を入力すると、2になります
round(a)小数点を四捨五入すること
例: round(1.4)を入力すると、1になります
round(1.5)を入力すると、2になります
三角関数
pi円周率
例: piを入力すると、3.141593になります
sin(a)サイン
例: sin(pi/6)を入力すると、0.5になります
cos(a)コサイン
例: cos(pi/3)を入力すると、0.5になります
tan(a)タンジェント
例: tan(pi/4)を入力すると、1になります

C#のExpressionEvaluatorのヘルプのページで、お使いのUnityのバージョンに合った数式を確認することができます。

Unity 2023.2 – Expression Evaluator Help

エクスプレッションを利用して、オブジェクトを円状に配置する方法

X軸:cos(L(0,2*pi))*円の半径
Z軸:sin(L(0,2*pi))*円の半径

軸の入力フィールドずつに上記の数式を入力すると、選択したオブジェクトを円状に配置することができます。

参考サイト

Unity 2023.2 – Expression Evaluator Help

Unity 2023.3 – Help (プロパティの編集)

Daniel Ilett – Six Grass Rendering Techniques in Unity (3:27)

関連記事

  1. Deferred Decalsを使い、Overwatchのようなビルの角の制作方法

    2023-11-27

  2. ゲーム用テクスチャの活用② ~テクスチャパッキング~

    2023-11-08

  3. 【Unity】UVスペースのディストーションシェーダー

    2023-07-10

  4. 【Unity】初心者向け!配置作業を便利にする方法

    2024-08-13

ページ上部へ戻る