インスペクタ上で計算する
インスペクタ上の数値を入力できる欄では、符号を使って計算を行うことが出来ます。
- 右に1m移動したい(+1)
- 幅を2倍にしたい(*2)
- 高さを今の半分にしたい(/2)
などなど。
Transform上の座標などは、計算式を入力している段階でSceneView上に反映されるので試行錯誤する場合に役に立ちます。
インスペクタ上で使用できる計算式
加算
足し算です。
X座標とY軸の角度を変更します。
減算
引き算です。
座標と角度を変更してみます。
乗算
かけ算です。スケールを変更してみます。
除算
割り算です。スケールと角度を変更してみます。
いわゆる四則演算でした。
%
を使って、あまりを使用することも出来ます。
数式
UnityEngineのMathfで使用できるようなメソッドも一部使用できます。
pi
円周率です。Mathf.PI
にあたります。そのまま変数のように使用できます。
sin
Mathf.Sin
です。関数のように使用します。引数はradian
で角度を指定します。
sin(90*pi/180)=1
なので、X座標に入力すると1へ移動します。
cos
Mathf.Cos
です。関数のように使用します。引数はradian
で角度を指定します。
cos(180*pi/180)=-1
なので、X座標に入力すると-1へ移動します。
^
Mathf.Pow
です。値をべき乗します。
その他
これら以外に
tan
sqrt
floor
ceil
round
も使用できます。是非試してみてください。
一様分布
複数のオブジェクトを選択した状態で、
L(a,b)
と入力すると、aとbの間で値が均等に設定されます。
同じ座標にある球にL(-2, 2)
と入力してみました。
乱数
R(a,b)
と入力することで、aとbの間の乱数を設定できます。
インデックス
複数のオブジェクトを選択した状態で、#を使用すると選択中のオブジェクトのインデックスとして使用できます。
12個の球を用意した場合にインデックスを使って円周上に並べてみます。
- x座標に「
2*cos(#/12*2*pi)
」 - z座標に「
2*sin(#/12*2*pi)
」
と入力してみました。
変数
複数のオブジェクトを選択した状態で、v
を使用すると、元の値を代入した上で一括で計算することが出来ます。
一定間隔で並べた球の座標を1.2倍してみました。
v
以外に、x
、f
でも代用できます。
まとめ
インスペクタ上で使用できる計算式について説明しました。
これらの数式や関数は、位置調整や値設定の手間を大幅に減らし、より直感的に操作を行うことが可能になります。
特に複数のオブジェクトを同時に操作する際や、特定のパターンで配置したい場合には大いに役立つでしょう。
Unityをより効率的に使いこなすための一つのテクニックとして覚えておくと良いでしょう。