忍者ブログ
cerezo OSAKA
いちおす VOC@!!
只今、絶賛ヘビィローテ中のボーカロイドなのです。 アカウントが無い方はサムネで我慢・・・
  運営さ~ん、早くニコ外部プレーヤーに対応してよー
  ( ;゚Д゚)y─┛~~ マッテルンダゼ



  ピノキオP
ほんの一瞬だけ ほんの一瞬だけ.............2009/06/05

  DECO*27P
方程式 A=Lt²(愛=恋×時間の2乗)
(歌ってみた)♪.............2009/05/09

  若干P
一番最初にキミに触れてしまいそう・・・・ (T△T)
(歌ってみた)...............2009/05/02



  ほえほえP
2度目の告白ソング(歌ってみた)♪...............2009/02/27



  DECO*27P
DecoPの神曲を神々が歌ってみた♪.............2009/02/27



  ryoP
もう溜息しかでてこない(歌ってみた)♪..........2009/02/27



  トラボルタP
伝説のRINマスター会心の神曲♪..................2009/01/08



  ずどどんP 掻き鳴らすギター♪..................2008/12/12


  すこっぷP 期待の新人♪.............................2008/12/12


  samfreeP 萌えリン♪...................................2008/12/11


  ここ狭いP 低音レン♪...................................2008/12/11
気付いたら突然増えてると思います・・・
[1] [2] [3] [4] [5] [6]
久しぶりの更新です。

前の更新から既に1ヶ月も経ってるのですが、その間にPCのハードディスクが壊れまして
晴れてWindows7にアップグレードとなりました。
おかげで前の記事で公開したアニメーションライブラリが使えなくなっちゃったんですけどね。
windows7でもいろいろ試したんですが、うまくいかなかったのであれはもう忘れようかと思います。

で、それまで書き溜めていたスクリプトのメモ帳なんかも消えちゃったので
最近はちょこちょこと思い出しながら新たに書き起こしてたのですが、
今回はそんな中からソートに関してのお話を。



以前はソートさせるのに結構面倒くさいことをやってまして、今見ると苦労してんなーと
思っちゃうんですが、簡単な方法をサイトで見つけてからは楽に出来る様になりました。
まぁ無知なりにも何とか実現させようとしたその労力は、今に繋がっていますけどね。
たぶん。

で、ソートする時のポイントとしては、ソートさせる情報を連想配列で持っておく
ということです。普通、配列だと

var aaa = [ 1, 2, 3, 4 ];

てな感じですが、これを連想配列にすると

var bbb = [ {val:1}, {val:2}, {val:3}, {val:4} ];

て具合になります。

aaa[0] の値は "1" で、bbb[0].val の値は "1" になります。

連想配列ではそれぞれの値を連想させるプロパティを持たせる感じなので、
例えば複数の値を

var ccc =
[

    { name: "compA", width: 300, height: 200 },
    { name: "compB", width: 200, height: 100 },
    { name: "compC", width: 100, height: 300 },

];

みたいにすると各プロパティで自由に取り出せて整理もしやすいですね。
しかも各プロパティでソートができます。

ソートは sort() を使うのですが、このままではプロパティでソートできません。
オプションで関数を使うことで可能になります。

ccc.sort( smallWidth );

function smallWidth( a, b )
{
    return (a.width > b.width) ? 1 : -1 ;
}


この例では小さい値から大きい値にソート(昇順)します。
a.width > b.width a.width < b.width にすることで降順にでき、
width を他のプロパティに変えることでそれぞれのプロパティでソートできます。
つまり各プロパティごとに関数を用意する必要があるということです。

上の例の場合、ソートする前の ccc[0].name の値は "compA" ですが、
ソート後の ccc[0].name の値は "compC" になります。
この連想配列をいかにうまく作るかで後の苦労がかなり変わってきます。


ここからが本題ですが、例えばコンポ内のレイヤーに対してソートする時に
わざわざ連想配列を作る必要がない場合があります。
レイヤーオブジェクトには複数のプロパティがありますので、取得したままに
ソートできます。

//選択中のレイヤーを取得
var ddd = app.project.activeItem.selectedLayers;


AfterEffectsでは、items, layers, selectedLayers などを使ってアイテムを
配列で取得した場合、その配列は全て "1番目" から始まる仕様になってます。
これはプロジェクト内やコンポ内には "0番目のアイテム" という概念がないからですが
普通、配列といえば "0番目" から始まるので、AEスクリプトを書き始めの頃は
何が何だかわからずに非常に悩ましかった記憶があります。
で、このままだと後々都合が悪いので "0番目"から始まる配列に置き換えます。

