Skip to main content
Participant
April 6, 2024
Question

水平垂直ではない角度の付いた文字等のオブジェクトを反転コピーした時に「裏がえる」になるのを避けたい

  • April 6, 2024
  • 3 replies
  • 746 views

レースゲームの車両にオリジナルのデカールを貼ったものを作ろうとしています。右のドアに傾いて貼られた文字を左の同じ位置に再現しようとすると、リフレクトツールだけだと「裏返し」になって文字が読めなくなります。アクションに登録できる程度の数回の手順で見本のような収まりになる方法はあるのでしょうか?

3 replies

kawamoto_α
Participating Frequently
April 9, 2024

とりあえず文字(ポイントテキスト)だけならこんなスクリプトで裏返せそうです。
画像とかアウトライン化した文字とかあったら…どうしよう

var s=app.selection;
for(var i=0;i<s.length;i++){
if(s[i].constructor.name=="TextFrame"){
var m=invertMatrix(s[i].matrix);
m.mValueTX=m.mValueTY=0;
s[i].transform(concatenateMatrix(concatenateScaleMatrix(m,-100,100),invertMatrix(m)));
}
}
ajabon grinsmith
Community Expert
Community Expert
April 10, 2024

ロゴ部分の話なので、こういうことですよね。


見た目だけでいえば、再度水平方向に反転しつつ、回転角を正負逆転、ということかと。


なので、当該箇所はすべて水平の状態で別途保存したaiをリンクするようにしてもらって、
あとはmatrixを少し直すだけで解決しそうに思ったのですが、アホなので自分にはすぐできそうにないでした。

kawamoto_α
Participating Frequently
April 11, 2024

そうですね。上のスクリプトでmatrixの値の符号を少しいじるとリンク画像にも使えるようになったりするんですが、このへんで質問者さんに、こういう方向性でいいのかどうかききたいところです。

ajabon grinsmith
Community Expert
Community Expert
April 8, 2024

元の回転角を取得できないと厳しい処理ですね。

スクリプトで配置画像の変形値を取る方法はあるので、

https://ai-scripting.docsforadobe.dev/jsobjref/Matrix.html

https://www.dtp-transit.jp/adobe/illustrator/post_514.html

そういった処理が必要な箇所は別ドキュメントで作成したものをリンク配置すれば似たようなことができるかと思います。

Ten A
Community Expert
Community Expert
April 7, 2024

通常、UVマップ作成を行う場合は回転角度を左右で数値をあわせて配置するような処理になります。

リフレクトツールですから鏡像になるのは当然で、このようなケースでは利用できません。回転ツールを数値入力で使うのが基本となるかと思います。