PhotoshopCS6のパブリックベータが始まっていますが
古くから絵を描くのに使っている人にとってCS3になった頃からの問題がひとつ
『レイヤを移動した後の操作を戻る操作をするとレイヤが前に使用しているレイヤに戻ってしまう』
というもの(長い...)
標準の取り消し/やり直し(Ctrl+Z)のショートカットを変更してヒストリを戻る操作がCtrl+Zにしている方も少なくないかと思います
PhoroshopCS6でもそのままの仕様のようです
パブリックベータ期間にレポートを受け付けるということなので
過去のフォーラム等でどういう扱いを受けてたのか調べていたら
変化球的な解決策が提示されているのを見つけたのでメモ
http://www.polycount.com/forum/showthread.php?p=1251347#post1251347
英語の読める方にはそのままですが 以下日本語で解説
まず 基本的な話として CS以降のPhotoshopはユーザーの書いたスクリプト(プログラム)で制御することができるようになっています。
また、メニューに登録してショートカットを割り振ることもできます。
スクリプトって何?って人も上記サイトから落とした拡張子.jsxのファイルを
Photoshopのプリセットスクリプトのフォルダにコピーしてソフトを再起動します
プリセットスクリプトのフォルダは
MacOSXのCS5場合:/Applications/Adobe Photoshop CS5/Presets/Scripts
WindowsのCS5場合:Program Files¥Adobe¥Adobe Photoshop CS5¥Presets¥Scripts
になるかと思います
正常に読み込まれていると [ファイル]メニューの[スクリプト]の項目に「StepBackwardSmart」
というものが追加されているはずです
ここで [編集]の[キーボードショートカット]でこのStepBackwardSmartにショートカット 例えば Ctrl+Zを割り当てると 標準の戻ると同じような操作でレイヤが移動しないアンドゥができるようになります
起動一回目の操作では軽く待ちが発生しますが、その後は軽快に動くようです
アーカイブも兼ねて 上記サイトで紹介されてるスクリプトを転記しておきます(元のコードのまま)
ヒストリーを一段階戻っても選択しているレイヤが移動しないようにするスクリプトですね
// StepBackwardSmart
// stores current active layer, steps backward, restores old active layer
//
// Will Fuller (sinistergfx@gmail.com)
var docRef = app.activeDocument
var savedLayer = docRef.activeLayer
var idslct = charIDToTypeID( "slct" );
var desc3 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref1 = new ActionReference();
var idHstS = charIDToTypeID( "HstS" );
var idOrdn = charIDToTypeID( "Ordn" );
var idPrvs = charIDToTypeID( "Prvs" );
ref1.putEnumerated( idHstS, idOrdn, idPrvs );
desc3.putReference( idnull, ref1 );
try
{
executeAction( idslct, desc3, DialogModes.NO );
}
catch(err)
{}
try
{
docRef.activeLayer = savedLayer
}
catch(err)
{}
これを拡張子.jsxで保存すれば上記サイトのものと同じになります
今回は他の人が作ったものでしたが
Photoshopをちょっと便利にしたいってことがあったらお声掛けくださいスクリプト作成でお手伝いできるかもしれません
|