//0番目からのオブジェクトに置き換え
var selLys = new Array();
for(var i=1;i<=ddd.length;i++){
    selLys.push( ddd[i] );
}

//ソート
selLys.sort( smallPosX );

//ソート用関数(X座標 昇順)
function smallPosX( a, b )
{
    return (a.position.value[0] > b.position.value[0]) ? 1 : -1 ;
}


と、これでレイヤーのX座標でのソートができます。


まだ全てを試した訳ではないのですが、トランスフォームプロパティに対しては
そのままでもソート出来るようです。
他の indexinPoint などのプロパティは、別で連想配列を作ってやらないとダメでした。
まぁ、それでも連想配列さえ用意すれば比較的楽にソートできると思います。


さて、やっとこさタイトルにもありますがスクリプトの紹介ですよっと。

sort_Layers_01


コンポ内の選択レイヤーを各プロパティでソートし並び替えるスクリプトです。
コンポ内にカメラレイヤーがある場合(複数可)は、レイヤーが3Dレイヤーかどうかは関係なく
対象のカメラからの距離で並び替えできます。
(カメラから遠いレイヤーから順番に下から並べるとか)

1つ問題がありまして、スクリプトで取得できるのはローカル座標なので、もし親子関係になってたり
する場合、意に反する結果になる
と思います。
これを解決するには何かしらワールド座標を取得する必要があるのですが、今回は入れていません。
今後、使用していく中で必要を感じるようなら考えます。
あと、今回ウインドウはダイアログで作ってます。
閉じないとAE側に触れないのですが、気分でそうしちゃいました。
これに関しても使ううちにイライラするようなら変更するかもしれませんです。


sort_Layers.jsx (zip)    ← 右クリックでDL

=動作確認=
AfterEffects CS4  / windows7  &    mac OS 10.6.8
AfterEffects CS5.5  / windows7



======追記=======
書き忘れましたが、カレントフレームでの値でソートしているので、
キーが打たれてある場合はカレントフレームの位置によって並びが変化しますよっと。




投票ボタン付けてみました。

blogram投票ボタン       べ、べつに押したっていいんだからねっ! s(●'へ'●)2


PR
本当にお久しぶりになってしまいました。
Twitterではつぶやいたりしていたのですが、久々に公開できるものが出来たのでうpしようかと思います。

Web での javascript や Flash での actionscript など世の中には便利なライブラリがいろいろありまして、
特にアニメーションのライブラリなんかは非常に便利で見栄えもよくなる優れものなんであります。
今回、AfterEffects用にそれをむりくり作っちゃいました。
タイトルにもありますが、CS4以上のWindowsでしかアニメーションできません。なんせむりくりですから・・・

AEスクリプト用アニメーションライブラリ
tweenAE (zip)

このフォルダには3つのファイルがあります。
その内の<_tweenAE_Lib.jsx> がライブラリです。
これをAfterEffects の [Scripts]<[Startup]フォルダに入れてもいいですし、別の場所に置いてスクリプト上で
呼び出すもよし、好きなとこに置いてください。
個人的には [Startup] だと使わない時にも起動されているのが嫌なので、[Scripts] フォルダに入れて
必要な時に呼び出してます。
今回用意したサンプルスクリプトは全て、<_tweenAE_Lib.jsx>が[Scripts] フォルダにあるものとして
書きました。

ということで、今回はとりあえず[Scripts] フォルダに置いてください。
スクリプト上で呼び出す場合は、まず #includepath でファイルのあるディレクトリを指定した後に
#include を使います。

例: [Scripts] フォルダにある場合(windows XP 64bit)
#includepath "C:/Program Files (x86)/Adobe/Adobe After Effects CS4/Support Files/Scripts/"
#include "_tweenAE_Lib.jsx"


こうやって呼び出した後に
app.tweenAE([オブジェクト:Array], [パラメーター:Array], [移動幅:Array], 秒数, [オプション:Array]);
と1行書くだけでおkです。
ではサンプルを使って実際にやってみましょう。

ダウンロードしたzipファイルにある<test_tweenAE.jsx>を実行してみると下のウインドウが出ます。

test_tweenAE_01

"START!!" ボタンを押すと真ん中の四角いアイコンが「にょーん」と動きましたでしょうか?
"Clear" ボタンを押すと元の位置に戻ります。
このファイルをエディタ(ExtendScript ToolKit など)で開いて、70行目を見てください。

app.tweenAE([wSelf.oIcon], ["location.x"], [100], 0.2, ["Linear"]);

これはoIcon(四角いアイコン)の"location.x"というパラメータに 100 ピクセル分 0.2秒で "Linear"(等速)
で動かす、ということです。
ちなみに 100-100 にすると反対に動きます。

