Code Monkey home page Code Monkey logo

aviutl-plugin-curve_editor's Introduction

Curve Editor for AviUtl

GitHub GitHub issues GitHub all releases GitHub release (latest SemVer)

graph2 7

様々なイージングをウィンドウ上で編集できるAviUtlプラグイン&スクリプトです。

ダウンロード

下のリンクから最新バージョンのzipファイル(curve_editor-v*.zip)をダウンロードしてください。
ダウンロード

インストール

ダウンロードしたcurve_editor-v*.zipを解凍し、フォルダ内にあるcurve_editor.aufをAviUtlのディレクトリ直下もしくはpluginsフォルダ内に入れ、 @Curve Editor.trascriptフォルダまたはその下のフォルダに入れてください。
Visual C++ 2015/2017/2019/2022 再頒布可能パッケージ (x86)をインストールしていない場合は、こちらもインストールしてください。

image

使用方法

AviUtlを起動後、メインウィンドウの「表示」メニューから「Curve Editorの表示」をクリックすると、Curve Editorのウィンドウが表示されます。

本プラグインでは、以下で紹介する「ベジェ」「ベジェ(複数)」「振動」「バウンス」の4つの編集モードでカーブを編集することができます。
ウィンドウ左上のモード選択ボタンまたは右クリックメニューの「編集モード」から4つのモードを切り替えることができます。

  • ベジェ

    ベジェ曲線のカーブを1~10桁の整数で識別します。値とカーブがそれぞれ対応しています。

  • ベジェ(複数)

    1~1024までのグラフのIDを使って、最大1024個のベジェ曲線のカーブをプロジェクトファイルに保存できます。

    このモードでは、制御点を追加することで93氏のマルチベジェ軌道のように複雑なカーブを作成することもできます。
    グラフ上の何もないところをダブルクリックすると制御点が追加され、制御点上で再度ダブルクリックすると削除されます。

  • 振動

    ゴムの振動のような動きになります。
    ベジェモードと同様に、カーブを整数によって識別します。負の値にするとカーブが反転します。

  • バウンス

    物体がバウンドする動きになります。
    ベジェモードと同様に、カーブを整数によって識別します。負の値にするとカーブが反転します。

グラフビュー

以下の画像のようにして、ビューを移動させたり拡大縮小させたりすることができます。

curve_editor_view

ドラッグ&ドロップ

以下の画像のようにして、編集したカーブをドラッグ&ドロップでトラックバーに適用することができます。

curve_editor_dandd

※Shiftキーを押しながらドラッグ&ドロップすることで、XYZ座標などイージングが一度に設定されるトラックバーについても、X、Y、Zごとに個別にイージングを設定することができます。

ドラッグ&ドロップができない場合は…

ベジェ・ベジェ(複数)モードについてはType1@Curve Editorを、振動・バウンスモードについてはType2@Curve Editorをトラックバーのメニューから選択します。
ベジェ・振動・バウンスモードの場合は右上のコピーボタンを押してコピーできるカーブの数値を、ベジェ(振動)モードの場合は表示されているIDをパラメータ設定ダイアログに入力することで使用できます。

その他

エディタ上で右クリックするとコンテクストメニューを開くことができるので、色々触りながら試してみてください。
また、詳細な使用方法については、このリポジトリのWikiをご覧ください。

プロジェクトファイルへのカーブの保存機能について

一部のモードのカーブはプロジェクトファイル(.aup)への埋め込みが可能となっており、プロジェクト保存時に同時に保存されるようになっています。
しかし、仕様上、拡張編集標準のバックアップ機能では、これらのカーブを保存することはできません。

そのため、カーブのデータを保持した状態でバックアップを行いたい場合は、代わりにautosaver(epi氏)を使用するようにしてください。

スクリプトから使用する(スクリプト開発者向け)

スクリプト制御や、.anm.obj.traなどのスクリプトファイル上で、Curve Editorのカーブを呼び出して使用することができます。
詳しくはWikiのスクリプトからの使用を参照してください。

動作環境

OS AviUtl 拡張編集
Windows 7~11 1.00, 1.10 0.92~ (0.92推奨)

Visual C++ 2015/2017/2019/2022 再頒布可能パッケージ (x86)が必要です。

【動作確認済み】
Windows 10, 11
AviUtl 1.00, 1.10
拡張編集 0.92

patch.aulイージング設定時短プラグインイージング簡単選択 との共存を確認。

Q&A

Wikiのトラブルシューティングを参照してください。

バグ報告

バグ報告はこのリポジトリのIssuesまたはGoogle Form(匿名回答可)からお願いします。

For English Users

English Version (translated by inmare)
https://github.com/inmare/au-curve_editor_en

その他

当プラグイン・スクリプトは以下のプラグイン・スクリプトを参考にして作成されました:

免責事項

当プラグイン・スクリプトを使用したことによっていかなる損害が生じても、製作者は一切の責任を負わないものとします。

aviutl-plugin-curve_editor's People

Contributors

