2025-01-09

長方形パスに対するパスのトリミングの挙動をエクスプレッションでいい感じに

https://twitter.com/ALINCO2020/status/1877327428147724429

パスのトリミングの終了点とオフセットをいじって実現。長方形のサイズを変更しても追従する。横方向と縦方向でエクスプレッションが違う。

横方向

↓終了点

var size = thisProperty.propertyGroup(1).propertyGroup(1)(1)(2); // 長方形パスのサイズを取得できればなんでもいい
var x = size[0];
var y = size[1];
var ratio = x / (x + y);
value * ratio + 100 * (1 - ratio) / 2;

↓オフセット

var end = thisProperty.propertyGroup(1)(2); // パスのトリミングの終了点を取得できればなんでもいい
var size = thisProperty.propertyGroup(1).propertyGroup(1)(1)(2); // 長方形パスのサイズを取得できればなんでもいい
var x = size[0];
var y = size[1];
var ratio = x / (x + y);
var trueEndValue = (end - 100 * (1 - ratio) / 2) / ratio;
-360 * trueEndValue / 100 / 2 * ratio;

縦方向

↓終了点

var size = thisProperty.propertyGroup(1).propertyGroup(1)(1)(2); // 長方形パスのサイズを取得できればなんでもいい
var x = size[0];
var y = size[1];
var ratio = 1 - (x / (x + y));
value * ratio + 100 * (1 - ratio) / 2;

↓オフセット

var end = thisProperty.propertyGroup(1)(2); // パスのトリミングの終了点を取得できればなんでもいい
var size = thisProperty.propertyGroup(1).propertyGroup(1)(1)(2); // 長方形パスのサイズを取得できればなんでもいい
var x = size[0];
var y = size[1];
var ratio = 1 - (x / (x + y));
var trueEndValue = (end - 100 * (1 - ratio) / 2) / ratio;
-360 * trueEndValue / 100 / 2 * ratio - 360 * (1 - ratio) / 2
2024-12-21

JSON.parseで「)の値がありません」エラー

jsonの中身を見てみると、改行が挟まれてる。俺のスクリプトでは file.readln() でjsonを読み込むので、改行があるとエラーを吐く。なんで readln を使ったほうがいいのかは忘れた。

つまりjson書き出しの部分が悪い。以下のコードのように改行をなくしてから書き出せばOK。

function writeFile(object, filename) {
var myFile = new File(dataPath + "/" + filename + ".json");
myFile.open("w");
myFile.encoding = "UTF-8";
myFile.write(JSON.stringify(object).replace(/\r?\n/g, ''));
myFile.close();
}
2024-10-17

Vコンと完成形のギャップを無くしたいね〜

  • 静止画は切り貼りと違って大量の試行錯誤を回すことができない
    • 1カット作るだけで数時間〜数日かかるため
  • Vコン時点でイメージしてたものと完成形があまりに違いすぎるとだいぶ面倒くさい(まぁいつも大体そうだけど……)
  • Vコンと完成形のギャップを埋めることで先の見通しが立つようにし、重い作業に時間を取られることなく試行錯誤を大量に回せるようになりたい
  • なんか武井壮が言ってた「身体をイメージ通りに動かす能力」の話を思い出すわね
    • 完成形をイメージ通りに出力する能力
    • これは己を知れば百戦危うからず的な話かも
    • 身の丈に合わない完成形をイメージしない
    • あるもんで最強の闘い方探ってくんだよ定期