では1度ウインドウを閉じた後"Linear" の部分を "easeIn" ( I は大文字)に変えて再度実行してください。
"START!!" ボタンを押すとさっきの「にゅーん」「にゅぅぅーんっ」な感じに変わったのがわかるでしょうか?
このオプションには "Linaer" , "easeIn" , "easeOut" , "easeInOut" の4つがあります。
書くときに [ ] を忘れないように気をつけてください。
同じようにパラメーターは "location.x" , "location.y" , "size.x" , "size.y" の4つがあります。

今の書き方では1つのパラメータしか動かせませんが、これじゃあ面白くないですよね?

app.tweenAE([wSelf.oIcon], ["location.x", "size.y"], [100, 50], 0.2, ["Linear", "easeOut"]);

70行目を上のように書き換えて実行すると、複数のパラメータを同時に動かせます。
この場合は、右に動きながら縦サイズが大きくなります。
もちろん4つ全てを動かせます。
複数パラメーターを動かす時の注意点は、パラメーター、移動幅、オプションの配列数が同じでないとダメ
ということです。
いろいろ組み合わせて遊んでくださいませ。

次に64行目に以下を書き足してください。
this.oIcon2 = this.dlg.add("group", [280,200,320,240]);
this.UI_bgColor255(this.oIcon2, [100,100,100]);


そして72行目(元の70行目の部分)を
app.tweenAE([wSelf.oIcon, wSelf.oIcon2], ["location.x", "size.y"], [100, 50], 0.2, ["Linear", "easeOut"]);
と変えて実行すると、2つのアイコンが同時に動くと思います。
これで複数のオブジェクトを同時に動かせます。
パラメーターや移動幅、オプションは全てのオブジェクト共通になるのであしからず。

プログラムに精通している方はお分かりだと思いますが、オブジェクト、パラメーター、移動幅、オプションは
[ ] で配列になっているので "," で区切って書くのですが、たくさんあると非常に面倒ですよね。
例えば72行目の前に
var oObjs = [wSelf.oIcon1,wSelf.oIcon2];
てな感じで配列にしたものを
app.tweenAE(oObjs, ["location.x", "size.y"], [100, 50], 0.2, ["Linear", "easeOut"]);
※このoObjs は配列なので [ ] はいらない
とすると、スッキリできます。(パラメーター、移動幅、オプションも同じ)


ざっと駆け足で説明してきましたが、何となくわかっていただけたでしょうか?
今回、windows XP 64bit  AfterEffects CS4 でしか動作確認出来ていませんので
もし他の環境での動作確認が出来ましたらここのコメントかTwitterで教えていただけるとうれしいです。

あとダウンロードしたファイルの3つ目のスクリプトは、ここまで付き合っていただいた方々へのおまけです。
フォルダが多い階層だともっさりしますので注意してください。
ちなみに61行目の
this.curDir = this.aePath;
this.curDir = "任意のフォルダのパス ";
にすると少し幸せになれると思います。
改造してパス入力の部分をドロップダウンリストにしたり、ボタンにして並べたりするともっと使えるかも。
ひょっとしたらおかしな挙動するかもしれませんが、その時は教えてくださいませ。


最後にこのライブラリはあまり推奨されないものかもしれませんが、大量のオブジェクトではなく
ちょっとしたものを動かすだけならいいアクセントになるんじゃないかと思います。
これで仕事の効率が上がるようなものではないのですが、まぁちょっとでも楽しくなればいいかな・・・・・と。

今月末のアニメ撮影飲み会に参加予定ですので、何か不具合などありましたらお声をかけてください。





投票ボタン付けてみました。

blogram投票ボタン       べ、べつに押したっていいんだからねっ! s(●'へ'●)2


お久しぶりの更新です。

ホントはずっと暖めていたスクリプトをうpする予定だったのですが、
もうちょい時間が掛かりそうなので今回はちょっとしたものを。


//scriptUI graphics 用ファンクション****************************************************
//backgroundColor(0~255)
function UI_bgColor255(uiObj, uiColor)
{
    var gColor = new Array();
    for(var i=0;i<3;i++){
        gColor[i] = 1/255*Math.round(uiColor[i]);
        //alert(gColor[i]);
    }
    var gUI = uiObj.graphics;
    var uiBrush = gUI.newBrush(gUI.BrushType.SOLID_COLOR, [gColor[0], gColor[1], gColor[2], 1]);
    gUI.backgroundColor = uiBrush;
},

//foregroundColor(0~255)
function UI_fgColor255(uiObj, uiColor)
{
    var gColor = new Array();
    for(var i=0;i<3;i++){
        gColor[i] = 1/255*Math.round(uiColor[i]);
        //alert(gColor[i]);
    }
    var gUI = uiObj.graphics;
    var uiPen = gUI.newPen(gUI.PenType.SOLID_COLOR, [gColor[0], gColor[1], gColor[2], 1], 1);
    gUI.foregroundColor = uiPen;
},

