雑記(試行錯誤やら覚書やら)_note001

以前から分離しようと思ってた絵やアニメ以外、堅苦しい内容などの習得したいことたちを
つらつらと書いていきます。
けっこう地味なページです。専門の方から見たら内容はほとんど無いようみたいな感じだけど、
面白いことも書くかもしれません。
とにかくごちゃごちゃなメモ。更新は多い・・・はず??

現在取り扱い中内容リスト:

C++(Visual studio (VS)) , HTML
, Photoshop (PS) , Image Ready (IR) , After Effects (AE),効率改善 , バッチ処理
, web , Premiere , Dynamic Link , R-09 , マイク , OpneCV , Photoshop scripting , javascript , C#(.NET) , GUI

検索(Ctrl+F)で上記の単語を探すとそれに関する内容に飛べるようにしておきます(多分^^;)。


本部に戻る

ログ
note001note002 、 note003 、 note004



2008/10/12 22:45:03


・・・、、PhotoshopのGUIはサンプル一行一行見て真面目にやります。

//----------------------------------------------------------------------------

var opt = null;

// メイン=====================================================================
opt = loadPreference( initPreference() );

var selectDir = new createBuilderDialog(opt);
initializeBuilder(selectDir, opt);

if(runBuilder(selectDir)){
	changePreference(selectDir, opt);
	savePreference(opt);

	runProcessing(opt);
}

selectDir = null;
opt = null;

// ===========================================================================

メインの runProcessing(opt); でビルドしてるから、ここらへんを何とかして、、
とりあえず、ダイアログデザイナーというスクリプトで、自作スクリプトのパラメーター部分の調整スクロールバーを複数入れたGUIスクリプトを
書き出してから、いろいろ処理を関連付けていこうと思います。

★メイン

★パラメータ(初期設定)

★ダイアログ(デザイン作成)

★ダイアログ(ボタンプッシュ時、動作設定)

★ダイアログ(起動・実行)

★パラメーター(変更)

★パラメータ(ロード)

★パラメータ(セーブ)

★実行したい処理





2008/10/12 21:03:59




とりあえず、photoshopのGUI制作をしたいのだけど、これがPhotoshopでGUIデザインしたあと、その各パラメーターを割り当てるのに、
まだまだGUIの構造を理解しないと上手くいかないみたいです。1ビルド1パラメーターのみの状態です。

肝心のPhotoshop Scriptingのjavascript リファレンスは全部英語で、日本サイトで解説してるところは皆無。。GUI周りだと書籍も無し。
(サンプルスクリプト置いてあるサイトはあります)
今のところ1つのパラメーター変更に関しては出来てるんですが、、汎用性を持たせるには
どうしても複数のパラメーター調整が必要となってくるわけで。。

C#でのGUIを少し触ってからの方が概要がつかみやすいかもということで後回し。
作業スクリプト自体は出来ているので。

とにかくphotoshopやAEで高度なスクリプトになってくると、各パラメーターの可変性が重要になってきて、
どうしてもGUIは必須になってきます。毎回スクリプトの記述開いてパラメーター変えるのはさすがにめんどくさいです。

それとどうしてもループまわす関係とスクリプト実行中はちらつき半端ないので、
処理中の状態をプレビューできないわけで、大量の処理をかけるスクリプトに関しては、
ヒストリーで戻れず、設定の一発勝負が多いです。ここの点はAEだとプレビュー出来るので良いんですが、
AEの場合、Photoshop並みの細かな画像処理が出来ないところが欠点ですね。
たとえばグローをPhotoshopのスクリプトでやるとプレビューできないですが、AEはリアルタイムでプレビューして
状態を確認して設定できると言った具合で、求めているグローの細かな処理がAEで出来ないときにPhotoshopを
活用すると言った感じです。アニメーションノート見ると、京アニとユーフォーテーブルあたりそこらへん研究進んでるなと、、
今度スパイしに行きたいぐらいですが^^;
AE周りのスクリプトはプロダクションIGが強い気もします。

AEは選択領域作成がマスクみたいなもんですから、市販プラグインでも使わない限りモフォロジー処理を絡めた
処理とかまず無理だし(開発に時間かかる)、HDの非圧縮でない限り、キーイング系の処理は綺麗に出来ず、
実現するには超ハイスペックなマシンにしないといけないので、今の財力では環境を買えず、Photoshopに頼るしかないです。



2008/10/06 1:25:01

今日は特に無しです。

今日のメモ

押し間違えで発見する新しいショートカット

・"windowsキー+E"でマイコンピュータを開く

他にももっと調べるには→windowsXPのショートカットキー

//========================

Sleipnir→履歴パネルから"最近閉じたページ"で、
間違って閉じて再度探すのが困難な場合でも、
ここからすぐに開き直すことが出来る。


こころさん情報のFireFoxのワンクリックでニコニコ動画○○のツールも導入しました。
ありがたき情報です。

FireFoxも最低限の機能はどんどん拡張しなくては…!




2008/10/04 21:43:49

今日のメモ

★指令本体アプリ機能候補(本体からの実行リスト)

・キーボードショートカットプリセット(専用作業ごと、スクリプト割り当ても含む)の選択切り替えプログラム(Photoshop側でjavascriptで弄れるか未確認)
→背景特化(レイヤーカンプ)用(アクションメイン、スクリプトも追加予定)
→作画用(切り替え系、コマ作成系)(スクリプトメイン、作るべき機能を思いついたらスクリプト追加)
→セル画彩色用(自動彩色機能のではなく、手動彩色+修正用)
→必要機能セット思いついたら追加

Photoshopアクションの割り当てとスクリプトの割り当てが、どうにかならないか?
→アクションファイル自体ををスクリプトから呼び出して実行する手立てを調べる←優先
→あるいはアクションをスクリプトで記述してスクリプトキーボードショートカットプリセットにまとめてしのぐ。


・自動彩色スクリプト(あとはパラメーター調整→時間出来たらGUIで調整可能に出来るか検討)
→全コマ用、1コマ用


・PSレイヤー積み重ねスクリプト
・PS_VFX用コマ組み立てスクリプト


・色彩設計用スクリプト
→クリッピングマスク関係
→パレットライブラリー(仮色・自動彩色スクリプト用、処理速度の関係上パレット色数を分けて数個パレットを作成、20・40・60・80の4種類くらい)

・色彩設計⇔自動彩色連携スクリプト
→色まとめ自動変更(プロット色レイヤーを利用)


・PS_グラデーション用プログラム
→余力あったら


・PS⇔AE連携関連プログラム(jsxやファイルの受け渡しはコマンドライン、VBSとか、無理そうな場合ステップ分けるでもOK)
→動画チェック


・AE関連スクリプト(スクリプトをキーボードショートカットに割り当てられたらキーボードショートカットプリセット切り替えプログラム作成)
→素材自動コンポジット
→キーイングマスクグローコンポジット作成

・AE、PS、その他連携

→ライブラリから読み込み
→3D関連


・サーバー用、グループによるシステム関連
→シナリオテキスト、カット変更同期(台本⇔コンポジット完成での雑事カット)(制約時間内の演出強化)(アフレコ台本組みなおし時間節約)
(Dynamic LinkあわせてでPremiereでプレビューしてAEでピンポイントで、そのカットの自動変更の実行がレンダリング時間節約で良い)
→今後どしどし追加予定





スクリプトはPhotoshopまわりある程度完成、AfterEffects Scriptとサーバーでのシステム関連、本体アプリを
今後のメインで。

余力あればPS scriptのGUIを作成。さらに余力でAE scriptのGUI関連。とにかくまずは機能重視。
機能がある程度完成後は、FLASHあたりでナビゲーションを入れていく予定。

