メインコンテンツまでスキップ

CustomTransform

概要

4x4変形行列の値を直接入力して、自由な変形(回転・傾き・移動の組み合わせ)を適用します。たとえば、複数の変形を一度に組み合わせる場合に使用します。

プロパティ

プロパティ説明デフォルト値
Transform(Matrix4)4×4変形行列を直接入力して、自由変形(拡大・移動・回転・傾きの組み合わせ)を適用します。Studioの編集パネルでは、Transform(Matrix4)グループの4×4入力グリッドで16個の成分を編集します。各成分の内部プロパティ名はarg0arg15(列優先、column-major)です。数値16個(arg0〜arg15)単位行列(arg0・arg5・arg10・arg15 = 1.0、それ以外 = 0.0)
alignment行列変形の基準点を指定します。アライメント値中央
transformHitTest変形を適用した位置を基準にタッチ判定を行うかどうかを指定します。オン/オフオン
filterQuality行列変形を適用してレンダリングするときに使用する画像品質(補間方式)を指定します。none, low, medium, high未設定

使用例

Transform(Matrix4)は、4×4行列を列優先(column-major)の順に埋めます。16個の成分の位置は次のとおりです。

| arg0 arg4 arg8 arg12 |
| arg1 arg5 arg9 arg13 |
| arg2 arg6 arg10 arg14 |
| arg3 arg7 arg11 arg15 |

よく使う成分は次のとおりです。

  • arg0 = 横方向の倍率(scaleX)、arg5 = 縦方向の倍率(scaleY)
  • arg12 = 横方向の移動(translateX, px)、arg13 = 縦方向の移動(translateY, px)

デフォルト値(単位行列)から、以下の成分だけを変更します。

目標設定する成分
2倍に拡大arg0 = 2.0, arg5 = 2.0
右に40・下に20移動arg12 = 40.0, arg13 = 20.0
横2倍+右に40移動arg0 = 2.0, arg12 = 40.0
左右反転(flip)arg0 = -1.0

スクリプトでは、成分名(arg0arg15)で個別に設定できます。

// 2倍に拡大+右に40px移動 (customTransformID = Custom TransformウィジェットのID)
customTransformID.setProperty("arg0", 2.0); // 横方向の倍率
customTransformID.setProperty("arg5", 2.0); // 縦方向の倍率
customTransformID.setProperty("arg12", 40.0); // 横方向の移動
警告

arg0arg5(倍率)を0にすると、ウィジェットが画面から消えます。特定の変形だけを適用する場合は、単位行列の状態から必要な成分だけを変更してください。