//backgroundColor(0~1)
function UI_bgColor(uiObj, uiColor)
{
    var gColor = new Array();
    gColor = uiColor;
    var gUI = uiObj.graphics;
    var uiBrush = gUI.newBrush(gUI.BrushType.SOLID_COLOR, [gColor[0], gColor[1], gColor[2], 1]);
    gUI.backgroundColor = uiBrush;
},

//foregroundColor(0~1)
function  UI_fgColor(uiObj, uiColor)
{
    var gColor = new Array();
    gColor = uiColor;
    var gUI = uiObj.graphics;
    var uiPen = gUI.newPen(gUI.PenType.SOLID_COLOR, [gColor[0], gColor[1], gColor[2], 1], 1);
    gUI.foregroundColor = uiPen;
},

//font

function UI_font(uiObj, uiFont, uiFontStyle, uiFontSize)
{
    var fontStyle = eval("ScriptUI.FontStyle." + uiFontStyle);
    var gFont = ScriptUI.newFont (uiFont, fontStyle, uiFontSize);
    uiObj.graphics.font = gFont;
}



これはscriptUI Graphics で色やフォントを変更するためのファンクションです。
作成したpalette,panel,group,edittext,statictext などなどに使えます。

UI_bgColor255背景色をRGB[255,255,255]で指定します。(0~255)
UI_fgColor255 は表示色をRGB[255,255,255]で指定します。(0~255)
UI_bgColor背景色をRGB[1,1,1]で指定します。(0~1)
UI_fgColor表示色をRGB[1,1,1]で指定します。(0~1)
UI_font はフォントとそのサイズを指定します。


使い方はこのファンクションをコピペして、
//例:グループに対して
grpObj = Obj.add("group", [0, 0, 100, 100]);
UI_bgColor255( grpObj, [ 100, 50, 50] );

//例:エディットテキストに対して
edTxt = Obj.add("edittext", [0, 0, 100, 100], "", {multiline: true});
UI_font( edTxt, , "Impact", "REGULAR", 30 );

てな感じです。


以前はチマチマ一通り書いてたのですが、こういう風にするとスッキリして楽チンです。
ボタンに適用するにはもう一工夫が必要なのですが、それはまたの機会にでも。

次の更新にはいいものをUPできるようにしたいですねー





投票ボタン付けてみました。

blogram投票ボタン       べ、べつに押したっていいんだからねっ! s(●'へ'●)2


ずいぶんと間が空いちゃった・・・・


コンポ内に大量の素材を配置する場合、Particular を使用して
配置することが多いと思います。
ただ、決め打ちで大量の素材を決まった位置に置きたい場合、
どうしても手作業で配置しなければならないこともありますよね?

現在公開中のファフナーで大量の敵(スフィンクス)を配置する時に
レイアウトに合わせて置きたい場面が予測されました。
しかも絶望的なスケジュールでカット数も多い状況で
いかに時間を短縮するか・・・・・

今回のスクリプトはそんな中、生まれたものです。


PathToCrowd

平面レイヤーにあるパスのポイントに合わせて素材レイヤーを
配置するスクリプトです。
平面レイヤーの下に素材レイヤーをを複数置くことで、その中から
ランダムに選んで配置します。
平面レイヤー(パス有)を複数用意すれば、一発で配置も出来ます。

実行前  平面にパスを書く
PathToCrowd01




レイヤー選択状態でスクリプト実行
PathToCrowd02

素材のランダム選択が気に入らない場合は、アンドゥして再実行してください。



複数のパスで配置はこんな感じで。
PathToCrowd03


パスのある平面レイヤーの下に素材が無い場合は、ヌルを配置します。



= 動作確認 =

AfterEffects CS4 JP
Windows XP sp3   &   Mac OS 10.5.6



PathToCrowd (zip)        ← 右クリックでDL




で、配置はこれでいいとして、スケールにバラつきが欲しいですよね?
そんなアナタに。


random_Collection_Lite

選択レイヤー、またはコンポ内の全レイヤーのスケールとスタートフレームを
ランダムにするスクリプトです。


スケール
random_Collection_Lite01



スタートフレーム
random_Collection_Lite02


連続で [ random ] ボタンを押すことで、確認しながらランダムに出来ます。
また、コンポやレイヤーを選択し直し [ update ] ボタンを押すことで
ウインドウを出したまま作業を続けることが出来ます。