高速化に関して、PSとかはAction Descriptorをどうにか習得して改良(PS-Script ここのxbytorさんがAction Descriptorに詳しい)。

アプリケーション内にHTMLはめ込めるかまだわからないけど、まずは外部のブラウザで起動させるようにする。
既存で良いツールや機能がある場合は、そのツールや機能を作らないことを前提に、
既存の新ツールや新機能に常に目を向けて、それにアクセスして効率よく組み合わせる形で自動化の強化を図る。

★本体アプリにもキーボードショートカットの割り当て
→機能数が多い場合は、ウィンドウタブで分けて同じキーでも使い分けられるように。
→アプリ自体のマウスジェスチャー機能も検討(ウィンドウズエクスプローラとかはHandyGestures、ブラウザのも既成のマウスジェスチャーを利用)
多ボタンマウスへの割り当ても検討

多ボタンマウスの様子見しよう。

ちなみに"ALT+Tab"でタスク切り替え→ここを多ボタンマウスでどうにか…。出来ればペンタブのペン握りながら多ボタンマウス(右手)、
キーボードショートカット(左手)、、右手腱鞘炎にならないよう、どうにか策を。


//====================
組み立て式の外付けポータブルHD、動作がすごい不安定で使い物にならない。
安いからといって組み立て式のHDは買わないことにしよう。
ついに壊れてファイナルデータでサルベージ、BUFFALOの160Gを購入してデータ移す作業をすることにorz




2008/10/04 0:41:03

創作作業以外を99%自動化・・・!を目指して頑張ります。


今日のメモ


AEの"afterfx.exe"ファイルはデフォルトでは以下にある。


C:\Program Files\Adobe\Adobe After Effects 7.0\Support Files

よってこの場所に"AE_Automation"というAE自動化フォルダを作成。
(出来れば、パソコンの変更でもすぐにシステムをセッティング出来るよう、
完成したアプリケーションをインストーラーでインストール出来るようにして、
何か工夫してこの場所にフォルダを入れ込むようにする)



test01として、以下のスクリプトをバッチファイルに記述する。

..\afterfx.exe -s "alert("You just sent an alert to After Effects")"


そうすると上の階層にafterfx.exeというAE本体アプリケーションファイルがあるので、このスクリプトが送られて
メッセージのアラートが実行される。

//-------------

また、実行する JSX ファイルの場所を指定することもできる。 例えば、次のようにする。
afterfx.exe -r c:¥myDocuments¥Scripts¥yourAEScriptHere.jsx
afterfx.exe -r "c:¥myDocuments¥Scripts¥Script Name with Spaces.jsx"

//---------------

のように"AE_Automation"フォルダに"Scripts"フォルダなどを作成して、そこにスクリプトをたくさん入れて、
読み込ませてAEに送る。

標準だと、alert.jsxの例で、

..\afterfx.exe -r C:\Program Files\Adobe\Adobe After Effects 7.0\Support Files\AE_Automation\Scripts\alert.jsx



→これを相対パスにできないか? Scripts\alert.jsxなどと指定してもなぜか読み込みできない。
→メッセージは、”ファイル「Scripts\alert.jsx」の読み込みアクセス権がありません。”と出る。


やっぱり既成のScriptsフォルダに入れてやるしかないのかな…。


同様にPhotoshopでもjavascriptをコマンドラインで送ることができる。
"Photoshop_Automation"フォルダを作り、その中に"Scripts"フォルダを作りjavascriptをまとめ、バッチファイルは直に置く。
組み立てた"Photoshop_Automation"フォルダをPhotoshop.exeがあるフォルダに置く。
コマンドライン(バッチファイルに)でjavascriptを直接書いて送るのは無理(いや試して無いけど)だけど、
.jsxファイルを送ることはできるので結果スクリプトを送ることができる。

//------------

..\Photoshop.exe -r "C:\Program Files\Adobe\Adobe Photoshop CS2\Photoshop_Automation\Scripts\alert.jsx"
//スペースがある場合は""で囲む。

//---------


・・・、司令塔であるアプリケーション側にjavascriptとバッチファイルをまとめ、そこからAfterEffectsやPhotoshopのパス
指定して、コマンドラインで送るって手もありそう。
キーボードショートカットに割り当てる以外のスクリプトは、なるべく司令塔本体側に集約させる方針で。

ちなみに、キーボードショートカットにスクリプトを割り当てるには、作ったjavascriptを

C:\Program Files\Adobe\Adobe Photoshop CS2\プリセット\スクリプト

に入れる。ファンクションキーに割り当てるのがオススメ。作ったスクリプトがファンクションキーより多いときは、
shiftやctrlと一緒にファンクションキーを使用してしのぐ。それ以上の割り当てはしないほうが良い。
それ以上割り当てる場合は、キーボードショートカットのプリセットをまた別に作成し、専用作業ごと
キーボードショートカットプリセットを切り替えて作業を行う。


//---

別件の話で、フォルダの上書きは、更新されているファイルのみ上書きで、フォルダのファイルの数の状態と中身まったく
重ねるわけでなく、上書き先フォルダの中に別のファイルがあればそれは残る・・・!?

今のところフォルダ管理はVBScriptで。



2008/10/04 0:15:57

C#で、ボタンからスクリプト実行する簡単なアプリケーションを作ります。

まずはIDE(統合開発環境)である.NETの基本から頑張っていきます!時間かかるぞ…。





2008/09/25 21:53:48

Photoshop scripting (javascript)の原因不明のエラー解決しました。

function checkSelection() {
    var flag = false;
    try {
        //activeDocument.selection.translate(0,0);//エラー発生
        //activeDocument.selection.translate(1,1);//エラー発生
        //activeDocument.selection.translate(-1,-1);//エラー発生
        //activeDocument.selection.invert();//不具合多い
        //activeDocument.selection.invert();//不具合多い
        //activeDocument.selection.copy();//OK

        activeDocument.selection.contract( 1 ); //縮小
        activeDocument.selection.expand( 1 );//拡張(縮小に続けて使用)
    } catch(e) {
        flag = true;
    }
    return flag;
}

if (checkSelection()) {; //処理
} else {; //処理
}


どうやら、activeDocument.selection.translate(0,0)でエラーを回避していたのがいけなかったみたいです。
この領域の移動でエラー回避を行うときにだけRGBのバグが発生するらしいので、今後は影響を与えない領域処理
(copyか拡張・縮小)で回避するのが良さそうです。





2008/09/25 2:02:00

Photoshopの原因不明のエラーが発生しました。

スクリプトである処理をかけたあと、チャンネルのRGB各コンポーネントもしっかり3つ表示されてアクティブで、
同じレイヤー内に複数の色がはっきり存在する中で、表示されている視覚的な情報の色とRGB値が違うというエラーです。

try...catch(e)で領域の存在有無のエラーを潰す部分のステップを超えて次の処理内でバグが発生しているっぽいです。

情報取得するだけのはずの部分で、わけのわからない上書きをされては本当にお手上げです…。

でも自分はループ内のコレクションの指定ミスでバグらせることが多いので、指定部分をどうにか書き直して
バグを消せるようにしたいところです。とりあえずこの明らかに不明なバグも、
一回の処理で特定の要素の部分でなくて、ループ内の一つの要素にランダムに発生しているので。

それでも直らなかったら、、大学にCS3があるので、改善された可能性があると信じて、バグが直っているか試してみます。


2008/09/14 1:38:46

Photoshopなどのscripting ネタを少々書いていきます。
自動化に興味のある方は是非触ってみることをオススメします。

レイヤーだけを参照して操作するなら、

//========================================

//特定のドキュメントは指定しない場合

//アクティブドキュメントを定義
var docRefSE = app.activeDocument

//アクティブにしたいレイヤーを指定
activeLayer = docRefSE.layers["p"]