mimaraka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

aviutl-plugin-curve_editor's Issues

「次の制御点までのカーブを直線にする」の機能について

まずは、実装ありがとうございます。

この機能に関して追加してもらいたいと考えている機能があります。

  • 制御点の上にハンドルがある場合、Ctrlなどを同時に押すとハンドル(もしくは制御点)をドラッグ可能になるような仕組みの追加

です。

現在は制御点の上にハンドルが移動するため、制御点を移動したい場合一度ハンドルを横にどける必要があります。
この手間を良しと考えるのもありですが、直線状態のプレビューを見ながら調整できないのがデメリットと感じたため要望させていただきました。

制御点を選択可能にしたい

グラフ上の何もない所をドラッグすると選択範囲がハイライトされ、ドラッグを終えると選択範囲にある制御点が複数選択されるようにしたい。(何もないところをクリックすると選択解除、無選択時に何もないところをクリックすると最も近くにある制御点が移動)

ウィンドウを小さくして終了すると問題が起こる

バグの再現方法

  1. Curve Editorの表示にて出てくるウィンドウのサイズをとても小さくする
  2. AviUtlを終了させる
  3. AviUtlを起動する
  4. 小さくしたウィンドウのサイズを大きくする。
  5. v1.0.6ではフリーズする、v2.0 Alpha1.1では表示がおかしい

スクリーンショット
v2.0 Alpha1.1の表示がおかしい例
image

環境

  • Windows 10
  • AviUtl1.10
  • 拡張編集0.92
  • 改造系プラグイン無しのほぼ最小環境
  • Curve Editor v1.0.6・v2.0 Alpha1.1

表示状態切替後に拡張編集TLor設定ダイアログを右クリックすると例外が出るor落ちる

ver1.0.3導入下でCurveEditorウィンドウの表示状態を切り替えたあとに拡張編集のタイムラインかオブジェクトの設定ダイアログを右クリックすることで例外が出る、もしくはAviUtlが強制終了します。

初観測時のデバッグログ

  • 誘発条件は「CurveEditor設定ダイアログの表示状態を切り替えてから拡張編集ウィンドウかオブジェクト設定ダイアログを右クリック」のようです。
  • 再生プレビューウィンドウの右クリックでは例外は発生しませんでした。
  • ver1.0.2で同様の操作をしても例外などは発生しませんでした。

D&Dでカーブを適用する機能を追加したい

Valueモードで、Copyボタンをドラッグし、AviUtlの設定ウィンドウのトラックバーの移動方法選択のボタンにドロップすると、設定したカーブが指定したトラックバーに適用されるようにしたい。

pluginsフォルダ内にcurve_editor.aufを入れた状態だとウィンドウを閉じたときに拡張編集ウィンドウの応答がなくなる

aviutl v1.10 + exedit v0.92 + CurveEditor v1.0.6のみの環境において、curve_editor.aufをpluginsフォルダ内に入れている状態でexeditタイムラインが長時間消えなくなるor応答がなくなりました。(どっちになるかの条件は不明)
応答なしになるときには、画面左上にCurveEditorウィンドウと同じサイズの黒長方形が描画されます。

高DPIのスケーリング設定を「アプリケーション」にするとグラフの操作が利かなくなる

初めまして
高DPIスケール設定が「アプリケーション」である時のみ、ベジェ曲線のハンドル(制御点?)の操作が不可能になります。
しかし、グラフの移動やスケール、パラメータのD&Dなどの操作は問題なく動作します。
また、他の設定「システム」「システム(拡張)」では、確認したところでは問題なく動作します。
代用が利かないこともないので緊急性は薄いですが、確認よろしくお願いします

lua51.dllがaviutl.exeと同じフォルダに無いと表示できない

lua51.dllがaviutl.exeと同じフォルダに無いと Curve Editorの表示 が出てきません。

つまり拡張編集をpluginsに入れる派閥の人では動かないということになります
また、拡張編集がplugins、lua51.dllがrootという配置にした場合 Curve Editorの表示 は出てきますが、スクリプトは動きません(lua51.dllがないとのエラーを拡張編集が吐きます)

トラブルシューティングに次のように書かれています。
curve_editor.aufはexedit.aufのあるフォルダ、もしくはexedit.aufと同じ階層に作られたpluginsフォルダの中に存在していますか?
この認識を誤っているのが原因のような気もしています
https://scrapbox.io/aviutl/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%8C%E8%AA%8D%E8%AD%98%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84
exedit.aufのあるフォルダはあまり関係なく、フィルタプラグインの許される配置は以下となります
aviutl.exeのあるフォルダ/curve_editor.auf
aviutl.exeのあるフォルダ/plugins/curve_editor.auf
aviutl.exeのあるフォルダ/plugins/任意/curve_editor.auf

ドラッグ&ドロップができない場合がある

らしいです。
こちら側でバグの再現ができないので全く分かりません。
このバグが起こっている方がいましたら環境・具体的な挙動等教えてくださると嬉しいです。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.