"this value" は現在の各レイヤーの値を基本に、
"new value" は新しく指定した値を基本にして実行します。
"this value" で連続でランダムを実行すると、結果は前回の結果の影響を含みます。
"new value" で "threshold" を 0 で実行すると、対象のレイヤーの値は全て指定した値にそろえます。
対象のレイヤーの値を同じにしたい場合に使用できます。


なんだか説明がややこしくなったので、実際にいろいろいじってみてください。


= 動作確認 =

AfterEffects CS4 JP
Windows XP sp3   &   Mac OS 10.5.6



=使用上の注意=

1、表示形式は、フレーム
     (ファイル < プロジェクト設定 < 表示形式)

2、コンポの開始フレームは、1
     (ファイル < プロジェクト設定 < 表示形式 < 開始フレーム番号)

3、スクリプトによるファイルへの書き込みとネットワークへのアクセスを許可 をチェック
     (編集 < 環境設定 < 一般設定)
     ※ここがチェックされていない場合、[グルーピングレベルに問題有り~] のエラー

上記の3つを基本としてますので、使用する場合は注意してください。



random_Collection_Lite (zip)
        ← 右クリックでDL




PathToCrowd もそうですが、特にこの random_Collection_Lite は
本来、もっと多機能で様々なプロパティに対して実行できるものを
開発していました。
しかし実作業に間に合わない為、簡易版を作り直したというものなので
"Lite" としました。
ランダム値も単純に実装しているだけなので、完全版ではもう少し考えたいと
思ってます。

あと、現在のVer. では、キーがある場合の処理を入れていません。
これも後々対応したVer. にする予定です。(コードはもう出来てたりします)

という感じで、今回はおしまいー





投票ボタン付けてみました。

blogram投票ボタン       べ、べつに押したっていいんだからねっ! s(●'へ'●)2


忙しくてほったらかしにしていたら、いつのまにやら3ヶ月・・・・・ご無沙汰してました。


年末には、想像もできないような忙しさがやってきそうなんですが、

とりあえず、明日には今の山場を抜けそうです。



少しですがやっと時間が作れそうなので、止めていたスクリプトの開発を進めようかと思ってます。


まず現在の仕事で必要な 3dsMax → AE CS4 のインポートスクリプトを優先事項として

同時に XSI & AE CS4 のインポート&エクスポートスクリプトを進めるつもりです。


既に3dsMax のインポーターは、現存のフリープラグインを参考にカスタマイズして作ってあって

あとはどうコンポジットに組み込むかってとこまで進んでいるのですが、XSI の方が少し問題があるので

今書いてるコードを見直す必要があります。ちょっと時間かかりそうかも。


あとは、今年中にちょっぱやシート入力のタイムシートスクリプトを完成させたいなぁ・・・・と。



ToDo リストには他にもいろんなスクリプトがてんこ盛りにあるんですが、スクリプト以外にも

やりたいことがあるので、今の段階ではちょっと控えめにしておきます。




あとこのブログですが、スクリプトの数が増えてきてこのままでは非常に見づらいので、

スクリプト置き場を別にするとか他のトコに引越しするとかいろいろ考えたいと思います。

ていうか、この際ブログじゃなくてもいいかなーとも思ってたりしますケドネ。




というわけで、3ヶ月未更新の広告を消したくて、久しぶりの更新をしてみました。