//レイヤーの表示・非表示の設定。
//"背景"の取り扱いはちょっと面倒なので後回し。なので現段階は削除した状態、あるいは常に非表示にしておく。
//docRefSE.layers["背景"].visible = false

docRefSE.layers["p"].visible = true

//=========================================

のように参照すれば良いみたいです。ということで今度は、レイヤーセットをインデックスで指定して、
そのインデックス内の名前付きレイヤーを参照する場合、

docRef = activeDocument;
docRef.activeLayer = docRef.layerSets[1].layers["p"]


となるようです。レイヤーもインデックスで指定してあげれば、
スクリプトを実行するときにその特定の場所のレイヤーに常に処理出来るのですが、作業中に追加レイヤーが
ある場合は、インデックスでの指定は不利です。つまり主要レイヤーには名前をつけて操作させる、がポイントだと
思いました。
(あえて言うなら、名前もスクリプトでつけてから操作させる、テンプレート作成を自動化させてそれをルールにすることが重要)

それでdocumentsに対してもインデックスで指定する場合は、

activeDocument.activeLayer = documents[0].layerSets[1].layers["p"]

のように出来るのですが、この場合は操作するドキュメントが手前(アクティブ)にある必要があります。

なので、複数のドキュメントが開かれていて、アクティブにしたいドキュメントを指定してから参照しないとエラーとなります。
それが以下の記述です。

activeDocument = app.documents[0] //アクティブなドキュメントを指定
docRef = activeDocument        //アクティブなドキュメントを定義
docRef.activeLayer = docRef.layerSets[1].layers["p"]   //レイヤー参照

あるいは、

activeDocument = app.documents[0]  //アクティブなドキュメントを指定
activeDocument.activeLayer = activeDocument.layerSets[1].layers["p"]  //レイヤー参照


自分は下の書き方のように、アクティブドキュメントを定義しないで操作するのを好ます。
というのも、まだ慣れないうちは直感的に操作して流れを見れる方が修正しやすいからです。


というわけで、これでドキュメントから包含階層としてでレイヤーを操作させることが出来ました。

つまりこれらのインデックスと名前を使って、forループやifでの分岐も容易に可能となるわけです。

その後これを一体何に使うかは、それぞれのアイデアに任せます。
Photoshop Scriptingでは大体はレイヤー操作がメインだと思います。

フィルタ系を操作するスクリプト組んでも、すぐ飽きて大体使わないことが多いと思います。

というのも、AfterEffectsを知れば知るほど、それをよく感じるようになります。
AfterEffectsはPhotoshopの動画版です。
Photoshopでまとめて処理をかけてから動画で確認するよりも、AfterEffectsでリアルタイムに動画を確認しながら、
エフェクトを適用するほうが明らかに使い勝手が良いからです。そしてもしフィルタ系のスクリプトを組むなら、
AfterEffectsで組んだほうがもっと早く楽に作れて適用出来るわけですよね?

ということで、Photoshop Scriptingで手をつけなくても良い部分はAfterEffectsと相談しながら見極めていく必要があります。


2008/07/28 14:58:12


OpenCVの課題でいろいろ調べていたとき、こんなサイトを発見しました。http://d.hatena.ne.jp/darashi/20070222

描いたキャラクターで試してみると、面白いですw
アニメでも反応するということは、目とか口の位置で判断しているのでしょうか??
エフェクトがかかりまくっている方が反応して謎が深まるばかりです。

OpenCVの利用法で、最終的な結果が画像処理でなく、デスクワークに発展させるアイデアを出してみる。

デスクトップ上のごちゃごちゃした状態でスクリーンショットして、その画像から特定の情報を画像認識で集めて、
何かするというもの。

認識する対象はアイコンでも、文字でも。その何かはこれからの作業で自動化が必要だと思ったことなどです。


2008/07/12 22:34:56



コンデンサーマイク(CS-15)を使ってR-09でサンプリング。

アニメの効果音作成で、R-09の内臓マイクを直に音源に近づけて録音しても良いんですが、録音対象によっては
水とか埃とか湿気とか、そういうので本体を痛めないようにするためと、可動性、より高音質で狙った音を録音できる
ようにするため、外部のマイクを買いました。

音響関係の機器は精密なので、設定をしっかりして、慎重に手順守って扱わないとすぐ壊れてしまうんですよ。
MIDIキーボードとかも電源の入切を慎重にしないと電子回路が壊れたりするみたいで、何かと慎重に扱っています。
それで扱う手順と、より高音質で録音できるよういろいろまとめました(これが正しいかは説明書で一度ご確認を^^;保障はありません)。

★R-09の設定

0.電源入れて、サンプリング設定

遠出による長時間録音でなく、狙った音源を高品質で確保したいなら(業務用)、
サンプリング周波数:48kHz
録音モード:wav-24bit

なんですが、wav-16bit/44.1kHzでも十分な気もします。というより、データ量が膨大になったり、高品質サンプリングだと
そのデータを扱えるDAW側も制限されるので、wav-16bit/44.1kHzが良いと覚えておきましょう。
(余談で、会議、授業の録音などは、サンプルレート44.1kHz、録音モードMP3-192kbpsでやってます。2GBのSDメモリなので、
このレートとモードで安心して1日分の授業を録音できます。ちなみに電池は、自分は充電電池なんですが、5時間くらいもちます。)

1.設定

CS-15の内臓電池を使用せずにR-09のプラグインパワーを使う場合は、
R-09のメニュー→Input Setup→Plug-in Power→ON
にします。
ただここで注意なのは、ダイナミックマイク、電池内臓マイクを使う場合、Plug-in PowerはOFFにしておきます。
そうしないと 壊 れ ま す

CS-15はプラグインパワー(優先)と電池で、どっちでも動作するようです。プラグインパワー対応のR-09で使用するので、電池は不要。
なのでR-09以外の録音機材本体を使う場合、その仕様を見て、もしプラグインパワーでない場合は、CS-15に内臓電池を使います。

ちなみに、マイクの種類を解説すると、

ダイナミック・マイク:ボーカル、楽器の録音、電源供給不要。
コンデンサー・マイク:生楽器、会議、小さい音の録音、電池、プラグインパワーによる電源供給が必要。

L/Rに関して、なるべく音のクオリティを上げるため、ステレオマイクをオススメします。モノラルマイクだと録音時、設定がまた必要。

2.マイク接続

マイク入力端子に。
また音声モニターしながらサンプリングする場合、ヘッドホンはヘッドホン端子に、スピーカーはハウリングを起こすので使用不可
(というか、スピーカーでモニターするのはおかしい)。自分はイヤホンでモニターしています。

3.入力レベル調整

R-09の場合、レベルメーターが右に行くほど良い感じに録音できてることになります。
PEAKインジケーターが点等しないように入力レベルを決めます。

4.録音ボタンを押す

HOLDボタンを押しておくと誤作動防止。録音入力レベルを変えたいなら、そのまま。

5.録音やめるなら停止ボタン

一時停止だとファイル分割されずに録音が継続できるので、用途に応じて、停止、一時停止を使い分ける。


(6.再生ボタンで確認)

リアルタイムで取れたか音確認する場合は再生します。

★CS-15(マイク)使用時の注意点

1.仕様前電源ON

R-09のプラグインパワー対応の本体を使う場合、プラグインパワー設定をONにした状態でマイクの電源をONにする。
ダイナミックマイク、電池内臓マイク使用時にはR-09のプラグインパワーの設定をOFFにする。そうしないと壊れます

2.使用後電源OFF

誤動作、スピーカー破損を防ぐため、全ての機器の音量を絞った状態でOFFにする。
ようはマイクの電源は一番最後にOFFにしましょうってことです。


---------------------------------------------------------------------------

それでCS-15で録音した結果なんですが、とにかく高音質です。

