Skip to content

routersys/YMM4-ShapePaste

Repository files navigation

図形の貼り付け for YMM4

License .NET Release


YukkuriMovieMaker4(YMM4)上で動作する、アイテムの上に図形を描画・合成する映像エフェクトプラグインです。 Direct2D の AffineTransform2DColorMatrixComposite エフェクトチェーンを用いて図形の描画・変形・合成処理を行います。

Image


目次

  1. 概要
  2. 動作要件
  3. インストール方法
  4. 機能
  5. パラメータ一覧
  6. 表示方法の詳細
  7. 注意事項
  8. 免責事項
  9. ライセンス

概要

本プラグインは YMM4 の映像エフェクトとして動作します。 任意の図形を指定した位置・サイズ・回転・不透明度で描画し、元アイテムに対して4種類の合成モードで重ね合わせることができます。

処理は YMM4 内部の IShapePlugin / IShapeSource を用いて図形を GPU 上でレンダリングし、ColorMatrix で不透明度を制御したのち、AffineTransform2D で位置・拡大率・回転・Z 軸遠近を適用し、最終的に Composite エフェクトで元映像と合成する、という形で行われます。

また、サイズ追従機能により図形の各端を元アイテムの端に固定し、元アイテムのサイズに合わせて図形を自動リサイズすることができます。


動作要件

項目 要件
OS Windows 10 / 11 (64bit)
YukkuriMovieMaker4 最新版を推奨
ランタイム .NET 10.0

インストール方法

  1. Releases ページから最新のプラグインファイル(.ymme)をダウンロードしてください。
  2. YMM4 が起動していないことを確認し、ダウンロードしたファイルを実行(ダブルクリック)してインストールします。
  3. YMM4 を起動し、映像エフェクトの追加から 「図形の貼り付け」 を選択してください。

機能

1. 図形描画

任意の図形を YMM4 の IShapePlugin を介して GPU 上でレンダリングします。図形の種類は YMM4 に登録されているすべての図形プラグインから選択できます。

  • フレームごとにアニメーション値の変化に追従して描画内容を更新します。
  • 図形の種類が変更された場合、または ShapeParameter が未設定の場合、EndEditAsync のタイミングで対応する IShapeParameter を自動生成します。
  • 図形のパラメータは選択した図形プラグインに応じた設定項目が表示されます。

2. 変形・配置

描画された図形に対して、以下の変換を ColorMatrix および AffineTransform2D エフェクトで適用します。

  • 不透明度: ColorMatrix のアルファ成分(M44)を乗算することで不透明度を制御します。
  • X / Y 移動: AffineTransform2D の平行移動行列で描画位置を移動します。サイズ追従が有効な場合、固定した端の位置に基づいてオフセットが自動計算されます。
  • Z 座標(遠近): 透視投影(視点距離 1000)を用いたスケール係数を算出し、Zoom と乗算します。分母がゼロ近傍になる場合は最小スケール(1e-5)でクランプします。
  • 拡大率(Zoom): AffineTransform2D のスケール変換で適用します。Z 座標の遠近スケールと合算されます。サイズ追従が有効な場合は IResizableShapeParameter による直接リサイズが行われるため、このスケール変換は適用されません(1倍固定)。
  • 回転: 度数法の値をラジアンに変換し、AffineTransform2D の回転変換で適用します。
  • 左右反転 / 上下反転: スケール行列の符号を反転することで実現します。
  • 変換順序: スケール → 回転 → 平行移動の順に行列を合成します。

3. サイズ追従

図形の各端(左・右・上・下)を元アイテムの対応する端に固定し、元アイテムのサイズに合わせて図形を自動的にリサイズする機能です。IResizableShapeParameter を実装した図形プラグインのみが対象となります。

  • 左端に固定 / 右端に固定 / 上端に固定 / 下端に固定: それぞれ独立して有効化できます。いずれか1つ以上が有効な場合にサイズ追従が機能します。
  • 4辺すべてを固定すると(IsFullyPinned)、描画位置(X・Y・Z・拡大率)のパラメータは非表示になります。
  • 余白(左・右・上・下)は、対応する端を固定している場合のみパラメータが表示され、固定した端からのオフセット量を指定します。値が正の場合は外側方向、負の場合は内側方向に余白を設けます。
  • 固定していない端については、通常の X・Y・Zoom パラメータで指定した位置・サイズを基準として計算されます。

4. 表示方法の切り替え

Composite エフェクトの合成モードを切り替えることで、元アイテムと図形の合成方法を変更できます。詳細は表示方法の詳細を参照してください。