近々何かしらの更新 or 公開ができればいいですねーっと。(´ ・ω・`)
ちょっと次のネタまで時間が空きそうなので、とりあえず小ネタを公開。


さて、みなさんはプロジェクトのフッテージを置き換えする時に面倒くさいと思うことはないでしょうか?

1つ1つ選んで、Ctrl(Cmd) + H を地道に繰り返してたりしませんか?

そういう無駄な時間はこいつで一発ポンですよっ!


ReplaceFiles_SameDirectory (zip)     ← 右クリックでダウンロード


早い話が、選択した複数フッテージを一気に "ファイルの置き換え"スクリプトです。


ただ、ちょっと制約があります。

選択した複数ファイルの場所が、同じフォルダ階層でないと置き換えません。

例えば、

a01c001------A_cell------a0001.tga
                            ------a0002.tga

           ------B_cell------b0001.tga
                            ------b0002.tga

           ------bg_001.psd

というフォルダ階層のファイルを

a01c001_r------A_cell_r------a0001_r.tga
                               ------a0002_r.tga

            ------B_cell_r------b0001_r.tga
                               ------b0002_r.tga

            ------bg_001_r.psd

と置き換えたい時に、プロジェクトの

a0001.tga
a0002.tga
(※連番で読み込んでる場合は、a[0001-0002].tga)
b0001.tga
b0002.tga
(※連番で読み込んでる場合は、b[0001-0002].tga)

を選択してスクリプトを実行すると、フォルダ選択ダイアログが出るので、

[ a01c001_r ] フォルダを選択すると A_cell → A_cell_r 、B_cell → B_cell_r と置き換えます。

この時、bg_001.psd のファイルは別階層なので一緒に置き換えは出来ません。

bg_001.psd のファイルを入れ替える時は、プロジェクトの

レイヤー1/bg_001.psd
レイヤー2/bg_001.psd
レイヤー3/bg_001.psd
※bg_001.psd 内の各レイヤー

を選択してスクリプトを実行し、[ a01c001_r ] フォルダを選択すると bg_001_r.psd と置き換えできます。

同じ階層にあるファイル同士のみ複数選択で置き換えができる仕様です。


まぁ、いろいろと説明するとややこしいので、とりあえず使ってみてください。

ちなみに、

a01c001------A_cell------a0001.tga
                            ------a0002.tga

          ------A_cell_r------a0001_r.tga
                             ------a0002_r.tga

          ------B_cell------b0001.tga
                           ------b0002.tga

          ------B_cell_r------b0001_r.tga
                             ------b0002_r.tga

          ------bg_001.psd

という具合に、同じフォルダ内に置き換えたいファイルがある場合は、フォルダ選択で元の親フォルダ

(この場合は[ a01c001 ] フォルダ) を選んでください。


あと、デフォルトでは置き換え先のファイル(親フォルダ)名に [ _r ]  と [ _R ] の文字が含まれている

ものを対象に入れてます。

この文字は追加できるので、詳しくは ReadMe.txt をみてください。



最後に、このスクリプトは複数選択時のみ実行可ですので、そこんとこもよろしくです。


なんだかわかんなかった方は、つぶやくかコメントしてくださいなっと。






投票ボタン付けてみました。

blogram投票ボタン       べ、べつに押したっていいんだからねっ! s(●'へ'●)2

カスタムランチャーのCS3版です。

CS4版の記事で「CS3でも動くはず」的なウソを書いちゃいました・・・・


おそらく今度は大丈夫。

でも、Mac でしか動作確認できてないので、もし何かあったら教えてください。

CustomLauncher_Extra_CS3 (zip)     ← 右クリックでダウンロード


内容はCS4版と同じですので、詳しくはそちらの記事を参照してください。

そちらの記事一覧 (Tag "CustomLauncher_Extra")




で、改めてCS4版のスクリプトを見てると、ちょこちょこおかしな記述が・・・・

よくこれで動いてるなーっと思えるほどおかしいので、隙を見てCS4版も更新するかもです。




投票ボタン付けてみました。

blogram投票ボタン       べ、べつに押したっていいんだからねっ! s(●'へ'●)2

いろいろとうpしようと思ってるものはいくつかあるのですが、

ちょいまだ公開できるとこまで出来てません。


その間にも、いろいろと作ってるのでそれも公開できればいいなー

と思いつつ、それもまだまだ出来てません・・・・


最近は、Twitterに開発途中のものを貼っつけたりしてるのですが、

その他にもいろいろと作りたいものもあったりしてにっちもさっちもなのです。

にっちもさっちもな開発画像  -Twitpic




つい先日、AEのレイヤー情報を書き出すスクリプトを書きまして、

それ専用のXSI インポーターを書いた junkie さんが XSI Base (海外のXSIサイト)に投稿したので

海外からのお客さんがやって来てくれてたのですが、見るべきものが無くてごめんちゃいです。

ホントはここでも公開するつもりなんですけど、まだ余地のある段階なのでちょいとお待ちになってねv

XSI Base Forum  "New tool: AfterEffects to XSI"

"AEtoXSI  ver1.0"



てな感じで、今回はゆるしてちょーだいです。




投票ボタン付けてみました。

blogram投票ボタン       べ、べつに押したっていいんだからねっ! s(●'へ'●)2

今週、仕事の荒波を乗り越えて、無事27日のアフターご飯に参加できるのか!?

もしお会いできる方がいるなら、その時はヨロシクしてください。



と、いうことで、前の記事のこれです。
今回は長くなりますよっと。


LayerManager_test_01


画像がでかくなっちゃいましたが、こんな感じです。

前の記事に動画を載せているので、未見の方はご覧ください。


で、今回のは、Windows XP sp3  以外のOS での挙動がわかりません。

ほんとはよくないらしい、for~文でのsleep()でアニメーションさせているので
OS によって挙動が違います。

前記事の動画で我慢してもらうか、カックカクでもいいぜっ!ってなチャレンジャーは、
試して動作報告などしてもらえるとありがたいです。(でもしなくてもいいです)


AE CS4        Windows XP sp3  のみ動作確認

LayerManager_test (zip)
      ← 右クリックで DL 



さて、ここから少し内容の説明を。

まず、このスクリプトを立ち上げると、パネルがフェード・イン してきます。
いろいろな要素を組み込んだので、結果的にはカクついてますが、
作ってる最初の頃は、すげーいい感じだったのですよ。


で、このパネル、枠がありません。
これはウインドウのオプションで指定することで、Win ではあまりかっこよくない枠を外せます。
通常は、

winObj = new Window( "palette" ,  "ウインドウの名前" ,  [ 左座標, 上座標, 右座標, 下座標 ] );

と、書くところを

winObj = new Window( "palette" ,  "ウインドウの名前" ,  [ 左座標, 上座標, 右座標, 下座標 ] , {borderless: true} );

って感じで、追記してやると、枠無しで使えます。
このときの注意点は、ウインドウを閉じるボタンが無くなる ということでして、自分で用意しないと
いつまでたっても消えませんw

ちなみにウインドウの不透明度は、winObj.opacity = 100; で指定できます。



また、今回のスクリプトは ScriptUI Panel ではないのですが、ウインドウの色がいつもの肌色 (Winデフォ)
じゃないことにすでに気付いてる方もいるかもしれません。

と、いうわけで、ウインドウ(グループなど他にも適用可)のカスタマイズについて書いていきます。


上記のようにウインドウオブジェクトを作成(グループなどの場合も一緒)した後でこのように書きます。

gWin = winObj.graphics;
winBrush = gWin.newBrush(ブラシタイプ, [ R , G , B , A ] );
例:
winBrush = gWin.newBrush( gWin.BrushType.SOLID_COLOR , [ 1/255*43, 1/255*43, 1/255*43, 1 ] );

gWin.backgroundColor = winBrush;

これで背景色を好きな色に設定できます。
RGBAは、0~1 の値なので注意してください。

これは ScriptUIGraphics Object  というもので、他にもフォントの種類、フォントサイズ、フォントの色などが指定できます。

表示色(そのオブジェクトに表示させるフォントなどの色)の設定は、

gWin.foregroundColor      になります。



また、フォントの指定は、オブジェクトに対して

winObj.wText = winObj.add("statictext", [ 左座標, 上座標, 右座標, 下座標 ] , "テキストの内容");
gText = winObj.graphics;
//フォント、フォントサイズ
winFont = ScriptUI.newFont ( "フォントの名前" , フォントスタイル , フォントサイズ );
例:
winFont = ScriptUI.newFont ( "Arial" , ScriptUI.FontStyle.BOLD , 15);

//フォントの色を直接指定
winPen = gText.newPen(ペンタイプ, [ R , G , B , A ], 線幅);
例:
winPen = gText.newPen(gText.PenType.SOLID_COLOR, [1/255*176, 1/255*177, 1/255*172, 1], 1);

gText.font = winFont;
gText.foregroundColor = winPen;

と、いう感じになります。


詳しくは、ExtendScript Toolkit CS4 < SDK < JavaScript Tools Guide CS4.pdf
にある、ScriptUIGraphics object  を参照してみてください。


今回は、Closeボタンも通常のボタンではなく、group で作っています。
アイコン画像を使わなくてもスクロールバーなんかもこれで作れますね!

好きなデザイン(制限はありますが)や色、フォントでいろいろ出来ると思いますので
今まで満足できなかった方は、ぜひ試してみてはどうでしょうか。


次回、ひょっとしたらいいもの上げれるかもしれません。(上手くいったらですが・・・)




投票ボタン付けてみました。

blogram投票ボタン       べ、べつに押したっていいんだからねっ! s(●'へ'●)2

スクリプターの皆さんこんばんは。

気が付けばもう5月中旬。西武遊園地のマス釣りもとっくに終わってしまいました・・・・・あーぁ



ということで、やっとこ公開できるようになりました。

もっといろんなことをやろうと考えてたのですが、忙しくてかなり期間が空いちゃったので
モチベーションが保てず、ここまでしか出来ませんでしたw


いろいろと書きたいことはありますが、まずこれをみてもらいましょーか。



※キャプチャーした為、処理が重くなっててもっさりしてますが、
実際はもうちょいサクサクっと動くと思います。

これはスクリプトUIオブジェクトのテスト用に思いついたスクリプトなんですが、
機能としては、各コンポのレイヤーを操作できるパネルという感じです。

ムービーではレイヤーの入れ替えをやってるだけなんですけど、対象のコンポを
ビューに表示させずに操作が出来ます。

最終コンポを表示させた状態で、内包するコンポ内のレイヤーをいじれちゃうのでーすよ!


将来的に発展させる方向としては、各レイヤーのプロパティやエフェクトなどの数値を
この状態で変更できるといった感じでしょうか。
エクスプレッションのリンクやなんかも出来るようになれば、もうタイムラインごと作っちゃえ!
みたいになりそうですがw


で、夢が広がるところでナンナンデスガ、今回の目的はこのスクリプトの機能じゃなくてですね、
レイヤーを入れ替える為のフローティングアイコン(と勝手に呼びますが)だったり、
イメージ画像やアイコンボタンなどを一切使わずにパネルのデザインを作ることだったり、
無駄かもしれないけどインタラクティブなことをやってみたりといったことだったのです。


ということで、あくまで今回のスクリプトは、UIテストの為に考えたものですので、
今のところ、もうこれ以上開発を進める予定はありません


で、これまでのテストで、タイムシートも作れちゃうなーと確信に近いところまできた感じですね。
ただ、これはもっともっと先の開発になると思います。


次の更新で、一応このスクリプトをうp するつもりなんですが、
残念なことにこのスクリプトは、Windows XP sp3  でしか快適に動かないと思います。

その辺のことについても、次の更新で。




投票ボタン付けてみました。

blogram投票ボタン       べ、べつに押したっていいんだからねっ! s(●'へ'●)2



カレンダー
04 2012/05 06
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
カウンター
プロフィール
HN:
curryegg
性別:
非公開
自己紹介:
たま~にしか更新しないです。たぶん・・・・

最近メールアドレスが変わりました。
ご意見、ご要望などありましたら

curry_eggs@yahoo.co.jp


までお願いします。


Twitter :


http://twitter.com/curry_eggs

Twitpic :

http://twitpic.com/photos/curry_egg
Scripts & Applications
これまでに公開した、
稚拙スクリプト&アプリです。


AfterEffects CS4&CS5.5 Scripts

選択レイヤーを各プロパティでソートし並び替えるスクリプト
sort_Layers



AfterEffects CS4 Scripts

AE CS4用 パスのポイントに合わせて配置スクリプト
PathToCrowd



AfterEffects CS4 Scripts

AE CS4用 scale & starttime ランダムスクリプト
ramdom_Collection_Lite



AfterEffects CS4 Scripts

AE CS4用 複数フッテージ 置き換えスクリプト
ReplaceFiles_SameDirectory



AfterEffects CS3 Scripts

AE CS3用 カスタマイズ・スクリプトランチャー
CustomLauncher_Extra_CS3



AfterEffects CS4 Scripts

AE CS4用 レイヤーマネージャー テストスクリプト
LayerManager_test



AfterEffects CS4 Scripts

AE CS4用 ポップアップUI テストスクリプト
popupUI_test



AfterEffects CS4 Scripts

AE CS4用 ブラインドパネルUI サンプルスクリプト
blindPnlUI_sample



AfterEffects CS4 Scripts

AE CS4用 カラーピッカー サンプルスクリプト
pickerUI_beta



AfterEffects CS4 Scripts

AE CS4用 パラ/フレア 高速オペレーションスクリプト
FP-Launcher_CC



AfterEffects CS4 Scripts

AE CS4用 レンダーキュー追加スクリプト
setRenQ



AfterEffects CS4 Scripts

AE CS4用 カスタマイズ・スクリプトランチャー
CustomLauncher_Extra



AfterEffects 6.5 Scripts

AE 6.5用 複数コンポエディットスクリプト
EditComps_for6_5



AfterEffects 6.5 & CS4 Scripts

AE レイヤーソートスクリプト
CompLayers_Sorting



AfterEffects CS4 Scripts

AE CS4用 複数コンポエディットスクリプト
EditComps_forCS4



AfterEffects CS4 Scripts & Applications

AE CS4スクリプト&タイムシートアプリ
TimeSheet_CS4_forWin(Mac)



AfterEffects 6.5 Scripts & Applications
AE 6.5スクリプト&タイムシートアプリ
TimeSheet_forWin(Mac)

AE 6.5 タイムリマップ サンプルスクリプト
タイムリマップ Sample Script



Java Applications

アニメーション作画・演出支援ツール
eseQ_Tools
(eseQAR & eseQScan)




PhotoShop CS2 Scripts

複数レイヤーのレイヤーカラーを一気に変更
SelLyColor_Chg_EXX(jsx)

レイヤー名変更プリセット
LyReName_Set(jsx)

複数ファイル統合ドロップレット
Drop_Import_Files_Delux(jsx)

ブログ内検索
最新コメント
[02/09 curryegg]
[02/08 そら]
[02/06 curryegg]
[02/06 さすらい]
[08/14 backlinks]
最新トラックバック
アクセス解析
バーコード
どろんぱ