駅のホームの音をダイレクトに録音したときもびっくりしたんですが、今回CS-15を使っての
録音はとにかく半端なくそのまま耳に入ってくる音とまったく同じという脅威の高音質録音ですw

アマで手に入るプロ機材と言っても過言じゃありませんw
ちなみに、今までに取ったR-09の音たちを紹介すると、


セミの音なんかも、
セミの泣き声


鈴虫の音なんかも、
鈴虫の鳴き声


この通り。ピアノ演奏の音ものせたかったんですが、演奏があまりに酷いのでやめておきますw

ICレコーダーでとるのも良いんですが、是非この隠れた名アイテムをオススメします。

昔もR-09のレビューで書いたんですが、ここのレンタルHPの容量の都合上、最大レート、ビット数によるサンプリングした音を
載せられないのが残念です。直にその最大の設定でサンプリングした音を味わってもらいたいものです。
(今回のは16bit/44.1kHz)
(自主制作アニメのweb配信のときは何か策を考えたいところです。)


-------------------------------------------------------

R-09はただ音が分かれば良いって感じで使う分には単純なんですが、まだまだ高品質録音を目指す場合、いろいろ攻略が必要です。

例えば、

ボーカル録音・楽器録音時の本体角度。左右にぶれないように録音する本体、マイクは固定。
入力レベル調整。→はじめの設定だけでなく、対象音源の音量変化に常に対応するようレベル調整する。
長時間録音してポシェットに入れておく場合、HOLDスイッチは絶対ONにしておく→誤動作による録音ミスを防ぐ。
ボーカル録音時はポップガードを使って本体へかかる息の湿気から守る。コンデンサーマイクの場合、
マイクのウインド・スクリーン(楕円のスポンジ)をはめること。

リバーブとかはDAWで後付できるので、あまりかけないほうがいいです。


またサンプリングのマイブームが舞い降りてきそうです(笑


2008/07/12 12:40:10

昨日、東京の赤坂へ、「After Effects Night」っていうAEについていろいろ語る無料の講演会に行ってきました。
それで必死でメモしてきました。CS3の宣伝みたいな感じでしたが、UPGしたくなるような説明でした。

とりあえず、使えそうなツールや方法とかごちゃごちゃ思ったことなどの内容を羅列してみます。



・パペットツール(リアルタイムでマウスによるモーション作成可能。モーションスケッチとは違って、画像にボーン付けしてアニメーションを作成できる。
レイヤー分けてキーフレーム一個一個打ってという手間が省けるということですが、これはFLASHでもいけそうですが、AE上でリアルタイム
でのモーション付けが出来るってのがミソです。)

・P2 MovieをPremiereにダイレクトに渡せる(DVからUSB経由でPCのHDDに直に渡して直に読み込み編集って感じです。AEでも同様に可)

・実写の人を溶かすPV映像の作成例(ディスプレイスマッピングでフラクタルノイズ、溶解中の画像の中の溶かさない部分はマスク切ったり、
とにかくレイヤーを細かく切って編集するらしいです。それで溶かす質感に使われてたエフェクトたちは、チョーク、ミディアン、ベベルアルファ
のようでした。溶ける感じはロウが溶ける感じです。)

・P2はQTファイルに直したりする手間が省けるという点で実写編集には便利ということです。実際講演会で紹介されたカメラは、パナソニックの
P2フォーマットカメラでした。

・実写の素材確保でアニメ制作において重要な部分だけ取り上げると、素材に当てるライティングを調整して質感を合わせることです。色調の調整
はいくらでも可能ですが、影とかには注意が必要です。アニメ背景でも実写はめ込みをするときは撮影時点での注意が必要。
あらかじめ落ち影の設定のイメージを作成してから撮影に臨む。

・CS3から登場するバニッシングポイント(平面の背景を立体に起こせる機能です。カメラの角度が大きくずれると、当然平面が抜けます。
3Dで似たようなのはカメラマッピング。大きくずれた場合はUVを割り当て、テクスチャを焼きなおしてレタッチなど。微妙なカメラワークのとき限定で
使用して、平面やテクスチャに矛盾が生じた部分はもやとかの煙で隠す、というぐらいの使用に留めておいた方が良いかもしれません。
PSでも同じ機能があり、もちろんPSで作成したバニッシングのデータをAEに受け渡して起こすことも可能です)

・非圧縮編集(クロマキーで抜けやすくしたり、カラー調整の誤差を極力減らす意味で非圧縮編集を行うようです。それとレンダリングでもカラーの色合いが
落ちるので、極力Dynamic LinkでAE⇔Prで渡しあって編集するのがいいらしいです。レンダリングの手間を考えると、確かにダイナミックは便利です。
レンダリングを重ねると劣化する、、自分ははじめレンダリング設定の問題かと思ってたんですが、違ったみたいです…^^;)

・AEでスタンプツールみたいなものを使用して動画上のゴミ修正(アニメではあまりないと思うんですが、さっき言ったバニッシングでの矛盾を動画レタッチ
するという意味でかなり使えると思います、除去&加筆って感じです)

・実写個別合成(自分は昔、花火大会の花火を色調を背景と合わせて変えて合成したりとしたんですが、そういう感じで液状のものを合成したり、または
それをマット画像としてディスプレイスメントマップに適用したりと使えたりします。トラッカー制御とか必要ですが、そこらへんは素材を一から作成の
手間を考えれば楽なものです。)

・PSCS3のビデオレイヤーでのロトスコーピング(これは是非使いたい。けどCS3ということで残念。。クロマキーみたいな感じですが、自動選択ツール
をブラシみたいにした感じですね。逆に考えると、マスクでも全然いけるんですがwなんで、ビデオレイヤーに適用ということで、どこまで正確に選択領域
が追従するか、、そこをもっと詳しく見たかったです。アニメの用途的には、動画を起こしてしまった段階での動画レタッチ、、といった具合です。)


Production stdio PremiumからCS3へのUPGは9万8千円・・・、アカデミックは本体で9万8千円、、なら学生のうちにアカデミック本体を
買ってしまったほうが、ライセンスがひとつ増えるからこっちのほうが良いかもしれないです。
レンダリングも2台で出来るし、CS2の一部ソフトが消えることも無い…!ただFLASHのアカデミックはまだ商用利用不可なのでしょうか・・・。




BLITZの隣にTBSがありました。とにかくでかい。



2008/06/17 0:25:41
~強化週間~
やることリストをこれから書いて、一個一個時間までに終わらせることにします。本当にスケジュールメモみたいなものです^^;
受験時代、2chでの勉強マラソンを思い出します^^^終わったら斜線引きます。そしてどんどん追加!(むちゃはしない…


・レポ(メディア)
・構造体、マクロ/ファイルの読み込み(C++)
・CAD手法、文章で
・プログラム課題2つ
↑明日24時まで

・特許概要まとめ(現在まで、紙+PC)、書類レポ作
↑金曜24時まで


・Cまとめラスト
・CADソース、マニュアル、解説書、担当分ワードまとめ
・修士論文一読
・openCV
・マーケティングまとめ(現在まで、PC)
・電気管理まとめ(現在まで、紙+要約PC)
・ssw~10(できたら~21)
・AE素材制作(2つ)
・デザコン
↑後回し^^;


2008/06/10 0:46:45

webの更新チェックとか操作についていろいろ考えました。研究室の先輩にもお世話になってます。


まずはSleipnirなどブラウザを導入(こころさんと研究室の先輩情報です。プラグイン、操作性、設定が本当に便利ですm(_ _)m)。
巡回するブログでフィードがあるのは全部RSSパネルで管理。ボタン一つでまとめて更新チェック(ここらへんは研究室の先輩、草壁さん情報)。
大手ニュースや情報サイト、好みの単語検索による情報のRSSは、はてなRSS(オンラインのRSSなのでどこでも見れる)を利用。
WWWCを導入。RSS対応していないサイトでお気に入りサイトをまとめて登録、その中で自分が良く見るサイトを「基本」フォルダとして
作成し、ボタン一つでまとめて巡回し、更新サイトをタブブラウザでまとめて開く(ここがポイント)。
まとめてが基本姿勢。マウスホイールまわしてプルダウンしながら
ページを見終わったら、CTRL+Wでタブを閉じる(マウス移動の手間を省く)。
基本フォルダですぐ巡回チェックができてしまうので、その他のフォルダも更新チェックボタンを押してまとめて
見る。いつも回らないサイトも時間節約で更新したらピンポイントでまわるので、視野がどんどん広がる。
良いサイトでブクマしたのに埋もれしまうことも無くなる。
それとマウスのプロパティで、マウスのポインタを”既定のボタン上に移動する”に設定するとかなり操作が早くなる。

IDとかパスでログインするサイトは、ブラウザ標準の記憶に頼らず、”ID Manager”や”ロボフォーム”で管理して、IDとパスを自動入力、
自動ログインできるようにする(ID Manager情報源:研究室の方、まさに革命家です)。

画像のダウンロードはDSダウンローダー、あるいはOrbitを使い、リストにどんどん追加してまとめて落とす(大量にコンテンツ
があるサイトのとき)。

ウィンドウがたくさんあってまとめて最小化、最大化は”スタート+D”。

いつも開くファイル郡たちはバッチファイルでまとめて自動で開く。
自分は、やる作業によって開くが違うので、開くファイルを場合わけしてリスト化、登録で使い分けてます(ツールは、Ultimate Runner)。
またバッチファイルの例(僕の基本開くファイル郡)

//-------------------

start "" "H:\***ファイル\**画像総合"
start "" "C:\Documents and Settings\****\My Documents\Photoshopフォルダ"
start "" "C:\Documents and Settings\****\My Documents\映像系制作フォルダ"
start "" "C:\Documents and Settings\****\My Documents\kbmed242_beta4\Kbmplay.exe"
start "" "C:\Program Files\Adobe\Adobe Photoshop CS2\Photoshop.exe"
start "" "C:\Program Files\***********インターネット接続"
start "" "C:\Program Files\Fenrir & Co\Sleipnir\bin\Sleipnir.exe"
start "" "C:\Program Files\WWWC\WWWC.exe"

//---------------------

一時的にいらないstartは、バッチファイルの編集で//startしてやれば飛ばせます。
それと開く順番も注意です。



情報社会を征すための第一歩ですヽ(`Д´)ノ


2008/06/07 0:39:40

コマンドプロンプトhelpメモ

バッチ処理のコマンドたち

C:\Documents and Settings\******>help

特定のコマンドの詳細情報は、"HELP コマンド名" を入力してください

ASSOC ファイル拡張子の関連付けを表示または変更します。
AT コマンドやプログラムを指定した日時に実行します。
ATTRIB ファイルの属性を表示または変更します。
BREAK 拡張 CTRL+C チェックを設定または解除します。
CACLS ファイルのアクセス制御リスト (ACL) を表示または変更します。
CALL バッチ ファイル中から、別のバッチ ファイルを呼び出します。
CD 現在のディレクトリを表示または変更します。
CHCP 有効なコード ページ番号を表示または設定します。
CHDIR 現在のディレクトリを表示または変更します。
CHKDSK ディスクをチェックし、状態を表示します。
CHKNTFS 起動時のディスクのチェックを表示または変更します。
CLS 画面を消去します。
CMD Windows コマンド インタープリタを新しく起動します。
COLOR コンソールの文字と背景の既定の色を設定します。
COMP 2 個のファイルまたはファイルの集合の内容を比較します。
COMPACT NTFS パーティション上のファイルの圧縮状態を表示または変更します。
CONVERT FAT ボリュームを NTFS に変換します。現在のドライブは変換できません。
COPY 1 個以上のファイルを別の場所にコピーします。
DATE 日付を表示または変更します。
DEL 1 個以上のファイルを削除します。
DIR ディレクトリ中のファイルやサブディレクトリの一覧を表示します。
DISKCOMP 2 つのフロッピー ディスクの内容を比較します。
DISKCOPY フロッピー ディスクの内容を別のフロッピー ディスクにコピーします。
DOSKEY コマンド ラインの編集、Windows コマンドの再呼び出し、マクロの作成をします。
ECHO メッセージの表示、コマンド エコーのオン、オフの指定をします。
ENDLOCAL バッチ ファイルで、環境変数のローカライズを終了します。
ERASE 1 個以上のファイルを削除します。
EXIT CMD.EXE プログラム (コマンド インタープリタ) を終了します。
FC 2 個のファイルまたはファイルの集合の内容を比較して、それらの違いを表示します。
FIND ファイルの中からテキスト文字列を検索します。
FINDSTR ファイルの中から文字列を検索します。
FOR 指定されたコマンドを、ファイルの集合の各ファイルに対して実行します。
FORMAT Windows で使用するためのディスクをフォーマットします。
FTYPE ファイル拡張子の関連付けで使われるファイル タイプを表示または変更します。
GOTO バッチ ファイル中で、ラベルで定義されている行へ Windows コマンドインタープリタの実行を移します。
GRAFTABL Windows がグラフィック モードで拡張文字セットを表示できるようにします。
HELP Windows コマンドのヘルプ情報を表示します。
IF バッチ ファイル中で、条件処理を実行します。
LABEL ディスクのボリューム ラベルを作成、変更、または削除します。
MD ディレクトリを作成します。
MKDIR ディレクトリを作成します。
MODE システム デバイスを設定します。
MORE 出力を一度に 1 画面ずつ表示します。
MOVE 1 個以上のファイルをディレクトリから別のディレクトリに移動します。
PATH 実行可能ファイルの検索パスを表示または設定します。
PAUSE バッチ ファイルの処理を一時停止し、メッセージを表示します。
POPD 現在のディレクトリを PUSHD で保存したディレクトリに戻します。
PRINT テキスト ファイルを印刷します。
PROMPT Windows コマンド プロンプトを変更します。
PUSHD 現在のディレクトリを保存して、変更します。
RD ディレクトリを削除します。
RECOVER 不良または欠陥ディスクから読み出し可能な情報を復元します。
REM バッチ ファイルや CONFIG.SYS の中で、コメント (注釈) を記録します。
REN ファイルの名前を変更します。
RENAME ファイルの名前を変更します。
REPLACE ファイルを置き換えます。
RMDIR ディレクトリを削除します。
SET Windows 環境変数を表示、設定、または削除します。
SETLOCAL バッチ ファイルで、環境変数のローカライズを開始します。
SHIFT バッチ ファイルで、置き換え可能パラメータの位置をシフトします。
SORT 入力を並べ替えます。
START 別のウィンドウを起動して、指定したプログラムまたはコマンドを実行します。
SUBST パスをドライブ名で置き換えます。
TIME システム時刻を表示または変更します。
TITLE コマンド プロンプト ウィンドウのタイトルを設定します。
TREE ドライブまたはパスのディレクトリ構造を図式表示します。
TYPE テキスト ファイルの内容を表示します。
VER Windows のバージョンを表示します。
VERIFY ファイルがディスクへ正しく書き込まれたかを照合するかどうか
Windows へ指定します。
VOL ディスクのボリューム ラベルとシリアル番号を表示します。
XCOPY ファイルやディレクトリ構造をコピーします。


.batをたくさん作って、自分用の作業用ツールを作りたい。
やらせたい仕事を登録してバッチファイルを自動生成、
それらのバッチファイルをリスト化してまとめて実行、さらにパターンに応じて登録するので、
複数のリストを保存できるように。
C++で。ウィンドウの枠とかは一から作らなくてもWin32APIであらかじめ
用意されているのかな??いろいろやってみよう。


2008/06/05 17:02:18

効率改善

タイピングの矯正、最善の運指を考えてみる。(PCキーボード)(ブラインドタッチ)
これから人生において仕事面で長い付き合いになるだろうものだからこそしっかりしておきたい。
論文から報告書、プログラム、特に文字を多く打つ脚本や書籍出版などの仕事が増えるのであるならなおさら注意が必要です。

これといった規則のないタイピング。ある程度はタイピングソフトなどのアドバイスで方法が確立されているが、
本当にそれが最善のものであるのか?これらには根拠が無いのが多いので、
いろいろタイピングについて調べながら自分の持てる範囲の知識で限界まで効率改善化の検討をしてみました。

まず悠木さんからの運指表をお借りしました。



これを編集して、自分なりに、というか人間工学(?)で理に適った、
次の条件を満足する運指を考え中です。

1.ホームポジションからの各指の運指が最短距離であること
2.運指の速度が最高速度であること
3.精神的負担がかからないこと
4.指が疲れないこと(肉体的負担)
5.合理的であること

ほぼどの条件も似た感じですがこんな感じで。


上記の各項目の改善方法

1.図参照。ホームポジションからの距離と、指のサイズを考慮してキーを割り当てる。
2.図の距離参照、と別途記述の命令信号伝達時間を考え合わせる。
最短距離と手の関節構造から指のポイント間の移動距離を考慮して指の移動速度が出やすいところを割り出す。
3.別途記述。矯正した正しいうち方に慣れるまでは負担がかかるが、慣れたら負担は激減する。
4.別途記述。最短距離という点だけでなく、指を動かす空間が密集しすぎて打ちにくくならないかということも考慮する。
5.今後も改良。それぞれ配列を考えて、さまざまな厳選したパターンを試してみて、
もっとも人間工学にあった運指を理論立てて徹底的に絞る。


★タイピング矯正のプロセスとしては、

まず自分のタイピングの美点と欠点を上げる。例として僕の場合、

1.タイピングの速度がかなり速い(そのうち方での慣れも含む)
2.タイプミスが頻繁に起こるときがランダムに来る
3.特定の文字を打つときにタイプミスしやすい
4.タイピングの正打率に安定性がない
5.高速度で長時間打っていると指が疲れやすい


・考案したタイピングに矯正できたあと得られると思われるもの

・速度のさらなるUP
・手の疲れが一揆に減る
・ミスが一揆に減る
・作業が捗る


あまり深く追求して効率改善と負担減少を意識してしまうと、それだけで時間を多くとられてしまうので、
ある程度基準値(タイピングソフトによる正誤率と速さ)を越したら完了、また弱点が出てきたら改良するなどといった
感じで矯正していくと良いと思います。

改善のため体に染み付いた慣習を壊して自発的に矯正することはかなり困難を生じますが、
改善後の効率や負担減少を考えれば苦にならないと信じて矯正します。

・矯正するための計画立て
いきなり矯正するうち方で全ての文字打ち作業を行わない。
特定の作業、特に思い立ったことを慌てて打たなくても良い決まりきった文字の打ち込み作業のときに、
矯正するうち方を行う。初めのうちは時間制限があったり創作性のある文書を打つときは今まで通りの打ち方を
行って作業の妨げに感じさせないようにする(無理すると精神的に矯正を諦める方へ追いやってしまう)。


もうまわりでは常識だと思いますが、”っ”の促音の打ち方で一番早いのは、例を挙げると、

ステップ→”steppu”と打つ
カッター”katta-”と打つ
トリック→”torikku”と打つ

つまり文字の間さに”っ”が来るときは、”っ”の後の最初の英字を2個打てば言いわけです。

”っ”は”xtu”で打てますが、実は今まで自分は単独で”っ”を打つ以外のときもこの打ち方をしていました^^;


ここでは、文字間の”っ”は、「”xtu”と3文字打つ」より、「”っ”の後の最初の英字1文字で打てる」方が効率が良いことになります。


”ぃ”とかは、”xi” 、”li”どちらでも打てますが、タイピング的にどちらが高速かつ疲労が少なく打てるか、
検討しました。

検討結果(馬鹿みたいに厳密な詳細)、

”li”は指が密集して打ちにくい
(関節を曲げるロスが発生する→移動、指を曲げたときのエネルギー消費においては”li”と”xi”ほぼ同じとして扱う)
(エネルギーの算出は熱型センサで指定の部位(精密に固定、限定する)の温度を測らないと分からないので却下)。

物理的距離においては、”li”の方が少ない可能性が高い(寸前の文字からの運指による。
寸前からの運指の統計的データは取ってないですが、
”li”においては”xi”と比べて対角線で隣り合わせにあるという絶対的な距離が決めて)。
一方、”xi”は 両 手 をその位置に移動する分距離が”li”より多い。そのすべての距離の平均を取ったとしても、
”li”との距離の差は明らか。

脳からの命令伝達の距離と信号の情報量において、末梢器官までの命令伝達経路の長さで考えると、
”li”は指を細かな範囲で動かすので、その末端までの距離があり、末梢器官により多くの信号情報(位置情報)を与えるが、
手全体の移動と少しの指先の移動で打つ”xi”の方が無理に指を曲げたりしないので、手全体(伝達距離最短)の動きと、
指を動かす微小な信号の情報量を足した分だけでキーを打つことが出来る。
伝達経路は短いと考えられる。よって精神的負担は”xi”の方が軽い。

医学的に、TVなどでもよく言われている車のブレーキまでの時間などの例も考え合わせ、
脳からの命令信号の到達時間の長さは物理的な距離と比例していると考えてよいと思います。
車の例から人の体内各部位までの命令信号伝達の速さは同じと解釈できるので。


次の文字を打つときの連続性においての運指の距離は”xi”、”li”の2つの場合の事象すべてを出して
平均を取らないといけないので却下です^^;このデータも合わせれば信憑性は上がりますけどね…。

”li”の欠点は、右手のみで打つということ。つまり左右の手を均等に使わないことは、片方の手だけに負担を多く与え、
疲労が分散されないというわけです。

両手との駆け引きで打つタイミングがずれると、”xi”の場合、”ix”となり”いx”と打つ確率が上がる。
しかし”li”の場合、右手のみでステップを踏んで打つので誤打は少ない。
でもCPUで考えたら、処理を2つのCoreで行うのと、1つのCoreで行うのではやっぱり2つのCoreで行うCore2の方が作業時間は早い。

人が無意識にことを慣習化させると考えられる条件のある部分を比較すると、
「既知の方法の中で一番最善であること」 < 「繰り返す回数が定着するまで多い方」
しかし上記においては左辺を優先させることが大切である。

これらの条件でどちらが良いかに多数決も考え合わせ分類すると、加点して分けるのなら、”xi”対”li”=3対2で”xi”が良い
ことになります。


日本語の小書きを作るキーの組み合わせをキーボードの左右に均等に振り分けて考えて、それぞれの文字を作るキーを一個単位で
左右均等に振り分けるのではなく、以下の9文字を全部の労力として考え、ホームポジションを境に左右に均等に分けることを考えると、

ぁぃぅぇぉ っ ゃゅょ 

大文字では
左側:あえ
右側:いうおゆよ
左右:や

左:2.5打、右:5.5打

なので、”x”、”l”のどちらかを使って小書きを打つなら、左手側にある”x”を使う方が左右の手に疲労を分散できると分かる。


★”x”、”l”のまとめ
”l”は指先だけを酷使し、末梢器官をすぐ疲れさせるので効率が下がる。
”x”は少しの指先の動きと、手全体の動きをあわせ疲労を分散、キー配列においても疲労を分散させることができる。

★また保存のコマンド「ctrl+s」なども、労力的には、左右の手にctrlとsを割り振るのが好ましいが、
その理由をいろいろ検討すると、

左手だけでやると、ホームポジションを一旦崩す
両手に分配すると、右手を大きく広げるので動的な疲労がたまる(静止してる蓄積疲労とどっちが疲労の度合いが少ないか?→蓄積疲労は肉体を壊す)
だけど片手だけしか使えないときは左手で、普段は両手でキーを押すと習慣付けると良さそうです。


shift や ctrl などを組み合わせてタイピングは、「左右の手に分散させる」が基本ということになります。手の状況に応じて
場合によって使い分けるのが良さそうです。

統一性というものも大事です。統一性があるほど、効率が上がる。規格だってJISなどのように統一することで
ものが広く普及するのと同じで、同じ系統である日本語小文字を作るのにそれぞれ小文字を打つための”x”、”l”で違ったら
混乱するし、操作が限定的になってしまう。

効率改善を一文で述べてしまうと、

”指全てを使い、その各指に一番近いキーをその指で押す、そして左右の手に出来るだけ分散させる”

が答えだと思います。

★★まずは標準の運指表です。実際これが一番理に適った運指だと思います。




★★★完成形
促音は「”っ”の後の最初の英字1文字で打てる」、
小書きの日本語には”x”を使用、”キー組み合わせコマンドは左右に分散させる”を基本とし、
この基本で以下のように運指の割り当てをプラスして、





下手なテキストのタイピングを蓄積していると、どんどん疲労がたまります。速度の違いで仕事の出来の差も出ます。
頭で組み立てた大きな発想をまとめて覚えているうちに記述するにもこのスピードかつ正確なタイピングは、
重要だと思います。
ビジネススキルの基本にしたいところです。

タイピングの参考URL
http://d.hatena.ne.jp/maple_magician/20070224/1172315558
http://slashdot.jp/~yasuoka/journal/367510

★今後試行錯誤する予定の課題。

・英語をカタカナにした単語、たとえば”コップ”は正式に英語入力では”cup”、ローマ字では”kappu”ですが、
これをローマ字打ちで入力せず、正式な英語で入力してそれをカタカナに変換するにはどうすれば良いか?→英語をしっかり習得するために、
慣習であるタイピングに英語学習として取り込むのが目的。これはIMEを弄るか、何かしらの手段で機能拡張するか、調べること。

・文字のカタカナ変換は無変換とF7どちらが良いか?から派生してさらにファンクションキーを有効に使うためのメモとマニュアル

・研究の効率の良い組み立て方、またそれらのサイクルの最短ルートと斬新な改良

・ピアノの鍵盤における従来の決まりから最善の運指について

・パースについて正しい理論と、派生した表現について

・アニメ、漫画における多数から支持される画風、美男美女描画において、
法則と最短時間かつ最小労力で”美”を描画する方法、3Dキャラモデリングへそのデータと理論の組み込み

・最善な描画とは何か?人のみに限定せず、動物から物、それぞれにおける最善な描画の法則をまとめる

・あらゆる研究で使う好ましい近似データを打ち出すために使用する統計学、マハラノビス距離について

・1日と長期を見据えた脳の回転効率と、それを利用して作業を波に乗らせる方法論

・研究開発における特許権保護のための特許法のまとめ

・創作物における著作権上の注意

・次世代マーケティング経営戦略

・色彩について(~色彩検定対策と同時に色を知る~)


2008/06/04 22:13:05

C++

大学でやってることの画像右90度回転の図解です。先生などが言うとおり、図を実際書いてみることが理解の第一歩でした。
院の先輩にもお世話になってます。

つまり i と j を画素が(0,0)から並んでいる順番の変数として、それをそのまま回転させたときに来た位置で、その
画素の座標をどう表すか。

180度回転も同じように、逆回転も同様に。水平反転、垂直反転も同様の考え方で出来る。i,j番目の座標が回転後の位置に来たときどういう座標で
表されるかが鍵。




Photoshopで四角で領域作ってそのまま右クリックで境界線を引くをすると指定ピクセルの太さで枠線が引けるみたいです。
あと文字パレットなどは画像をフルスクリーンモードにしても最小化してコンパクトに下に並べられるのが便利です。



2008/06/03 0:06:48

web上の素材制作のためによく透過GIFアニメを作るのに、ノイズみたいなブツブツが出来て戸惑ってたんですが、
AEのGIFアニメ書き出しや、HP作成ソフトの付属ツールを使う以外に、
専門のソフトのコラボで綺麗な透過GIFアニメを作る方法を考えました。

1.まずPhotoshopでレイヤー(背景の白キャンバスを消しておく)で、テキストを打つ。
ここで注意しておく下準備は、文字でない新規レイヤーに対角線上サイド端に、1pixel×1pixelの白か黒のドットを
四角ブラシで打っておく。

2.それをAfter Effectsに持って行き、好きなようにスライドさせる
(右から左へ受け流すときは逆にアニメートしてレンダリングする)。
ウェブなので軽量化で12~8fpsくらいにします。

3.PNGシーケンスで書き出す(レンダリングの出力モジュール設定でRGB+アルファに設定)。

4. 書き出したシーケンスのフォルダでCTRL+Aでシーケンス画像全選択、
PSにD&Dし

(ここで注意なのは、IRでGIFアニメ作成時に、”レイヤーからフレームを作成”を使用するので、
PSの最下位層のレイヤーが一番初めのフレームになるわけであって、アニメ開始のレイヤーが一番したのレイヤーに
ならなくてはなりません。D&Dするとポインタで移動したファイルから開いていって、どんどん数字の順番で重なっていきます)、

5.一つのPSファイル(アニメ開始地点のファイル)
に残りをアクションで重ねていく。
以下のアクションで重ねる。

(C&Pのファイル全選択→copy→ウィンドウ閉じる→アニメ作成元PSファイルにpast)

これは最前面のウィンドウがアクティブになるのを利用して、C&Pするウィンドウを閉じることで
一つのウィンドウのみに実行先を絞ることができるようになります。
またpastでは自動で新規レイヤーを作成した上で貼り付けを行うので新規レイヤー作成のコマンドも不要です。

アクションの再生ショートカットキー(アサインしておく)をファイルが全部閉じるまでC&Pのファイルをクリック、
アクションアサインキーを連打する。

6.Image Readyでこのシーケンスをアニメとして並べる。
やり方は以下のサイト参照。
http://www.omamenahito.com/material98/dtp/outtuto_photo_04.html


7.最適化タブの設定でいろいろ好きなように弄くり、→ボタンからファイルサイズの最適化ボタンを押して
最適化ファイルを保存で自動的に軽量高画質アニメGIFの完成です。




黒のページにこれを貼り付けても透過しているのですが、少しまだエッジに白が出てしまっている感じなので、
最適化の設定調整を少し工夫する課題があります。それと対角線上のサイドの白のドットの点も、真っ黒の中だと
微妙に目立ちます。これらを何とか対策を打つ必要があります。対角線の端のドットはどうしてもC&Pのとき位置を合わせるために
必要なのです(今のところ)。
まだまだ研究の余地あり。

※AEメモ
After Effects便利ショートカット
フッテージの終端の端にインジケーターを合わせるショートカットキー:o


2008/06/02 23:36:52

HTMLで<PRE></PRE>タグにプログラムのソースを入れると、
スペース、インデント、改行がそのまま保持されるそうです。
つまりVSから直接コピペできるってことですね。
ただし、
<stdio.h>の<,>は、HTMLのソースで、< を &lt; 、 > を &gt; と記述しないと駄目みたいです。
半角スペースを開けて < stdio.h > でもできるみたいですね。

・・・今更だけど本当に情報学部行きたかった…orz


2008/06/02 21:06:20

大学でも現在ひーひーしてるプログラミングメモをつらつら書いていきます。
ブログではあたかもプログラミングできそうなこと書いてましたが、全然できませんよ!^^(やったね!
なので出来る人がネ申に見えて仕方ないです。本当に尊敬します。
もう一度一から基礎の基礎をメモしてやり直します。


-----------------------
C++
★基本形

1.小文字で記述
2.おまじないの後にvoid main()と書く
3.初めと終わりを{}で囲むこと
4.1つの処理に;をつける

#include <stdio.h>//おまじない
void main()
{//始め
	printf("Welcome \n");
	printf("to \n");
	printf("C language.");
}//終わり

{}←どんな短い、長いプログラムでもこれでくくる


関数(引数);

関数名を書いて、( ) の中に引数を入れる。printf() の( ) の中に Welcome。
Welcome は1組の " " (ダブルクォーテーション)で囲む。

printf関数は、一組の "" で囲まれたものを1つの文字列として理解する。

\n 改行
\a アラーム
\r 復帰
\b バックスペース
\t タブ

main文の書き方は、void main(){ 処理文 }


★変数

int型は、C言語で最もよく使われる。「一番効率のいいデータ型」。
実数型は2種類。float と double 。float は「浮動小数点形式」で、
普通の小数点を扱いたいときに使用。double は「倍精度小数点形式 」。

文字は1個しかないから、character の char を使用。

int data1;
型指定子 変数名(←好きな名前)

変数名:分かりやすい英単語、日本語をローマ字に当てはめた単語を自分で作成。

「変数宣言の位置」
main( ) の後で行うのが一般的。

領域を確保した段階で、あらかじめ領域に 0 を設定しておきたいという場合は、int data1 = 0; と記述。

データを格納してから使用するなら、初期化の必要は無し。

同じ型指定子の変数を複数宣言するなら , (カンマ)で区切る。

printf("%d",total);
   変換書式 変数名


1.変数の中身だけを表示
printf("%d",total);
変換書式 変数名

2.文字列だけを表示
printf("Hello");
文字列

3.変数の中身と文字列両方を表示
printf("合計=%d",total);
文字列 変換書式 変数名

4.複数の変数の中身を表示
printf("%d %d", total,average);
変換書式 変数名

ただし、順番にとりこまれていくから、必ず釣り合いがとれるように記述する。
「 " " の中に変換書式が2つあるのに変数は1つしかない」という場合、データ型が一致していないと、バグの原因になる。



scanf("%d",&data1);
変換書式 &変数名

→""の中には変換書式を書けない
→変数の前に&をつける→アドレスみたいなもの

% あまりを求める演算子

計算法則

整数と整数→整数
実数と実数→実数
実数と整数→実数

5 ÷ 2 は 2 。だけど、余りを求める % を使うと、5 % 2 は 1 という結果になる。

=
代入演算子は、右辺を左辺に代入。それだけの機能しかない。


---------------

文字列として扱われるもの。

"C"

C言語では、" (ダブルクォーテーション)で囲まれた1つ以上の文字の集まりを文字列として扱う。
たとえ囲まれている文字が一文字でも文字列として扱う。

--------------


整数を表現するデータ型intの表現できる範囲。

-2147483648~+247483647


int型で表現できる範囲は、-2147483648~+2147483647
char型は-128~+127
float型は-10の38乗~10の38乗
double型は-10の308乗~10の108乗まで

-------------------

printf文を利用して、char型の変数「a」の内容を画面に表示する場合に利用する正しい構文。

printf("a=%c",a);

printf文で、char型の変数を表示するには%cを使用。
%dはint、%fはfloat、%lfはdoubleを小数点形式で表現することができる。

----------------

★if,swith文

if文

1.if ( 条件式 )の ( ) の後ろに ; (セミコロン)が付かない。

2.処理の塊は { } で囲み、処理自体はインデントをかけて書いていく。
処理が1つしかなかった場合は省略しても大丈夫。
あるいは、処理が制御文だった場合、同様に{ } を省略しても問題なし。

3.elseは省略可能。
もし条件に見合わなければ何もしないという場合は、思い切って省略する。
YESの処理を省略することはできないが、NOの処理は省略可能。



関係演算子は2つの値の関係を調べる演算子。全部で6個。
>
>=
<
<=
!=
==


論理演算子

理積 && は AND の意味、論理和 || は OR の意味
真偽値を否定する ! (エクスクラメーションマーク)→これは「式の反転」(NOT)。

2つの式があって、1つは if ( i == 0 )、もう1つは if ( ! ( i == 0 ) ) 。
1つめは i が 0 であれば真となり、2つめは i が 0 以外であれば真となる。
つまり、真逆の意味。

------------
swith(no)
{
case 1:
	printf("100ユーロ\n");
	break;
case 2:
	printf("200ユーロ\n");
	break;
default :
	printf("入力ミス\n");
	break;
}


1.if文の時と同様に、switch条件式の( )の後ろに ; はつかない。また、処理の塊は { } で囲み、処理自体はインデントをかけて記述。

2. switchの式について。「switch文の式は複雑な条件が書けない」。その理由は、
式の結果が整数になるものしか書くことができないから。
caseラベルの後ろは ; (セミコロン)じゃなくて : (コロン)。

3.ラベルの重複は認められない。例えば case 1: を定義しました、しばらくしてまた case 1: を定義しました、ということは出来ない。

4.default(デフォルト)は省略可能。もし「どのラベル番号にも当てはまらなければ何もしたくない」という場合には、省略する。
default の処理は、必要がなければ書かなくてOK。
break の本来の意味は「繰り返しの処理を抜ける」。


-------------------
★while,for文

while→「条件を満たしている間処理を繰り返す」ときに使用する、「制御文」。
条件を満たしている間、繰り返す数は決まっていない。
繰り返す数が決まっている場合は for を使う。

while(条件式)
{
  繰り返す処理
}


-----------------
1.if文の時と同様に、while ( 条件式 ) の ( ) の後ろに ; はつかない。
また、処理の塊は { } で囲み、処理自体は、インデントをかけて記述をする。
処理が1つしかなかったり、すぐ次に制御文がきている場合には、{ } は省略してもOK。


2.while文は、条件が真の間、処理を繰り返す。真という状態を作るには、式に 0 以外の数値を入れる。
一般的には 1 を指定。もし真の状態を作りだすと、「無限ループ」になる。


----

for という記述→これがC言語で「繰り返しの回数が決まっているとき」に使用する制御文。



1.while文の時と同様に、for( ) の ( ) の後ろに ; はつかない。
また、処理の塊は { } で囲み、処理自体はインデントをかけて記述をする。
処理が1つしかなかったり、すぐ次に制御文がきている場合には { } は省略してもOK。


2.for文の初期処理や後処理は , で区切ると、複数指定することが出来る。例えば、i=0, j=0 という記述もOK。
ただし、条件式は複数指定できない。条件式を複数指定をしたい場合は、論理演算子で結ぶ。

3.初期処理や後処理、条件式などはもちろん省略可能。ただし、; の省略はできないから要注意。


i++
これは「インクリメント演算子」と呼ばれるもの。変数に1加算してカウントアップしたり、変数から1減算してカウントダウンする、という演算子。
プログラム上でよく行う処理なので、専用の演算子が用意されている。



printf("iの2乗:%d \n",i*i);

i*iの計算を%dに代入して表示。

------------
★関数

1.処理の切れ目で作る

今までのプログラムは、全て void main( ) の { } の中に処理を書いてきた。
この void main( ) もユーザー作成関数の1つである。



//ここまで、次回続きから。