そのまま重ねて表示 モードでは、背面に描画 オプションにより図形を元アイテムの背面に配置することもできます。

5. 多言語対応

ローカライズファイルを内蔵しており、YMM4 の言語設定に合わせてエフェクト名およびパラメータ名が自動で切り替わります。

対応言語:日本語 (ja-jp)、英語 (en-us)、中国語簡体字 (zh-cn)、中国語繁体字 (zh-tw)、韓国語 (ko-kr)、スペイン語 (es-es)、アラビア語 (ar-sa)、インドネシア語 (id-id)


パラメータ一覧

描画グループ

パラメータ 種別 既定値 範囲 単位 説明
X アニメーション 0 ±無制限 px 描画位置の X 座標(4辺すべて固定時は非表示)
Y アニメーション 0 ±無制限 px 描画位置の Y 座標(4辺すべて固定時は非表示)
Z アニメーション 0 ±無制限 px 描画位置の Z 座標・遠近感(4辺すべて固定時は非表示)
不透明度 アニメーション 100 0 〜 100 % 描画の不透明度
拡大率 アニメーション 100 0 〜 無制限 % 描画の拡大率(4辺すべて固定時は非表示)
回転 アニメーション 0 ±無制限 ° 図形を回転する角度
左右反転 トグル オフ 図形を左右反転する
上下反転 トグル オフ 図形を上下反転する

表示グループ

パラメータ 種別 既定値 説明
表示方法 コンボボックス そのまま重ねて表示 図形の表示方法(合成モード)を選択します
背面に描画 トグル オフ 元アイテムの背面に図形を描画します(そのまま重ねて表示 のみ表示)

サイズ追従グループ

パラメータ 種別 既定値 説明
左端に固定 トグル オフ 図形の左端を元アイテムの左端に固定する
右端に固定 トグル オフ 図形の右端を元アイテムの右端に固定する
上端に固定 トグル オフ 図形の上端を元アイテムの上端に固定する
下端に固定 トグル オフ 図形の下端を元アイテムの下端に固定する

余白グループ

パラメータ 種別 既定値 範囲 単位 表示条件 説明
アニメーション 0 ±無制限 px 左端に固定が有効 左端固定時の左余白
アニメーション 0 ±無制限 px 右端に固定が有効 右端固定時の右余白
アニメーション 0 ±無制限 px 上端に固定が有効 上端固定時の上余白
アニメーション 0 ±無制限 px 下端に固定が有効 下端固定時の下余白

図形グループ

パラメータ 種別 既定値 説明
種類 コンボボックス (プライマリ図形プラグイン) 貼り付ける図形の種類を選択します
図形パラメータ 自動生成 (種類に依存) 選択した図形プラグインに応じたパラメータが自動生成されます

表示方法の詳細

合成モード 説明
そのまま重ねて表示 SourceOver(背景: 元アイテム) 元アイテムを維持したままその上に図形を重ねて表示します。背面に描画 を有効にすると図形を元アイテムの背面に配置します
完全置換 SourceOver(背景: 透明) 元アイテムを消して図形のみを表示します
領域内に表示 SourceIn 元アイテムの領域内にのみ図形を表示します
領域上に重ねて表示 SourceAtop 元アイテムを維持し、その上の領域に図形を表示します

注意事項

  • AviUtl フィルタ形式(.exo 出力)には対応していません。
  • サイズ追従機能は IResizableShapeParameter を実装した図形プラグインのみ有効です。非対応の図形を選択している場合、固定設定が有効でも通常の Zoom スケールによる描画にフォールバックします。
  • Z 座標を視点距離(1000px)以上に設定した場合、映像が消失する場合があります(最小スケール 1e-5 でクランプ)。
  • キーフレームによるアニメーションはすべてのアニメーションパラメータ(X、Y、Z、不透明度、拡大率、回転、余白の左・右・上・下)で対応しています。
  • 図形の種類を変更すると、EndEditAsync のタイミングで図形パラメータが再生成されます。前の図形パラメータの GetSharedData() を引き継ぐため、対応する項目は可能な範囲で維持されます。

免責事項

本プラグインは MIT ライセンスのもとで公開されています。

本ソフトウェアは「現状のまま」提供されており、明示・黙示を問わず、商品性、特定目的への適合性、および権利非侵害に関する保証を含む、いかなる種類の保証も行いません。

作者は、本プラグインの使用または使用不能に起因するいかなる損害についても、一切の責任を負いません。 ご利用は自己責任でお願いします。


ライセンス

MIT License

About

アイテムの上に図形を描画・合成する映像エフェクト

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages