編集(管理者用) | 差分 | 新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴
== o ==
ねこまたや web出張所
INDEX

トップページ
お知らせ
twitter
お道具箱
技術資料と雑談
ライブラリ
雑貨や(ダウンロード)
最近の更新
ねこまたやについて

twitter

ねこまたやのついった

企画モノ

psAxe情報ページ
自主制作アニメ
ぽこあぽこ られんたんど


あやかしあやし
エフェクトネタ帳



りまぴん
AE エクスプレッション
レンダー乙女とか
簡易版XPSリンカ
おまけギャラリ

BBS

ねこまたやBBS
開発室BBS

Language



開発室みたいなものでしたが
spamアクセスがはげしいのでページは凍結中です。
書き換えは管理人のみが可能です。
Nekomataya/2016

TimeSheetFormat - nasタイムシートファイルフォーマット解説


目次

nasタイムシートファイルフォーマット解説


基本的な部分を記述終了

図版類を残しているため仮バーションナンバーを付加 図版・サンプルフィルは古いままなので注意 調整後にverを1.0へ移行予定

document ver 0.9

2015.03.20 Nekomataya/kiyo


nas timesheet format

nas timesheet format は、アニメーションの作業単位である通称「カット」の状態を記述するデータフォーマットです。

nas timesheet formatは、現在作成中のフォーマットです。将来にわたってこの文書の内容が保証されるわけではありません。

このフォーマットをご使用になる場合は、フォーマットのバージョン番号に注意してご使用下さい。

構成

アニメーションの画面は、通常、複数の画像を組み合わせ、 時間軸に添って再構成することで行われます。

nas timesheet formatは、画像データ記録フォーマットではありません。部分的に画像を記録することは可能ですが、通常 画像データそのものを記録することはありません。

画像データは、タイムシート外部に一般的な画像データファイルとして置き、そのファイルへの参照をシートに記録して利用します。

nas timesheet formatは、以下の2つのデータファイルで構成されます。

MAPファイルは、タイムシートで記述するカット内で使用される素材の情報を記録します。

MAPファイルは、後述の所定の書式にしたがったテキストデータとして記録されます。

XPSファイルは、MAPファイルで定義された合成情報が、時間軸に対してどのように配置されるかを記述します。

XPSファイルは、後述の所定の書式にしたがったテキストデータとして記録されます。

一般的な合成ソフトウェアに対応する概念を求めると
MAP=プロジェクトトレーラー / XPS=コンポジットモジュール
が、比較的近いです そのような使い方も可能です

もっと近い概念は、日本式の商業アニメーション制作システムにおける
MAP=カット袋 / XPS=タイムシート です
このファイルフォーマットは、カット袋とタイムシートの持つプロジェクト管理機能とカット内容の記述機能をデータ化するために開発されています

カットについて

この管理システムにおける「カット」は、ムービープロダクションの制作行程における作業単位として定義されます

一般的には映画のカットと対応され、その識別子としてカット番号を持ちプロダクション内の一意性を担保します

デザインワーク・兼用素材作成・補助作業 等の特殊な事案では、カットナンバーを持たずこれに変わる当該プロダクション内での一意性のある名前を与えられて管理システム上は「カット」と同列に扱うことが可能です

通常カットの例

S12-C023
c123A

特殊カットの例

12話ゲストキャラC13-86
#03ジュースの空き缶設定

特定カットの指定(カット識別子)

特定のカットを指定するためにカット番号の指定のみでは不足することがあります

以下の書式でタイトル、話数、シーン、カット番号をセパレータで一つにつないで 同一管理サーバ内の他の作品や、別の話数、パートなどのカットを指定可能にします

これを「カット識別子」と呼びます 一般に「カットナンバー」と呼ばれているものとほぼ同じです

書式
[TITLE(セパレータ)][Oo#]OPUS(セパレータ)][[Ss]SCENE(セパレータ)?[Cc]CUT

TITLE OPUS SCENE は、この順で省略可能で省略された場合自分自身と同じ値を持つものとします

つまり同作品、同話数、同パートのカット指定ならば、カット番号の記述のみで良いものとします

制作単位(プロジェクト)内でシーン制を採用していない作品の場合はSCENE記述自体を省略可能なものとします

セパレータは、" "(空白),"-"(ハイフン)または"_"(アンダーバー)のいずれかが有効なものとします

	各値がセパレータを含むことはできません。
	全角のハイフン・アンダーバーはセパレータとなりません。
	(現在 空白をセパレータから外すことを検討中 04.2016)

またOPUS,SCENE,CUTの各データに対してそれぞれ"(O|o|#)","(S|s)","(C|c)"等の一文字プレフィックスを使用しても良いものとします

プレフィックス直後の"#|No.|"等のナンバーサイン記述は無視されます

連続したセパレータは、単一のセパレータと同じ働きをします

一文字プレフィックスを利用する場合は、プレフィックスがセパレータの働きを兼ねるものとします

冒頭に"0(ゼロ)"を加えて桁揃えされた数値は、ゼロを払って比較対照されます

全角英数字は、半角の英数字と同じものとして扱います

有効な記述例

012
c034
s02-c121
#3-s12-c
浦島太郎_01_A_024
花咲爺-12-本編-125
兎と亀 ova01 Dpart 024
かちかち山#03-OP-c034

またカット指定を","(コンマ)または(改行)で区切って複数のカットを列挙指定可能なものとします

有効な記述例

#同時に6カットを指定
##INHERIT=012,023,044
s01-c034,s02-c121,#3-s12-c001

#他作品4カットを指定
##兼用=	浦島太郎_01_A_024
	花咲爺-12-本編-125
	兎と亀 ova01 Dpart 024
	かちかち山#03-OP-c034

ラインについて

制作管理に対して「ライン」の概念を導入します

プロダクションは、ラインに基づいて管理されます

ラインは「ステージ」(後述)で構成される一連のプロダクションワークです

各々の「カット」は、最低でもひとつの「ライン」を持ちます

このラインは特に初期化の必要ないラインで、primaryLineまたは本線と呼ばれます

特に断りのない限り、全てのステージは本線上にあるものとします

単一のライン上では、同時にはひとつのステージのみがアクティブになります。

これは、同一カットの同一素材に対して作業重複を防ぐための処置です

(同じカットの原画を二人が別に描いている等の防止)

同一のカット内で作業分岐が可能な場合、他の作業の終了を待つのではスケジュールの効率化が図れません

そこでその場合は、特定のラインから分岐線を設け(初期化を行い)並行的に作業を開始するようにします

分岐したラインを親ラインに対する子ライン(parentLine/childLine)と呼びます

親ライン内で定義された全ての素材とそのタイムラインデータ及び更新履歴を持った親ラインの複製を作り、子ラインが初期化されます。 子ラインでは、オヤライン側の出力するアセットを受けて新規のステージを開始して自身の出力アセットを出します。

子ラインは、当該の素材完成後にアセットストアに流入して終了します

リドロー、リペイント、リテイク等のいったん完成した素材に対する修正は必要箇所まで親ラインをさかのぼり、そこから子ラインを出して処理されます。

ステージについて

プロダクション管理の為に「ステージ」と名付けた概念を導入します。

「ステージ」とは「作業ステージ」であり、アニメーションの作業段階を分類するために設定される概念です

コンポジット空間のステージと区別する場合は「作業ステージ」「プロダクションステージ(Production Stage)」または「制作ステージ」と呼称してください

一般名称としての「作業工程」に対応します

ステージには、コンテ(ライカリール)・レイアウト撮・原撮 等の作業段階を記述します。

ステージにはステージ識別名を定義して管理します。

ステージ識別名は、任意の文字列とします。

ただし、作業サイトの内部では統一した命名体系を作成することを強く推奨します。 ステージの名称の例を示しますので参考にしてください。(規定した方が良いかチョト一考中)

本線上
コンテ撮絵コンテからプレビューを作成する為のステージ
ライカリールコンテ撮とほぼ同義
LeicaReel?同上 英綴り
レイアウト撮レイアウトまたは、ラフスケッチからプレビューを作成する為のステージ
RoughSketch?同上
原撮原画からプレビューを作成する為のステージ。
アクション原撮と同義 タイムシート上の表記はこちらになるケースが多い。
Action同上
動画シート最終素材のためのタイムシート ステージとしては最終ステージとなります
セルシート同上
CELL同上

ステージは、特定のアセットを入力として初期化されます。 ステージでは、そのアセット(素材グループセットとXPS)を受けて新規のアセット を作成して終了します。

上記本線ステージ分類における「ラフスケッチ」と「原撮」との違いは、タイムライン(原画シート)がセルステージ(動画シート)と直結しているか否かの差です。

[CELL]ステージは常に定義および定義終了レコードを省略することができるものとします。 そのため、従来のフォーマットのシートはすべて[CELL]シートとして認識されます。

美術ライン
原図整理背景ラインに流入したレイアウトを作業原図として整理するステージ
背景美術要求される背景画を作成するステージ

美術ラインでは、通常時はXPSに対する変更は加わりません。習慣的にタイムシートを参照しない現場も多いようです

このシステムでは、新規に作成されたシートに当該の美術素材を配置したシートが要求されます。

習慣的に空のシートであっても上がりとして成立します。特に指定することがなければ、背景は最も表示プライオリティの低い位置に静止画トラックとして自動的に挿入されます。

データ管理上は、全てのラインには先行する工程のXPS及びMAPのセットが入力として与えられ、新たなアセットを作成出力するものとして作業管理を行ないます。

3D-CGI
モデリング
マテリアル
アニメーション
ライティング
カメラ
レンダリング

3D-CGIプロダクションは、一般的には固定された線形のプロダクションステージを追わず 並行的に作業ラインが存在してプロダクトの完成を目指します

3D-CGIラインの内部で複数のラインが同時並行して進みますのでこのシステム上は

	「適切なサブラインを立ち上げて当システム上で管理する」
または他の管理システムを利用してアセットの管理を行い
	「当システムには3D-CGIラインを代表オブジェクトとして仮想のラインを立て静止画連番またはムービーをグループエレメントとして本線に接続する」
というおおきく2つの選択が可能です

当システムは、旧来の物理的な用紙+セルベースの制作管理をデータ上に移植したものである性格上識別子付きの2D静止画及びムービーをアセットの基礎とするシステムとなります

将来的に運用整備が進んで3D-オブジェクトに対するサポートが進んだ場合は前者の選択が望ましいものとなりますが、現状では後者の選択がより現実的だと考えます

「ステージ」は、「ライン」を構成する要素です

ステージは特定のライン上に重複なく並び、先行するステージが終了するまでは次のステージが開始されることはありません

複数のステージを同時に実行する必要のある場合はサブライン(支線)を立ち上げて処理します

ステージは、成果物を出力します

ステージの成果物は通常「あがり」と呼ばれる再利用可能な完成素材 または「仮素材」と呼ばれる中間素材です

ステージの完成出力は、次のステージへ受け渡されプロダクションの行程を進めます

また、他ラインのステージへ依存条件(開始条件または終了条件)として提供されるアセットである場合があります

ステージの中間素材は、他のラインに対する依存条件となる場合があります 次のステージの進行へ利用することはできません

いずれの場合も「ステージ出力」としてバージョン管理の対象となります

ライン及びステージの入出力は、管理体制上はXPS及びMAPのセットですが、MAPデータ内で指し示す映画を構成するデータと常にセットで扱われるものです

管理行程として依存関係は、このデータ上に示される「アセット」に対して発生します

「アセット」はMAP上に定義される一連のデータ群に映画の素材としての意味を与える単位です

ジョブについて

「ジョブ(Job)」 は、ステージを構成する要素です

ステージは、線形に配置された一連のジョブで構成されます 基本的には、旧来の制作管理体制における「作業伝票の発行」「作業発注・検収」または「カット袋の移動」がジョブと対応しています

ジョブは開始時刻と終了時刻を持ちます

ジョブの開始と終了を追跡することで作業状況の把握と進捗が確認できます

開始と終了の記録は、オンライン作業の場合は作業者がマスターDBに対してチェックアウト・チェックインを行う際に自動的に行われます

オフライン作業の場合は、制作管理者が代行してマスターDBに対するチェックイン・アウトを行ってください

必ずしも印刷した伝票があるわけではありませんが、経理的に支払いが発生するジョブの受発注を行う場合は、マスターDBから適切な伝票を発行することが可能です

一般的なジョブの内容は以下のようなものとなります。これは一般的なステージの構成でもあります

経理に接続する伝票は初期化ジョブに対して発行する

先行するステージが終了条件を満たしていない場合でも、終了見込みに対してステージの初期化は可能である その場合、初期化されたステージ全体は予約状態であり開始依存条件が解決するまでの間その開始を保留される

チェック案件ごとに開始及び終了時刻 結果が記録され プライマリジョブの成果物が検査されます 検査の結果作業終了(=完成)と判断された場合プライマリジョブを閉じてステージを終了させます

チェック案件ごとに成果物に制作管理案件としてバージョンナンバーを与えて記録します

またチェックの際に、その成果物を外部ラインに対して中間出力として提供することができます

バージョンナンバーはプロダクト内で一意であること

アセットについて

アセットは、一群の再利用可能な制作素材の集合です。

MAP上では、ステージの出力に対応するもので、各種の素材とそれをどのように時間・空間的に配置するかを記録したタイムシートデータで構成されます。

アセットには名前が与えられて管理されます。

一般にカットの識別名とステージの名称をつないだものがアセットの名前となります。

	例:
	s-c004_原画
	KN#01s-c124_動画
	背景	

テキストの文字コード・改行コードについて

nas timesheet format は、一般的なテキストで記録されるデータフォーマットです。 対応アプリケーションが手元に無い場合でも、一般的なテキストエディタで、閲覧・編集を行なうことが出来ます。 このデータフォーマットを読み書きするアプリケーションを作成される場合は、このことを意識してください。

これは、このフォーマットの規格の一部です。データがテキストとしての可読性を失わないよう充分注意してください。

本規格では、文字コードおよび改行コードを強制しません。 本規格を使用するユーザは、各ユーザの使いやすいタイプの文字コード・改行コードを使用して良いものとします 。

通常、文字コード間のコンバートには 一般的なテキスト用のコンバータが使用できるので、アプリケーション側で対応している文字コードがはっきりしていれば、無理に多種のコードに対応する必要はありません。 が、本規格に対応するアプリケーションを作成する方は、データ交換の為にアプリケーションが扱える文字コードの情報をはっきり示して、かつ他の文字コードのデータを読み込んだ場合も 誤動作はしないようにプログラムを作成してください。

どうぞよろしくお願いいたします。

マップファイルおよびタイムシートで扱う座標系

基本的には「数学」で扱う座標系です。

ポストスクリプトの座標系に類似した座標系です。ポストスクリプトを参照して当システムの座標系の参考とすることができます。

	(図版必要) coordinate_system.gif

各種ソフトウェアにコンバートする際は、座標系の違いに注意してください。

たとえば Adobe After Effects は右手系の座標を使用しています。が、本規格とは基本となる視線方向が逆なので、相互に位置データを変換する場合 Y・Z値を反転(=X軸を中心に180度回転)する必要が有ります。 (AEの座標はZ軸が視点から離れるに従って加算、かつY軸が下方に向かって加算)

座標系での値の指定は、実寸単位を使用します。

数値は、単位付きの浮動小数点形式の文字列で記録されます。

数値に対して以下のポストフィックスを置いて、各単位系の指定を行います。

	(各実装で必要な場合は、これ以外の単位系を拡張してもかまいません。)
使用できる単位
mmミリメートル
cmセンチメートル
mメートル
inインチ
ftフィート
ptポイント(dtpポイント=1/72in) *default

単位系が指定されない場合は、その単位が「ポイント」であるものとします。

	(各実装の内部の単位を規定するものでは有りません。)

基本的に「ピクセル」による指定はできません。このフォーマットはピクセルベースでは有りません。ご注意ください。

ただし解像度指定の無いラスタデータは、縦横72ppiの解像度を持つものとします。 この場合、ポイント指定が実質上ピクセル指定と等しいものとなります。

本システムでは、一般的に二次元の値を扱うため、多くの場合Z軸の値はすべて0になります。

その場合、指定書式上 Z軸の値はカンマを含めてすべて省略可能とします。二次元の値しか指定されない要素のz軸の値は0です。

サイズ

サイズを指定する必要のある場合は、以下の形式で指定します。
指定形式
横幅, 高さ[, 奥行き] (奥行き値は省略可)

	size= 240mm, 180mm

位置

位置を指定する必要のある場合は、以下の形式で指定します。

指定形式
x, y[, z] (Z軸値は省略可)

	position=23mm,12mm
	offset=0cm,2cm,1cm

アーク(パス)とタイミング

アーク

本フォーマットにおける座標系に表現された位置を相互に結ぶアークは、ベジェ曲線で表現されます。

	(図版)	path.gif

一般的にベジェ曲線の形状は、(x0, y0, z0)、(x1, y1, z1)、(x2, y2, z2)、(x3, y3, z3)という4 つの点で定義されます。

曲線は(x0, y0, z0)を始点とし、(x0, y0, z0)と(x1, y1, z1)を結ぶ直線に接して始点から離れ、(x3, y3, z3)を終点とし、(x2, y2, z2)と(x3, y3, z3)を結ぶ直線に接しながら終点に入ります。

(x0, y0, z0)から(x1, y1, z1)に至る線分の長さ、および(x2, y2, z2)から(x3, y3, z3)に至る線分の長さは、各端点におけるアークの「速度」を表します。

ベジェは、以下の 1組の 3次方程式で表される3次曲線です。

	x(t) = (a * x * t^3) + (b * x * t^2) + (c * x * t) + x0
	y(t) = (a * y * t^3) + (b * y * t^2) + (c * y * t) + y0
	z(t) = (a * z * t^3) + (b * z * t^2) + (c * z * t) + z0

アークは、x(t) y(t) と z(t) が描画するパスである(助変数 t は0〜1)

三次元ベジェ曲線の制御点は、次の式で表されます。

	x1 = x0 + c*x/3
	y1 = y0 + c*y/3
	z1 = z0 + c*z/3

	x2 = x1 + (b*x + c*x)/3
	y2 = y1 + (b*y + c*y)/3
	z2 = z1 + (b*z + c*z)/3

	x3 = x0 + a*x + b*x + c*x
	y3 = y0 + a*y + b*y + c*y
	y3 = z0 + a*z + b*z + c*z

これは、現在一般的なグラフィックソフトで扱うことの出来るベジェ曲線そのものです。

ここでは、各点を以下の様に呼びます。

このシステム内では、座標値を指定する必要のある場所で座標と同時にアークの指定を行うことが可能です。

指定形式
始点[, 制御点1, 制御点2]

その際指定内に「終点」の指定は含まれません。 アークの終点は、タイムシート上でその要素の直後に指定された要素の座標を使用します。 タイムシート内に「次の要素」が存在しない場合は、アークの指定は無効です

制御点の指定は省略可能で、その場合 制御点1、2 は、ともに始点と同じ値を持つものとします。 その状態では、軌跡は必ず終点との間に直線を描きます。

#三次元値(数値9個を連続で記述する)
	position=0mm,0mm,0mm, 0mm,12mm,0mm, 13mm,12mm,3.52mm
#二次元値(数値6個を連続で記述する)
	position=0pt,0pt, 0pt,36pt, 36pt,72pt

この方法の指定では、アークを描くパラメタに速度成分が含まれますが、この「速度成分」は軌跡の経路を決定する用途以外には使用されません。

この速度成分をアニメーションタイミングとして流用すると、大変機械的な融通の利かないタイミングになりますので、アークの指定とは別にタイミングパラメタを設けてそちらでタイミングの指定を行ないます。

タイミング

タイミングパラメタは、始点を(経過時間0,値0) 終点を(経過時間1,値1)と仮定して二次元のベジェ制御点1,制御点2 の二点を指定する事で行ないます。 また、制御点はその値を 下限値0 上限値1 に限定して扱うものとします。

	(図版)t00.gif

タイミング指定形式
t1,v1,t2,v2

#必ず数値4個(0から1の間)
	T=0.3, 0, 0,7, 1
この二次元の限定されたベジェ曲線が描くパスを、経過時間、値のグラフとして本来の軌跡の上に対照配置したものが指定されたタイミングとなります。

タイミングは、数値の他にキーワードで指定する事ができます。

頻繁に使用される幾つかのタイミングパラメタに以下のように名前を与えてキーワードとします。

キーワードタイミングt1v1t2v2
linearリニアタイミング(均等タイミング)0000
easeイーズ(両詰め)0.500.51
easeInイーズアウト(前詰め)0.5010.5
easeOutイーズイン(後詰め)00.50.51
quickクイック(極端な両詰め)1001
quickInクイックアウト(極端な前詰め)1010
quickOUtクイックイン(極端な後詰め)0101
stayステイ(中詰め)00.510.5
stayStrongステイストロング(極端な中詰め)0110

ここも図が欲しい t01,t02,t03,t04,t05,t06,t07,t08,t09

ここのパラメータは程度問題なのでもう少し吟味して値を加減する必要あり。

タイミング指定は、座標値に限らず「変化する値」を持つパラメタの全てに対して適用可能です。 指定は、値の直後にキーワード".T"を置くか、または4連の数値を置いて行います。

PAN.UP	[A]
	T=linear
#基本パラメタ
	size=240mm,180mm,easeIn
#サイズ変更は、"easeIn"
	position=0,0,0,0,1,0
#位置とアーク指定
	position.T=ease
#位置のタイミング指定
PAN.UP	[B]
	size=120mm,90mm
	position=0,0,0,0,
タイミングを単体で指定する場合は、要素のパラメタ"T"(省略可能)に対して行います。 パラメタ"T"は、その要素の代表タイミングです。個々のタイミングが指定されない場合に標準値として使用されます。

省略時は各要素の親にあたる要素のタイミングパラメタを引き継いで標準値とします。

各値のタイミングの指定は任意で、指定されなかった場合は、親要素の持つタイミングまたはパラメタの種別によって決まる初期値が適用されます。

座標値の各個の値にタイミングが適用された場合、座標全体に指定されたアークはキャンセルされます。

回転

回転方向は向かって右回転(時計回り)を正方向とします。

	(図版)clockward.gif

回転系のパラメタは、ラジアンによる指定と360度法の指定を両方とも受け付けます。

単位が指定されない場合はラジアン、360度法の場合は、ポストフィックスとしてアルファベットの小文字"d"を使用するものとします。

座標指定における角度指定は、以下の形式に従います

 属性名=[x軸回転角,y軸回転角,]z軸回転角[,タイミング指定][,大圏オプション]

または

 属性名X=x軸回転角[,タイミング指定][,大圏オプション]
 属性名Y=y軸回転角[,タイミング指定][,大圏オプション]
 属性名Z=z軸回転角[,タイミング指定][,大圏オプション]

一括指定時に回転角をひとつだけ指定すると、z軸の値として処理します。

一括指定時のタイミング指定は、すべての軸に対して同じタイミングを適用します。

大圏オプションが与えられると、各軸の値は1回転以内に切り揃えられて処理され(空間内の最短距離=大圏円を描く様になります。)AE の「方向」パラメタと互換の動きになります。

各軸を個別に指定して複雑な運動を与えることも可能です。

スケール

スケールパラメタは、パーセントによる指定と倍率指定を両方とも受け入れるものとします。

	(図版)

スケールパラメタは「負の値」を受け入れます。座標軸の反転として処理してください。

フレーム値

サイズまたはスケールを指定可能な場合に、"フレーム値"を使用した指定が出来ます。

	(図版)frame_chart.gif

フレーム値は、あらかじめ定義された標準フレームを"100"として簡便にクリップサイズを指定するための比率指定です。

フレーム値の指定は、"fl(アニメーション撮影フレーム)"または"fr(Retas!タイプ撮影フレーム)"を後置して使用します。

fl
Field 日本のアニメーション業界で慣例的に使用される指定方法
標準フレームサイズを 100fl ・ フレーム寸法 1/2 サイズ(スケール200%に相当)を 20fl と設定して中間を線型に分割したもの。
fr
Field of Retas! セルシス社の Retas!シリーズで採用された上記の指定に相当する指定方法
標準フレームサイズを 100fr ・ フレーム寸法 1/2 サイズ(スケール200%に相当)を 50fr と設定して中間を線型に分割したもの。この指定は、基本的にスケールの逆数になっています。

両単位とも「トリミングサイズの簡便な指定」という目的は同じですが、設定基準が違うので扱いに注意が必要です。

実際のファイルに記録する場合は以下の様な書式になります。 詳しくは、後述のマップエントリアトリビュートをご覧ください。

[PAN-T.U.	CAMERAWORK]
		size=225mm,168.5mm

PAN-T.U.	[A]
		position=0mm,0mm
		position.C=3.0, 12, 24, 6.0
		position.T=0.333, 0, 1, 0.667
		scale=100fl

PAN-T.U.	[B]
		position=12mm,0mm
		scale=80fl

# 日本語指定は考慮中 あったほうが良い?良さそう
[PAN-T.U.	CAMERAWORK]
		size=225mm,168.5mm
PAN-T.U.	[A]
		位置=0mm,0mm
		フレーム=100fl
		タイミング=easeIn

PAN-T.U.	[B]
		位置=12mm,0mm
		フレーム=80fl

フィールドチャート指定

北米やカナダで使用されるフィールドチャートを使用したフレーミングの指定を記述できるようにします

フィールドチャートの単位目盛をもとに簡便な記法で クリッピングフレームのサイズ、位置、角度等が指定可能です

[PAN-T.U.	CAMERAWORK]
PAN-T.U.	[A]
		camera=10FLD
		position.C=3.0, 12, 24, 6.0
		position.T=0.333, 0, 1, 0.667
		scale=100fl

PAN-T.U.	[B]
		camera=6FLD 3N2W 8CW

濃度

合成時の適用濃度は、%(パーセント)で指定されます。

濃度指定には、100%以上の数値の記述を行なえるものとします。

0% から 100%までは、Photoshop等一般の合成ソフトウェアと同様の動作を行います。 それ以上の指定は、同一のコンポジションを同一のモードで繰り返すものと定義します。

	例 乗算 180% = 乗算 100% + 乗算 80% (同レベルでレイヤを重ねた状態と同じ)

したがって モードによっては100%以上の値が意味を持たない場合があります。 たとえば 通常モード・アルファ100%/濃度120% の指定は 濃度100%の指定と同じピクセル値になります。

音声オブジェクトについて

カットを構成する素材として、音声をMAPおよびXPSで取り扱います。

音声情報は、画像情報と異なり目に見える大きさを持ちません。 このフォーマットでは、以下のように音声をオブジェクト化してカット内での扱いを記述する物とします。

音声情報オブジェクトは、以下の属性を持ちます。

ID必須(自動生成)オブジェクトごとのカット内でのユニークな値 オブジェクトのMAP内での記述順に与えられる整数値
label必須オブジェクト識別のためのラベル。重複可
contentText任意音声を再生できない環境の為の表示用テキスト
file任意音声情報を含むデータへのアクセスを記録。ファイル内でのinPoint/outPointを記録する
duration任意当該オブジェクトの継続時間
comment任意時間位置を同時に保存

MAPデータ上では、音声は配置情報を持たず、継続時間のみを持った音声オブジェクトとして扱う。 ファイルでの詳しい表記は、後述

XPSデータ上では、MAPに定義された音声オブジェクトが時間軸上にどのように配置されるかを記述する。 ファイルでの詳しい表記は、後述

音声の基本的な扱いは画像情報と同じであるが、
音声を可視化する為にいくつかの取り決めを行います。

音声関連の編集に詳しい方のツッコミを期待中

ファイルパス

本フォーマットは、ファイルシステム間での移動、複数の環境下での共有が前提です。システムでのファイルパスの扱いを以下のように規定します。

本システム対応のアプリケーションは、可能な限りこれらのいずれの方式で記述されたパスでも読み込める様望まれます。

書き出しの際の形式はローカルファイルシステム形式 または URI形式とします。

この項はさらに将来細かい規定が作成されます。5/27

マルチイメージファイルのサブロケーション

画像ファイルには、ムービーファイル や TIFF/PSDデータ 等複数の画像を含む画像ファイルがあります。

本システムでは、オプションとしてこれらの画像ファイル内の画像をサブロケーションで指定可能なものとします。

この機能はオプションです。指定は可能ですが、アプリケーションがこの指定をどのように扱うかはアプリケーションに一任されます。 対応アプリケーションがこの機能をすべて実装するとは限りません。

サブロケーションは通常のパスに続き、"///"(3連スラッシュ)でサブロケーション導入を宣言して行います。

画像ファイル名自体をルートディレクトリとして、レイヤ名やタイムコードをノードとして扱い、パス区切り記号"/"または":"を使用してファイル内の画像を指定します。

指定時には、複数の画像を指定することが可能なものとします。

この機能をサポートするアプリケーションは以下のガイドラインに従ってください。

静止画ファイルの場合は、レイヤの表示優先順位の低いもの(下のレイヤ)から順に0番開始でレイヤIDを与えます。 アルファチャンネルは、RGB等の通常チャンネルを除き(含みか?)ファイル内での出現順にチャンネルIDを与えて指定するものとします。 AdobePS GIMP等レイヤ名の存在するファイルの場合、レイヤ名を指定に使用できるものとします。 レイヤセット(またはレイヤセットに相当するもの)を持つ場合は、それが

	末尾エントリに現れた場合は、統合された静止画像。
	中途エントリに現れた場合は、サブロケーションパスの一部とします。
すなわち以下のような指定が可能になります。
	(ファイル)///レイヤ名
	(ファイル)///レイヤセット名/レイヤセット名
	(ファイル)///レイヤセット名/レイヤセット名/レイヤ名

コンマで区切って指定する事で複数のノードを同時に指定可能なものとします。 複数の画像が指定された場合は、出現順に下から上へ向かって(後指定優先)で結合した静止画として扱うものとします。 すなわち、レイヤが透明部分を持たない場合は最後に指定した画像だけが見えることになります。

例(単独レイヤ)

	./myImage,psd///"rayer/set/01"/"rayer01"
例(複数レイヤ)
	A:\myFolder\myImage.psd///"背景(暗)","Book(1)"

ムービーファイル等 時間構造を持ったデータの場合 サブロケーションは、タイムコードで指定されます。 タイムコードの使用時は、":"がパス区切りとなります。フレームレートは、オリジナルのファイルのフレームレートを優先してください。

	(ファイルパス)///00:00:00:00
	(ファイルパス)///0003-0064
	(ファイルパス)///00:00:00:00,02,04,06,08,10,12,14,16,18,20

ハイフンによる連続指定、コンマ区切りによる複数フレームの指定が可能なものとします。 複数フレームが指定された場合は、指定順に結合されて新しいシーケンスを形成するものとします。

MAP-FILE

概要

MAPファイルは、主にカット内で使用する画像データとカメラワーク エフェクト そして 音声 を記述します。

MAPファイルは、仕上げ、動画、原画等のステージの進捗情報を記述します。

MAPファイルは、通常のテキストエディタで、閲覧・編集の可能なテキストデータです。

MAPファイルは、改行コードによって区切られた「レコード」の集合です。

MAPファイルは、主としてアニメーション映画のカットを構成する要素に名前を与えてその要素にアクセスするためのデータマップです。 後述のXPSから参照するために、タイムシートに使用される画像・音声データのファイルパス・幾何的な情報・管理情報等を記録します。

このファイルに記述される情報は、複数のカット(場合によっては複数の作品)で兼用可能な素材作成作業単位で管理すべき情報の集合です。 実制作との対比をした場合、このファイルが「カット袋」または「カット袋の上書き」に対応するものと考えると分かりやすいと思います。

このファイルにはスタティックな素材情報として

などが記述されます。

また進行中のプロダクションワーク管理情報として

などを記録。管理します

nas timesheet format に対応するアプリケーションを作成する方は、個々のアプリケーションで必要とする情報がこの文書に含まれていない場合、独自に拡張してかまわないものとします。

データ形式

MAPファイルデータレコードには、以下の種類のデータを記述します。

および

ファイルフォーマット識別レコード

書式
nasMAP-FILE <バージョン番号><ユーザ識別文字列?>
nasMAP-FILE 1.1
ファイルフォーマット識別レコードとして、MAPファイル第一行目は、フォーマット識別の為のレコードを置きます。

ファイル内のデータ識別行以前の無効行を読み飛ばすか否かはアプリケーションに一任します。

このレコードには、他の情報を置いてはいけません。

データ内にデータフォーマット識別レコードが現れた場合、同一データは、データエントリ終了レコードが現れるか、もしくはデータ終端に達するまでの間に現れたテキストデータを MAPデータとみなします。

バージョン文字列は、通常 メジャーバージョン番号とマイナーバージョン番号を ドットで接続したものです。

1.0 1.1 2.0 等

対応アプリケーション作成者は、自己のプログラムのための拡張が存在する場合など、基本となったバージョン番号に加えて識別用のバージョン認識用文字列を加えても良いことにします。

nasMAP-FILE 1.0_Nekomataya 等

そのさい、ベースになったバージョンが明確に判るように付加文字列は マイナーバージョン番号の後ろに数字以外の文字を先頭に持つ空白文字を含まない文字列で付加してください。

'現在のフォーマットバージョンは 1.1 2015.03.20'

マップ属性記述レコード

MAPデータは、複数のエントリで構成されますが、当然全てのエントリに共通の情報も持ちます。

MAP属性は、この全てのエントリに共通の情報(=MAPファイル自身の属性)を記述するレコードです。

MAP属性は、MAPに含まれるすべてのエントリに継承されますが、MAP属性と同名の属性を個別のエントリが持つ場合は、個々のエントリに対しては、その個別の属性が優先します。

MAP属性は、以下の書式で記述されます。

書式
##属性名=値
##TITLE=かちかちやま

行頭 間なしで "#"(ナンバーサイン)を2つ連続、属性名、"="(等号)でセパレートして、以降行末までを"値"

属性名として使用できる文字は、なるべく多くの言語でそのまま変数名として使用できるように、「アルファベットのみ」に加えて空白の代用として"_"を加えたものに限定させていただきます。

等号でセパレートして 以降、行末までのデータをその属性の値とします。値には空白を含めて改行以外の全ての文字が使用できるものとします。 複数行にわたる値が必要な場合は、改行文字をエスケープ等でご使用下さい。

本規格では、現在以下のMAP属性を定義します。

MAP属性一覧

属性名属性名(日本語)プライオリティ説明
TITLEタイトル必須タイトル 作品タイトルを記録します(作品/制作管理データベースに対するリレーション)
SUB_TITLEサブタイトル任意サブタイトル 作品のサブタイトルを記録します(作品/制作管理データベースに対するリレーション)
OPUS制作番号任意制作番号 作品の制作番号またはそれに類する情報を記録します(作品/制作管理データベースに対するリレーション)
SCENEシーン任意マップに登録されたエントリが所属するシーンを記録します(作品/制作管理データベースに対するエントリ)
CUTカット必須マップの登録されたエントリが所属するカット番号を記録します(作品/制作管理データベースに対するエントリ)拡張素材のみを管理する場合はこのエントリを予約語"_EXTRA_"で開始する。
INHERIT兼用任意当該のマップデータを兼用するカットを列記して記録する
INHERIT_PARENT兼用親任意他のマップデータを参照する際に指定する 単一のエントリを指定
EXTRA_ASSET拡張素材タイトル任意XPSを持たないアセットを管理する際に使用する
CREATE_USER作成ユーザ必須作成ユーザ 最初にMAPファイルの作成作業をしたユーザ名
UPDATE_USER更新ユーザ必須更新ユーザ 最後にファイルを更新したユーザ名
CREATE_TIME作成日時必須作成日時 最初にMAPファイルの作成作業をした日時
UPDATE_TIME更新日時必須更新日時 最後にMAPデータが更新された日時
CHECK_INチェックイン任意ファイルを更新可能にした時刻とユーザ
CHECK_OUTチェックアウト任意ファイルを更新不能にした時刻とユーザ
STANDERD_FRAME標準フレーム任意標準フレーム
STANDERD_PEG標準タップ情報任意標準タップ情報
BASE_RESOLUTION基準解像度任意標準の解像度

必須以外の属性は、記述を省略してもかまいません。

個々のアプリケーションで定義外の情報が必要な場合は、自由に増設して良いものとします。

属性を増設した場合は、可能ならば「ねこまたや」までお知らせください。 情報をこのドキュメントに反映させて互換アプリケーションを作成する方への参考とさせていただきます。

MAPファイルは、二次使用可能な画像データおよび合成情報です。

制作工程上、複数のカットに使用する可能性がたいへん高いものです。

その場合、INHERIT属性に対して制作番号・シーン属性・カット番号等の指定を行いそのMAPを利用するタイムシートの登録を行います

##INHERITに自分自身のカット番号を置く必要はありません 自分自身のカット識別子はそのMAPの代表識別子として特定の意味を持ちます

並列の表示が必要な場合は、INHERIT情報と自分自身のカット識別子を連結して表示することを推奨します

##INHERIT=	c123,c125

##INHERIT=	A-123
		B-130
		B-133
INHERIT属性に他のパートやシーン他の話数のカットを登録する際は、カットを指定するカット指識別子をフルフォーマットで記述してください

MAP属性に登録されたカット番号が代表番号となります

当該カットの制作を開始した時点ですでに存在するカットの素材をカットの一部として兼用する場合は、INHERIT_PARENT属性にそのカットをフルフォーマットで指定します

CUT属性に登録されるカット番号は、通常絵コンテに記載されたカット番号です。


MAPデータは、通常では絵コンテに記載された「カット」を管理するためのデータです。 特例としてキャラクター設定や美術設定等、カット番号を持たない素材の管理にMAPデータを利用することが出来ます。 その場合はMAPデータのCUT属性を予約語"_EXTRA_"として EXTRA_ASSET属性として管理する素材の名称を与えて下さい。

##EXTRA_ASSET=	ゲストキャラデザイン(通行人A)

外部アセットを管理する場合通常の作業工程は発生しません。

本線が最初から凍結され、EXTRAステージが傍線としてラインを形成し、 EXTRAステージで初期化されたラインが収束した時点でプロダクションが終了します。


これらの属性で指定されたMAPデータを、MAPの基底情報として初期化します

同名の属性を複数行登録した場合、後から登録された値が以前の値を上書きします。

以上4つの属性は、一般的にはファイルシステムの情報と重複しますが、データファイルの特性上 異なるプラットフォーム間の移動や、複数バージョンの並存、同一バージョンの複製等の可能性が高いので 属性としてファイル内に記録します。

ユーザ名は、特にシステムを限定しません。各現場ごとで使用しているユーザIDをご使用ください。

日時の形式は現在書式の特定をしません。実装毎に違っていても良いと思います。可読性のあるものならば何でも、各現場毎に使いやすいフォーマットをご使用ください。

異なるサイト間のデータ交換の場合は、以下のどちらかを推奨します。

りまぴんは、上の形式(日本ローカルタイム)で時刻を書き出します。

各MAP属性の詳細は、後述のMAP属性の項をご覧ください。

管理ライン保持レコード

書式
##LINE_ID=(ライン識別名):id

#	本線
##LINE_ID=(本線):0
#	支線
##LINE_ID=(背景美術):1
#	支線から派生した支支線
##LINE_ID=(背景原図):1:1
#	本線から2番めに派生した支線
##LINE_ID=(色指定):2
MAPファイルが、制作管理ツリー上のどこに位置するかを示すIDです。

このエントリは、データファイル中に1回だけ記述が許されるプロパティです

id:0 が管理ツリーのトランクを示します。以降 1 2 3 とサブライン(ブランチ)の発行順にIDが増加します ライン名は任意ですが、各サイトでの統一が推奨されます。

ブランチから更にブランチが発生した場合は、例のようにidの後方に":"でセパレートされた副idが連なってゆきます。

別途解説要

管理ライン属性レコード

書式
##CHECK_OUT=(ライン識別名):id / チェックアウト日時 / チェックアウトユーザID
書式
##CHECK_IN=(ライン識別名):id / チェックイン日時 / チェックインユーザID

#	  本線側記述例:0
##LINE_ID=(本線):0
##CHECK_OUT=(背景美術):1 / 2016.01.31 18:45:36 / kiyo@nekomataya.info;
##CHECK_IN=(背景美術):1 / 2016.02.23 16:21:32 / kiyo@nekomataya.info;
##CHECK_OUT=(3DAnimation):2 / 2016.02.12 09:15:02 / kiyo@nekomataya.info;

#	支線側記述例:1
##LINE_ID=(背景美術):1
##CHECK_OUT=2016.01.31 18:45:36/kiyo@nekomataya.info;	トランクから離れたタイミングを記述(本データ内に同内容の記述あり)

#	支線側記述例:2
##LINE_ID=(3DAnimation):2
##CHECK_OUT=(3DAnimation):2 / 2016.02.12 09:15:02 / kiyo@nekomataya.info;

#	支線側記述例:2-2
##LINE_ID=(3DAnimation):2
##CHECK_OUT=(3DAnimation):2 / 2016.02.12 09:15:02 / kiyo@nekomataya.info;
##CHECK_OUT=(3DTexture):2:1 / 2016.02.13 12:53:11 / kiyo@nekomataya.info;<この分岐を本線は知らない
#	*本線の知らない分岐は、支線のコミット又はマージの際に本線側へ通知される
#	*支支線がフィックスするまで、支線はフィックしない。
#	支支線側記述例:
##LINE_ID=(3DTexture):2:1
##CHECK_OUT=(3DTexture):2:1 / 2016.02.13 12:53:11 / kiyo@nekomataya.info;<本線の知らな

LINE_ID記述に続けて 本線側では、本線から分岐した支線の分岐日時と分岐手続きを行ったユーザを全て記録する

支線側では、支線の分岐した日時と、手続きユーザを記録する 支支線を分岐した場合は、その分岐を記録する

これらの記述は、ライン記述開始レコードの前に全て行なわれる必要がある。

支線側で、本線へのマージが行なわれた日時が記録されると、そのMap及び配下のXpsデータは役目を終え

マージ後の進捗管理は本線側のマスターデータへ移り、分岐で作成れたデータセットの更新は終わる

ライン記述開始レコード

書式
##<ライン識別名>

##<背景美術>
## created=2015.03.21 13:30:00/dog@animal
## 
## 

マップデータは、制作管理情報トレーラーとして作業進捗状況を保存します

ライン記述はカット(制作単位)がどの制作ライン上にあるかを記録するデータです

ライン記述開始レコードから終了レコードの間は、当該ライン内での作業に関するMAPデータが全て記述可能です

サブラインではプライマリの作業内容に対して新たなエレメントの追加と、その更新のみが可能です

サブライン上では、プライマリラインで作成した既存のエレメントに関する内容は、ロックされて変更することはできません

サブラインにかぎらず、全ての工程で先行する工程の成果データに関して、変更を加える事は一切できません。

内容的な変更は、タイムシート上で同じ位置を占める新たな記述を行うことで実行します。(オーバーライドの原則)

ライン識別名は任意の文字列です

以下の名称を標準名として推奨します

ライン記述レコードは、記述の開始・終了レコードを含めその記述自体が全て省略される場合があります

これは、デフォルトのプライマリライン(本線)に対して分岐線が一度も発生していない場合にそのようになります

ライン記述の存在しないデータはプライマリライン(本線)のデータです

ライン記述内は、全てのMAP属性及びその配下のステージ、エレメントの全てを記述可能です それに加えて、ライン独自のプロパティを記述します

ライン属性

以下の属性は、MAP属性と共用です

以下の属性は当該のサブラインにのみ付属する属性です

識別を容易にするためにキャメル記法で記述されます

##currentStatus=[status|String];//現在のラインの状態 Startup Active Hold Fixed Aborted 等

ステージで追加されたエレメントグループ以外のシート記述は、ラインをマージする際に整合性がチェックされ、 コンフリクトがあればそれをユーザに提示し解決を促します。

ライン記述終了レコード

書式
##<ライン識別名>/
単一のライン記述が終了したことを示すレコードです

##chechOut=1月吉日	俺だ@美術監督;
##<背景美術>/
ライン記述開始レコードから終了レコードまでの間には、MAPデータとしての記述を全て記録可能です。

先行するステージの全エレメント及びシート内容はリファレンスとして参照可能です。

また、シート記述の自由な編集が可能です。

ただし、当該のステージで追加されたグループ以外のシート記述はコミット時に無視されて有効にならない場合があります

カットの時間構造に関わる変更は必ず検知され、警告が発せられます。

これはマージ(コミット)以前に解決される必要があります。

MAP属性に関しても記述は可能ですが カットナンバーやタイトルを変更するような記述は無視されます。


基本的なMAP属性は、親となるラインから継承されます

つまり基本属性はプライマリラインとしての記述のみが有効となります

-CREATE_USER	ライン開始ユーザ
-UPDATE_USER	最終更新ユーザ
-CREATE_TIME	ライン開始日時
-UPDATE_TIME	最終更新日時
-CURRENT_STATUS	現在のラインの状態 Startup Active Hold Fixed Aborted 等

上記の5属性は必須で、ラインの状況を示すために親ラインの継承ではなく当該ライン独自のステータスとして認識されます

ステージ記述開始レコード

単一のMAPは最低ひとつ以上のステージで構成されます。

ステージは、MAPを構成するエントリグループを作業段階によって分類したものです。

ステージを構成する直接の要素は後述のエントリグループに分けられたマップエントリ記述レコードです。

以下の記述以降、同ステージの終了レコードまでの間に定義されたエントリおよびエントリグループは識別名で表されるステージに属するものとなります。

書式
##[ステージ識別名]

##[Action]

特定のステージに属するエントリは、エントリを要求するXPSタイムシート上のステージに呼応して優先的に解決されます。

つまり MAP上に [CELLSheet]A-2 および [原撮]A-2 のふたつの同名のエントリがあった場合、[原撮]ステージのタイムシートで要求されたエレメント"A-2"には[原撮]A-2が、ステージ指定なしで要求されたエントリ"A-2"に対しては"[CELLSheet]A-2"がリザルトされることになります。

ステージ記述終了レコード

ステージ記述を終了します。
書式
##[ステージ識別名]/

##[Action]/
終了レコードは省略可能です。 別名のステージ記述が開始された時点で前ステージの記述は終了したものとみなします。

ジョブ記述開始レコード

ジョブの記述を開始します

書式1
##[ステージ識別子][[ジョブ識別子](補助情報)]
書式2
##[[ジョブ識別子](補助情報)]

ジョブの所属するステージとジョブを並べて記述します

開き二重角括弧で示されるキーワードをジョブ識別子とします

補助情報を識別子の後方に追加できるものとします

補助情報は、別に規定する付属情報をジョブに結びつけるためのインデックスとなります

ジョブ識別子の前方のステージの識別子は、ステージ記述内のジョブ記述では省略が可能なものとします (ステージを閉じた後での記述では必須)

ステージはジョブの連続で構成されます

ジョブは、ステージ内部でのカットの移動ごとにカウントされます

ジョブ記述終了レコード

ジョブの記述を終了します
書式1
##[ステージ記述子][[ ジョブ識別子 ]]/
書式2
##[[ ジョブ識別子 ]]/
補助情報を記載する必要はありません (書いても良い)

ジョブ記述終了レコード自体も省略可能です

省略時は、基本的に後続のジョブまたはステージ、ラインの開始をもって自動的に閉じます

他のプロセス開始の記述で閉じられるジョブは、コンプリートしている必要があります

すなわち、「他のプロセスを開始する前に先のプロセスが終了条件を満たしているかどうかを判定する必要がある」ということです

ステージ/ジョブ に関連する属性

ステージ及びジョブに関連する制作管理プロパティは、他の要素と異なりステージ記述開始レコードに続けて連続して記述される

これは、マップ要素との識別を容易にするためで、プロパティ名と値を"="でセパレートして 1要素ごと1レコードで記述される

プロパティ名は小文字で、"="以降行末または";"までの文字列を値とする

現在以下の値が使用できる

statusジョブステータス
careated発生日時/チェックユーザ
updated更新日時/チェックユーザ
manager担当制作
worker作業担当者
started作業開始日時/チェックユーザ
completed終了日時/チェックユーザ
slipNumber伝票番号
ライン・ステージ及びジョブ関連のプロパティは、特に請求されない限りは作業者IF上は隠したほうが良い
明示的な請求があった場合にのみ提示される

**請求処理などもこのDBから可能

制作管理者側のIFにはこちらの情報が主として提示されるように画面をデザインする必要がある
:例:
##[原画]
## created=2015.03.12 21:00:00/カピバラさん;
## worker=ヤマネコさん;
##[[原画打ち合わせ](伝)]
## started=2015.03.15 12:00:00/ヤマネコ;
## completed=2015.03.15 12:30:00/ヤマネコ;
## slipNumber=No.0000000123;
[picture]
picture 
##
##
##
##[原画]/

##[動画]
## created=2015.03.12 21:00:00/カピバラさん;
## worker=みけネコさん;
##[動画][[動画](伝)]
## started=2015.03.15 12:00:00/みけネコさん;
## completed=2015.03.15 12:30:00/みけネコさん;
## slipNumber=No.0000000523;
[A]
A001.png 
##[動画][[動画検査](伝)]
## started=2015.03.15 12:00:00/マヌルネコさん;
[A+]
A+001.png 
## completed=2015.03.15 12:30:00/マヌルネコさん;
## slipNumber=No.0000012987;
##
##
##
##[動画]/

作業伝票は主にJOBに対して発行されるのでここにはそれらの情報が格納される

例えば、原画作業は原画ステージに対して伝票を切るのではなく原画ステージのプライマリジョブ、またはイニシエーションジョブに対して伝票DBとのリレーションを作成する

作監作業、演出チェック等もそれに相当するJOBに対して伝票を発行することが可能

取引に対して作業伝票を発行するのでこれが、その対応物となる(支払いが発生するとは限らない)

 *XPSも、これに準じるライン・ステージ・ジョブの情報が必要

グループ定義および属性レコード

MAPファイルのエントリは、その性質上 ひとつ以上のエントリがグループを形成します。 グループ定義および属性レコードは、グループに名前を与え、その属性を定義します。


書式1
[グループ名 グループ種別 ジオメトリ コメント]
書式2
属性名=値
[A	CELL	240mm,180mm	"止め"]
	offset=120mm,90mm
	pegOffset=0mm,120mm,0d

	^\[[A-Za-z_]+\t(CELL|CAMERAWORK|SYSTEM)?\t<attributes>\t<comment>\]$
	\t+<attibuteName>=<Value>

書式1(必須)は角括弧で囲まれ、"\t"(ホリゾンタルタブ)で区切られた値のリストです。

第一フィールドがグループ名(必須)

第二フィールドがグループ種別(省略可)

第三フィールドがグループの基本ジオメトリ情報(省略可)

第四フィールドがコメント情報(省略可)

グループ名
グループに名前(ラベル)を設定します。グループ種別が"CELL/CAMERAWORK/EFFECT"の場合、この名前がタイムラインのラベルとなります。
名前は、プラットフォーム互換のため 英大文字・小文字および数字、アンダーバー で構成されるものとします。 グループ名は、同一マップ内でユニークなものとなります。同名のグループを2度以上定義した場合は、あとから定義したものを優先とします。

グループ種別
グループは、"CELL","CAMERAWORK","EFFECT","SOUND","SYSTEM","TEXT","XPS" いずれかに分類されます。

CELLグループは、実際には「背景」や「ブック」を含む「画像ファイル」を含抱するグループです。

CELLグループに属するエントリは、画像に与えられる名前(ラベル)、ファイルへのパス、ステージ上のサイズ・位置オフセット等の情報を持ちます。 グループ種別省略時は、CELLグループの定義とみなします。

CAMERAWORKグループは、通常実体のファイルを持たない位置情報だけのエントリです。

CAMERAWORKグループに属するエントリは、そのエントリに与えられる名前、ステージ上のサイズ・位置等の情報を持ちます。 CAMERAWORKグループは、参考用に画像ファイルへのパスを持つことが出来ます。 アニメ制作作業的には、その名の通りカメラワークフレームを記述するエントリです。 CAMERAWORKのエントリは、エレメントの位置・回転・レジストレーション点、クリッピングウインドウなど一組にした複合オブジェクトです。 位置合わせシステムであるタップとステージの関係 それと組み合わせて使用する撮影フレーム(クリッピングウインドウ)の記述をします。

EFFECTグループは、撮影効果を記述するエントリです。

EFFECTグループに属するエントリは、効果を表す名前、効果のパラメタを情報として保持します。 EFFECTのエントリは、一般的なコンポジションソフトウェアにおけるエフェクトとCompositeの情報を包括します。

SOUNDグループは、カット内で使用する もしくは 使用が想定される音声を規定します。

SOUNDグループに属するエントリは、台詞・効果音などの音声情報を記録します。 音声情報はMAPにおいては、継続時間を持った画像のないオブジェクトです。 標準的には画面表示の為の代替テキストをもっているので、これを字幕・ボールド等として画面に配置・表示する事が可能です。 字幕情報は、テキストストリームを音声オブジェクトとして扱う事でハンドリング可能になります。

SYSTEMグループは、SYSTEMが補助的に使用するエントリです。ユーザの管理下には置かれません。

ボールド等自動生成される画像や、一時ファイルなどに使用されます。

TEXTグループは、テキストを扱う補助的なエントリです

内容テキスト・申し送り事項等で他のエレメントに属さないものを一括して扱います

XPSグループは、タイムシートを扱うエントリです

当該のMAPで使用されるタイムシートを定義します。 タイムシート情報自体は、大変複雑なオブジェクトなので外部ファイルに保存され、 画像オブジェクトのようにMapデータ上ではファイルパスで管理されます。

グループにはグループ種別に従った暗黙の属性値があります。

書式1 では、基礎的な属性を定義と同時に設定することが出来ます。 属性の書式は、各グループ種別に従った書式を使用します。

書式2は、書式1で定義されたグループに詳細な属性値を与えます。

書式1 の定義レコードに続くレコードで、次の要素を定義するレコードが現れるまでの間に 第一フィールドが"null"で かつ そのレコードが<属性名>=<値>の形式であった場合

最後に定義されたエントリの属性値を設定してゆきます。

同名の属性を設定した場合は あとから設定された値が以前の値を上書きするものとします。

各グループに設定可能な属性の一覧は以下の通り。

書式1

属性名意味
nameグループ名グループに与える名前。MAP内でユニークに
typeタイプ名分類キーワード(省略可)
content初期化内容各タイプごとの最小限の属性/書式は、後述(省略可)
commentコメントグループに対するコメント(省略可)

属性名属性名2
fileファイルポイントするファイルパス(URI)
resolution解像度基準解像度(グループがラスタデータの場合のみ有効)
resolution.X解像度X水平方向基準解像度
resolution.Y解像度Y垂直方向基準解像度
sizeサイズサイズをまとめて記述
size.XサイズX描画範囲の幅
size.YサイズY描画範囲の高さ
size.ZサイズZ描画範囲の奥行き
offsetオフセット描画範囲内での原点位置
offset.XオフセットX描画範囲内での原点位置X
offset.YオフセットY描画範囲内での原点位置Y
offset.R回転オフセット描画範囲の傾き
pegOffsetタップ位置原点に対するタップ中心の位置と傾きのリスト
pegOffset.Xタップ位置X原点に対するタップ中心の位置X
pegOffset.Yタップ位置Y原点に対するタップ中心の位置Y
pegOffset.Rタップ角度タップの傾き

属性名属性名2
sizeサイズサイズリスト
size.TサイズT
size.XサイズX描画範囲の幅
size.YサイズY描画範囲の高さ
size.ZサイズZ描画範囲の奥行き
position位置位置・三次元または二次元
position.C位置C
position.T位置T
position.X位置X位置X
position.Y位置Y位置Y
position.Z位置Z位置Z
offsetオフセット描画範囲内での原点位置
offset.CオフセットC
offset.TオフセットT
offset.XオフセットX描画範囲内での原点位置X
offset.YオフセットY描画範囲内での原点位置Y
offset.ZオフセットZ描画範囲内での原点位置Z
rotation回転描画範囲の傾きリスト(単独指定の場合はZ)
rotation.T回転T
rotation.X回転X描画範囲の傾きX
rotation.Y回転Y描画範囲の傾きY
rotation.Z回転Z描画範囲の傾きZ
offsetRotation回転オフセット描画範囲の傾きオフセット(単独指定はZ)
offsetRotation.T回転オフセットT
offsetRotation.X回転オフセットX描画範囲の傾きオフセットX
offsetRotation.Y回転オフセットY描画範囲の傾きオフセットY
offsetRotation.Z回転オフセットZ描画範囲の傾きオフセットZ
scale拡大率スケーリング(単独指定はすべて同率)
scale.C拡大率Tスケーリングのタイミング
scale.X拡大率XX軸スケール
scale.Y拡大率YY軸スケール
scale.Z拡大率ZZ軸スケール
offsetScale拡大率オフセットスケーリングオフセット(単独指定はすべて同率)
offsetScale.T拡大率オフセットスケーリングオフセットタイミング(単独指定はすべて同率)
offsetScale.X拡大率オフセットXX軸スケールオフセット
offsetScale.Y拡大率オフセットYY軸スケールオフセット
offsetScale.Z拡大率オフセットZZ軸スケールオフセット
pegOffsetタップ位置原点に対するタップ中心の位置と傾きのリスト
pegOffset.Xタップ位置X原点に対するタップ中心の位置X
pegOffset.Yタップ位置Y原点に対するタップ中心の位置Y
pegRotationタップ回転タップの傾き
Fフレームフレーム指定( fl または fr )
Tタイミングタイミング指定
Cアーク軌道指定

属性名属性名2
effect効果効果キーワード
opacity不透明度適用率
opacity.T不透明度Tタイミング指定
brendingMode合成モードモードキーワード

属性名属性名2
kind音響種別音響の利用種別 セリフ、効果音、音楽等
duration継続時間音響の継続時間
inPoint開始オフセット音響利用開始オフセット

属性名属性名2
category分類分類キーワード

属性名属性名2
category分類分類キーワード
contentText内容内容テキスト

属性名属性名2
fileファイルポイントするファイルパス(URI)

グループ属性に対する詳細な解説は、後述のマップグループ属性の項をご覧ください。

マップエントリ記述および属性記述レコード

ファイルフォーマット識別レコードから、データエントリ終了レコードまでの間で、 マップ属性記述レコード、グループ定義および属性レコード または コメント ではない全てのレコードは 「マップエントリ記述レコード」となります。

音声エレメント以外のマップエントリ記述レコードは、エントリ宣言レコード属性記述レコードからなります。

音声エレメントの記述については、後述


書式
グループID エントリID データ本体 コメント
例:
A	A-1	"./A/A_0001.tiff	止め
PAN	A		[start]

エントリ宣言レコードは、グループに属する合成エレメントを定義します。

各エントリは、\t(ホリゾンタルタブ)でセパレートされたフィールドで以下の4フィールドで構成されます。

/第一フィールドは「グループID」(必須)

	エントリが、どのグループに属するかを示します。
	グループIDは、通常の文字列です。グループ定義で作成したグループ名を記述します。
	セルエントリの場合は、一連のセルをグループ化してタイムラインラベルをグループ名として与えます。
	例:BG/A/B/C/BOOK01/… 等
	単語"_CAMERAWORK_"および"_SYSTEM_"は、予約名です。グループ名として使用できません。
	予約名以外は、ユーザが自由に設定できます。規格上は、日本語名称等も禁止はしません。
	ただし、データ互換を重視する場合は、文字コード系に依存する名称は避けることをお勧めします。
	ユーザの指定がない場合は慣例に従って、A から始まるアルファベット一文字を順に割り付けます。

	カメラワークエントリの場合は一群のカメラワーク処理の名前を与えます
	エフェクトも同様に1セットの効果に対して名前を与えます
	
/第二フィールドは「エントリID」(必須)
	_SYSTEM_ および _CAMERAWORK_ 以外に属するエントリは、通常の合成(撮影)素材です。
	エントリID=セルの名称(番号) になります。
	標準的には、グループ名称をラベルとした数字の名称を与えます。
	
/第三フィールドは「データ本体」(省略可)
	データエントリの種別にしたがって、各形式でデータ本体を記述します。

/第四フィールドは「コメント」(省略可)

	必要があればコメント内にアプリケーションで使用する情報を
	記録してください。アプリケーションで使用する情報のうち
	ファイルに付属させる必要がないものは。後置の
	その他のコメントエリアを使用してください。

エントリ属性記述レコード

書式
"\t 属性名=値"
		size=240mm,180mm
グループオブジェクトと同じようにエントリ属性記述レコードは、直前に定義されたエントリの属性を上書きします。 同一名称の属性を二重に設定した場合は、後から設定したものが優先されます。

各エントリごとの属性の詳細は、後述のエントリ属性の項をご覧ください。

データエントリ終了レコード

書式
"[END]"
[END]
このレコードがデータエントリの終了を示します。この行に他の文字を置いてはいけません。

このレコードが認められない場合はファイル終了までをデータエントリとみなします。

コメントレコード

書式
"#コメント"
#		コメントです
マップファイルフォーマット識別レコードからデータエントリ終了レコードまでの間で 行頭が"##"以外の"#"で開始する行はコメントレコードです。アプリケーションはこの内容を無視します。 アプリケーションはこの内容を 基本的に記録・保存の対象にしません。 アプリケーションは、可読性向上のためにコメントの形式でセパレータやセクションに対する説明、ユーザへのメッセージなどをコメントの形で挿入できます。

その他のコメント

データエントリ終了レコードの後ろはすべてマップファイルに対するコメントテキストです。 一般のテキストで、各エントリのコメントとは別に 仕上げや動画作業の申し送り事項を記入できます。 本フォーマット対応アプリケーションを作成される方は、この欄のコメントデータを保持・編集・提示できる様にアプリケーションを作成してください。

MAP属性

MAP属性は、マップファイル自体が持つ属性です。 MAPデータは、以下の属性を標準で備えます。 ユーザは、それぞれの必要にしたがってMAPファイル内にMAP属性値を指定することができます。 ユーザによる指定のない属性値は、それぞれの標準値を持ちます。 MAP属性値は、MAPグループの同名の属性のdefaultの値となります。

TITLE

タイトル 作品タイトルを記録します。
書式
##TITLE=<タイトル>
##TITEL=かちかち山
##TITLE=○○財団イメージCM
一般の文字列で記述

管理データとして利用されます。

SUB_TITLE

サブタイトル 作品のサブタイトルを記録します。
書式
##SUB_TITLE=<サブタイトル>
##SUB_TITLE=愛のお仕置き3連発の巻
##SUB_TITLE=第2シーズンオープニング
##SUB_TITLE=アイキャッチ#2

一般の文字列で記述

管理データとして利用されます。

OPUS

制作番号 作品の制作番号またはそれに類する情報を記録します。
書式
##OPUS=<制作番号>
##OPUS=第1話
##OPUS=Endind-2nd

一般の文字列で記述

管理データとして利用されます。

SCENE

マップに登録されたエントリが所属するシーンを記録します。
書式
##SCENE=<シーン・パート等>
##SCANE=OP
##SCENE=A-PART
##SCENE=S#01-a

一般の文字列で記述

管理データとして利用されます。

CUT

マップの登録されたエントリが所属するカット番号を記録します。
書式
##CUT=<カット番号等>
##CUT=001
##CUT=123,126
##CUT=A-C#056

一般の文字列で記述

管理データとして利用されます。

一般にMAPデータにはカット番号又はそれに類する絵コンテ又はカット表に存在するカット名称が与えられます。 設定資料・色指定表等のカット表に番号が存在しない制作管理が必要な素材をMAPに登録する場合は、この属性に予約語 _EXTRA_を置いて通常のカットと区別して下さい。

その際MAPが持つ識別名称は後述の EXTRA_ASSET 属性で与えられます

EXTRA_ASSET

外部アセット名

書式
##EXTRA_ASSET=<識別名称>

MAPデータをカット制作管理以外の用途で使用する場合は、この属性で識別名称を指定します。

管理データとして利用されます。制作単位(opus)内部での一意性が求められます

この属性を利用しない場合は属性の記述自体を省略して下さい。

##CUT=_EXTRA_
##EXTRA_ASSET=ゲストキャラクター設定(通行人A)
EXTRA_ASSETが指定されたMAPはXPSを持ちません。

通常の制作管理上の本線(プライマリライン)は、最初から終了(fix)した状態で制作管理が開始され傍線としてEXTRA_ASSETで指定された名前のラインが開始されます。 開始されたラインは同名のステージを持ち、ラインが収束した時点で制作管理が終了します。

INHERIT_PARENT 兼用親

書式
##INHERIT_PARENT=[カット指定]またはMAPファイルパス
##INHERIT_PARENT=浦島太郎#01-OP-c13

##兼用親=./ur01_OP_013.map

カットをDBに登録する際に兼用親情報を記録します

1点のみ指定できます

この場での兼用親とは、属性継承の指標です

特に記載のない場合は、その値はitself(兼用親無し)であり自分自身のほかは参照しません

この場合記述自体の省略を推奨します

兼用親として特定のMAPファイルを示しているMAPデータは、その時点で兼用親カットのMAPデータを全て継承し、かつ記述されたデータでこれをオーバーライドすることができます

これは、現在のプロダクト外のMAPデータを兼用するための扱いです

同一のプロダクト内ではXPSファイルは基本的に兼用親カットのみを参照先として利用することを想定してあります

必要ならば継承後に追加情報をオーバーライドしたMAPを利用することもできますが制作的な混乱が予想されますのでこの方法は推奨されません

管理データとして利用されます。

INHERIT 兼用

書式
##INHERIT=[複数カット指定] または ##兼用=[複数カット指定]

同一カメラアングルの別ショット等では、複数のカット間で同一リソースの兼用が発生します

特に作画リソースの兼用は作業の効率化に役立ちます

MAPファイルは、複数のカットで兼用することができます INHERITプロパティに、兼用カットを列挙して指定することが出来ます

##INHERIT= または ##兼用= に続けて、1レコードあたり1カット分を指定します

キーワード"##INHERIT"を重複記述した場合は、あとから書き込んだデータで先の情報を全て上書きします

##OPUS=01
##SCENE=A
##CUT=002
#	1話のAパートc002(自分自身)に加えて C12,45,47で利用する場合
##INHERIT=	012
		045
		047

# 002の記述は不要

#上記のデータをクリアして#1-A-002単独カットで利用する
##INHERIT=

兼用カットとして、自分自身を指定することは不要です

兼用カット記述に自分自身を指定した場合は重複エントリとして自動的に削除されます

MAPファイルに記載された自分自身のカットは、兼用カット全体の代表カットとなります

運用上の混乱を避けるため兼用代表カットは、なるべく若い番号の(=エントリ順で先行して着手された)カットを選んで使用してください

管理データとして利用されます

CREATE_USER

作成ユーザ 最初にMAPファイルの当該ラインの作成作業をしたユーザ名

書式
##CREATE_USER=<作成ユーザ名>
##CREATE_USER=ねこまたや
##CREATE_USER=00125
##CREATE_USER=nekomata_ya@mac.com

一般の文字列で記述

管理データとして利用されます。

UPDATE_USER

更新ユーザ 最後にMAPファイルを更新したユーザ名
書式
##UPDATE_USER=<更新ユーザ名>
##UPDATE_USER=ねこまたや
##UPDATE_USER=00125
##UPDATE_USER=nekomata_ya@mac.com

一般の文字列で記述

管理データとして利用されます。

CREATE_TIME

作成日時 最初にMAPファイルの当該ラインの作成作業をした日時
書式
##CREATE_TIME=<作成日時>
##CREATE_TIME=2006/05/10 10:12
##CREATE_TIME=2006年  5月 10日 水曜日 22:09:09 JST

一般の文字列で記述

管理データとして利用されます。

UPDATE_TIME

更新日時 最後にMAPデータが更新された日時
書式
##UPDATE_TIME=<更新日時>
##UPDATE_TIME=2006/05/10 10:12
##UPDATE_TIME=2006年  5月 10日 水曜日 22:09:09 JST

一般の文字列で記述

管理データとして利用されます。

CURRENT_STATUS

現在の制作状況 ラインの進捗状況
書式
##CURRENT_STATUS=<値>
##CURRENT_STATUS=Startup

以下のキーワードで記述します

キーワード意味
Startupラインは初期化済みだがまだ作業が開始されていない状態
開始(同上)
Active現在作業中
作業中(同上)
Hold何らかの原因で作業が保留(停止)中である
保留中(同上)
Fixed作業終了このラインにこれ以降の変更は不可
完成(同上)

管理データとして利用されます。

STANDERD_FRAME

標準フレーム 作画フレームを以下の形式で

このデータは、MAP内の 各エントリのサイズの省略値となります。

書式
横幅,フレーム縦横比[,基準解像度]
##STANDERD_FRAME=225mm,3:4,144dpi
標準値
横幅 225mm / フレーム縦横比 3:4 / 144dpi ただしこの値は強制ではありません。

STANDERD_PEG

標準タップ情報 標準的タップの情報を登録可能です。ただし、現在この規格のタップ情報を保存できる画像フォーマットは存在しません。将来の拡張用です。

タップの情報を以下の書式で

書式
タップ種別,位置X,位置Y,回転
STANDERD_PEG=0mm,198.75mm,0d
標準値
3P,0mm,198.75mm,0d
この値は、上述の標準フレームに対して 

である事を表します。

位置パラメタは、フレームの中心を基準にタップの中心が占める位置を記録します。

タップの回転は、フレームに対するタップの傾きを記録します。

タップの種別は、以下のキーワードで記録します。

MAP属性として記述されたタップ情報は、各エントリのタップ位置の標準値となります。 (ステージ上のタップ位置は、XPSファイルで定義されます。) 将来タップ情報がサポートされた場合は、各エントリのオフセット情報と平行してタップによる位置合わせが(選択)可能になります。

MAPグループ名

MAPデータのエントリは、必ずいずれかのグループに属します。

MAPグループは、グループ名で識別されます。

グループ名は、一般の文字列でユーザが自由に設定できるものとします。

グループ名は、MAPデータファイル内で、ユニークなものとします。

もし複数の同名のグループが定義された場合は、「ふたつ以上の同名のグループ」ではなく、後から定義されたグループの情報が以前の情報を上書きしてひとつのグループとして扱われるものであるとします。

グループ名は、後述のXPSシート上でのタイムラインラベルとして使用されます。半角文字8文字以内に納めることを強く推奨します。

グループ名とファイルシステムの名前を一致させることで、MAPデータ自動作成の効率が向上することが期待できます。

運用上、グループ名とファイルシステムの名前を一致させたい場合は、ファイルシステムで使用を禁止される文字をグループ名に使用しないでください。

MAPグループ種別

各グループは、以下のいずれかの種別を持ちます。

格納するエントリのデータ種別に従ったグループ種別を設定します。

グループ種別が指定されないグループは、CELLグループに所属するものとします。

各種別により保持できるグループ属性が異なります。 当該の種別でサポートされない属性を指定した場合は、その値の維持は保証されません。

CAMERAWORK / カメラワークグループ

撮影指定をグループ化します。

従来のアニメーション制作における、PAN/Follow/T.U./T.B. 等のカメラワーク指定に相当するデータを格納します。

カメラワークグループは、1撮影指定ごと1グループを作成するよう推奨します。

[PAN	camerawork]
[follow	camerawork]
[T.B.(A)	camerawork]
[Scale(1)	camerawork]
実装毎に特定のキーワードを設け、グループ名がそのキーワードに合致した場合は、パラメータの初期値を自動設定することが可能な配慮を行う。

グループ内のエントリ(後述)に、有効なgeometry情報をもった値のセットを自動で作成する。

CELL / セル

合成要素となる画像をグループ化します。 セル・背景・ブック 等の合成対象画像データをオフセット付きで格納します。 一連のデータごとにラベルを与えてグループ化してください。

セルグループには、セルグループのエレメントと同名の属性を与えることが出来ます。

セルグループの属性は、グループ配下のエントリの同名の属性の指定省略時の規定値となります。

セルグループは一般的な静止画の画像クラスなので設定デザイン・色指定等のEXTRA扱いの素材もCELLグループに含まれるのが通常です

[A	cell]
[B]
[C	CELL]
	size=297mm , 210mm	
[設定デザイン]

EFFECT / エフェクト

撮影効果をグループ化します。

F.I./F.O/透過光/WXP 等の特殊効果パラメタをエントリとして格納します。

グループ属性として効果を定義して、必要なパラメタをエントリに格納できるものとします。 基本的ないくつかの効果以外の実現可能な効果は、実装毎に異なっていて良いものとします。

エフェクトグループには、任意の属性を与えることが出来ます。

エフェクトグループの属性は、グループ配下のエントリの同名の属性の指定省略時の規定値となります。

グループに登録されるエントリが1点のみの場合にかぎりグループの記述のみでエントリの記述を省略することが出来るものとします。

[WXP	EFFECT	50%	カットいっぱい]
エフェクトグループの属性がグループ定義時点で指定されなかった場合、アプリケーションごとの暗黙の初期値が与えられるものとします。

初期値は、特に理由がなければ以下のものが設定されるものとします。

属性説明
effectエフェクトの種別を表すキーワード。規定値は無し
strength100%エフェクトの適用強度(適用率)
strength.T0,0適用率の変化パラメータ 0,0 は、リニアタイミングと同意
blendingModenormal通常合成

エフェクトグループの名称にシステムで登録された効果キーワードが含まれる場合、自動でエントリバラメータの初期値を設定することが可能なように配慮される

SOUND / サウンド

サウンドを記述するエントリは、他のエントリと異なる表記が可能です。(双方で記述可能 混載も許可?)

[ラベル SOUND ]

サウンドエレメントを記述する表記は、シナリオや絵コンテ上の文字表記と似た物に設定されています。

エントリ開始から終了までの記述はシナリオ形式のテキストを受け付けます。

音声ファイルの記述
<"file path" option=value [option=value …]>
<"c:\mySound\myDialog.wav" inPoint="00:00:00:12" outPoint="00:00:02:22">

[台詞	SOUND]
#--------------------------------------
みかん(v.o)「ダメダメ、そんなこときけないよ。」
	みかん、振り向く
(v.i)「と、おもったけど そうでもない?」
	
りんご (F.I) "yes. plese go ()where you want"

\[S.E\] "Boooom!"<"file://c:\mySound\boom.snd">

#↑このオブジェクトのラベルは角括弧を含む"[SE]"である。
#  角括弧がセクション指定の予約文字なのでエスケープする必要があります。

要するに、

「通常のシナリオの台詞を抜き出してテキストストリームに名前ラベルをつけ、挿入ポイント毎にメモをつけたもの。」

です。

SYSTEM / システム

他の属性に含まれないエントリを収納するための属性

MAPグループ属性

MAPグループには、その種別にしたがった属性値をMAPファイル内で指定することができます。 ユーザによる指定のない属性値は、それぞれの属性ごとの標準値が適用されます。

標準値は、多くの場合同名のMAP属性の値を継承します。

MAPグループ共通属性

属性名意味説明省略時の値
nameグループ名グループに与える名前。MAP内でユニークに省略不可
typeタイプ名分類キーワード(省略可)CELL
content初期化内容各タイプごとの最小限の属性/書式は、後述(省略可)各タイプごとの初期値
commentコメントグループに対するコメント(省略可)

CAMERAWORKグループ属性

カメラワークグループの属性は、グループ配下のカメラワークフレームの同名の属性の指定省略時の規定値となります。

カメラワークグループの属性がグループ定義時点で指定されなかった場合、アプリケーションごとの暗黙の初期値が与えられるものとします。

初期値は、特に理由がなければ以下のものが設定されるものとします。

属性補助属性標準値説明
size標準フレーム参照カメラサイズを指定
TリニアタイミングサイズT / サイズ変化タイミング
X標準フレームの幅サイズX / 描画範囲の幅
Y標準フレームの高さサイズY / 描画範囲の高さ
Z0サイズZ/描画範囲の奥行き
position原点位置/直線軌道/リニアタイミング位置・三次元または二次元
positionC直線軌道位置C
positionTリニアタイミング位置T
positionX0位置X
positionY0位置Y
positionZ0位置Z
offsetサイズ中心 / 直線軌道 / リニアタイミング描画範囲内での原点位置
offsetC直線軌道オフセットC
offsetTリニアタイミングオフセットT
offsetX標準フレーム幅 * 1/2描画範囲内での原点位置X
offsetY標準フレーム高さ * 1/2描画範囲内での原点位置Y
offsetZ0描画範囲内での原点位置Z
rotation0描画範囲の傾き(単独指定の場合はZ軸値)
rotationTリニアタイミング回転T
rotationX0回転X描画範囲の傾きX
rotationY0回転Y描画範囲の傾きY
rotationZ0回転Z描画範囲の傾きZ
offsetRotation0描画範囲の傾きオフセット(単独指定はZ)
offsetRotationT0回転オフセットT
offsetRotationX0回転オフセットX描画範囲の傾きオフセットX
offsetRotationY0回転オフセットY描画範囲の傾きオフセットY
offsetRotationZ0回転オフセットZ描画範囲の傾きオフセットZ
scale1スケーリング(単独指定はすべて同率)
scaleTリニアタイミングスケーリングのタイミング
scaleX1X軸スケール
scaleY1Y軸スケール
scaleZ1Z軸スケール
offsetScale拡大率オフセットスケーリングオフセット(単独指定はすべて同率)
offsetScaleTリニアタイミングスケーリングオフセットタイミング(単独指定はすべて同率)
offsetScaleX1X軸スケールオフセット
offsetScaleY1Y軸スケールオフセット
offsetScaleZ1Z軸スケールオフセット
pegOffset0原点に対するタップ中心の位置と傾きのリスト
pegOffsetX0原点に対するタップ中心の位置X
pegOffsetY標準フレーム高さ * (1/2) + 3cm 原点に対するタップ中心の位置Y
pegRotation0dタップの傾き
F(100fl)フレーム指定( fl または fr )
Tリニアタイミングタイミング指定
C直線軌道軌道指定

CELLグループ属性

セルグループには、セルエントリと同名のグループ属性を与えることが出来ます。

セルグループ属性は、グループ配下のエントリの同名の属性の指定省略時の規定値となります。

グループに登録される画像数が1点のみの場合グループの記述のみでエントリの記述を省略することが出来るものとします。(?大丈夫かな?)

セルグループの属性がグループ定義時点で指定されなかった場合、アプリケーションごとの暗黙の初期値が与えられるものとします。

初期値は、特に理由がなければ以下のものが設定されるものとします。

属性補助属性 標準値説明
resolution標準解像度MAPに指定された基準解像度
resolutionX同上同水平方向基準解像度
resolutionY同上同垂直方向基準解像度
size標準サイズMAPで規定される基準寸法
sizeX同上同上
sizeY同上同上
sizeZ同上同上
offsetsize.X/2,size.Y/2画面中央
offsetXsize.X/2同上
offsetYsize.Y/2同上
offsetR0d回転無し
pegOffset標準タップ位置MAPで規定された標準値
pegOffsetX標準タップ位置XMAPで規定された標準値
pegOffsetY標準タップ位置YMAPで規定された標準値
pegOffsetR標準タップ角度MAPで規定された標準値

EFFECTグループ属性

エフェクトグループには、エフェクトエントリと同名の以下のグループ属性を与えることが出来ます。

エフェクトグループ属性は、グループ配下のエントリの同名の属性の指定省略時の規定値となります。

グループに登録されるエントリ数が1点のみの場合グループの記述のみでエントリの記述を省略することが出来るものとします。(?大丈夫かな?)

エフェクトグループの属性がグループ定義時点で指定されなかった場合、アプリケーションごとの暗黙の初期値が与えられるものとします。

初期値は、特に理由がなければ以下のものが設定されるものとします。

属性標準値説明
effectキーワードは省略不可
strength1100%
strength.T[0,0]リニアタイミングと同意
blendingModenormal通常合成
filterフィルタ処理なし

effect属性は、以下のキーワードと付属パラメータを現在設定中(あとで正確な文書化を)

effectは、演出効果を描き込んで後段の作業者に支持する「伝達欄」であるが、(composit)が指定された場合のみ 合成指定として働く。 ブレンディングモードは、effect属性にコンポジットが指定された場合のみ有効となる属性

…などなど フィルタワークの組み合わせを記述できる書式を考え中ね

SOUNDグループの属性

特に記述する点はありません。

SYSTEMグループ属性

特に記述する点はありません。


MAPエントリ属性

各MAPエントリには、以下の属性値を必要にしたがってMAPファイル内で指定することができます。 ユーザによる指定のない属性値は、それぞれの標準値を持ちます。 標準値は、エントリの属するグループの同名の属性の値です。

カメラワークエントリの属性値

カメラワークは厳密には、

を格納するエレメントです。

各エレメントは、カメラワークのセクションがもつ値となります。

名前とコメント以外のそれぞれの属性には、軌道およびタイミングパラメタが含まれます。

sizeサイズサイズ属性をコンマ区切りリストで記述します。
"書式:size=xy[z]"
size.TサイズTスケーリングに対するタイミングパラメータ
size.XサイズX描画範囲の幅
size.YサイズY描画範囲の高さ
size.ZサイズZ描画範囲の奥行き
position位置位置・三次元または二次元
"書式:position=xy[z]"
position.C位置Cカーブ指定
position.T位置Tタイミング指定
position.X位置X位置X
position.Y位置Y位置Y
position.Z位置Z位置Z
offsetオフセット描画範囲内での原点位置
"書式:offset=xy[z]"
offset.CオフセットCオフセットのカーブ指定
offset.TオフセットTオフセットのタイミング指定
offset.XオフセットX描画範囲内での原点位置X
offset.YオフセットY描画範囲内での原点位置Y
offset.ZオフセットZ描画範囲内での原点位置Z
rotation回転描画範囲の傾き(単独指定の場合はZ)
書式:rotation=z
rotation.T回転T
rotation.X回転X描画範囲の傾きX
rotation.Y回転Y描画範囲の傾きY
rotation.Z回転Z描画範囲の傾きZ
offsetRotation回転オフセット描画範囲の傾きオフセット(単独指定はZ)
書式:offsetRotation=z
offsetRotation.T回転オフセットT
offsetRotation.X回転オフセットX描画範囲の傾きオフセットX
offsetRotation.Y回転オフセットY描画範囲の傾きオフセットY
offsetRotation.Z回転オフセットZ描画範囲の傾きオフセットZ
scale拡大率スケーリング(単独指定はすべて同率)
書式:scale=s
scale.C拡大率Tスケーリングのタイミング
scale.X拡大率XX軸スケール
scale.Y拡大率YY軸スケール
scale.Z拡大率ZZ軸スケール
offsetScale拡大率オフセットスケーリングオフセット(単独指定はすべて同率)
書式:offsetScale=s
offsetScale.T拡大率オフセットスケーリングオフセットタイミング(単独指定はすべて同率)
offsetScale.X拡大率オフセットXX軸スケールオフセット
offsetScale.Y拡大率オフセットYY軸スケールオフセット
offsetScale.Z拡大率オフセットZZ軸スケールオフセット
pegOffsetタップ位置原点に対するタップ中心の位置と傾きのリスト
"書式:pegOffset=xy[r]"
pegOffset.Xタップ位置X原点に対するタップ中心の位置X
pegOffset.Yタップ位置Y原点に対するタップ中心の位置Y
pegRotationタップ回転タップの傾き
Fフレームフレーム指定( fl または fr )
Tタイミングタイミング指定
Cアーク軌道指定

セルエントリの属性

セルエントリは、 カットを構成する画像データの参照と属性を格納するエレメントです。

セルという名前ですが、動画のセルに限らず 背景 BOOK ムービー等 合成素材全般を記録します。

セルエントリは、以下の属性を持ちます。

すべての属性は指定を省略可能で、指定を省略した場合は規定の値が適用されます。

resolution解像度単一値指定時はxy方向に同解像度
"書式:resolution=r"
resolution.X解像度X水平方向基準解像度
resolution.Y解像度Y垂直方向基準解像度
sizeサイズサイズをまとめて記述
"書式:size=xy"
size.XサイズX描画範囲の幅
size.YサイズY描画範囲の高さ
offsetオフセット描画範囲内での原点位置
"書式:offset=xy[r]"
offset.XオフセットX描画範囲内での原点位置X
offset.YオフセットY描画範囲内での原点位置Y
offset.R回転オフセット描画範囲の傾き
pegOffsetタップ位置原点に対するタップ中心の位置と傾きのリスト
"書式:pegOffset=xy[r]"
pegOffset.Xタップ位置X原点に対するタップ中心の位置X
pegOffset.Yタップ位置Y原点に対するタップ中心の位置Y
pegOffset.Rタップ角度タップの傾き

セルエントリの持つ属性は、カット内で変化することはありません。 したがって値がタイミングおよびアークを持つこともありません。

AEでは、timeを指定しないレイヤのプロパティ値に相当します。

エフェクトエントリの属性

エフェクトエントリは、カット内で使用する演出効果情報です。

各エレメントは、演出効果の値となります。

カット内で変化する値を持つ属性は、軌道およびタイミングパラメタを含むことができます。

サウンドエントリの属性

ファイル記述以外は、特にありません。 記述方式自体からオブジェクトを構築します。

システムエントリの属性

MAPファイルサンプル

サンプルファイルは後でサンプルカットにしたがって変更

nasMAP-FILE 2.0
##CREATE_USER=Nekomataya
##UPDATE_USER=Nekomataya
##CREATE_TIME=2006/4/23 13:36:16
##UPDATE_TIME=2006/4/24 1:44:11
##TITLE=かちかち山
##SUB_TITLE=お試しなのです
##OPUS=01
##SCENE=
##CUT=10
#
#================================================================
[Blank-CELL	SYSTEM]
#	ブラケットで各エントリー第一階層を記述
#	空行は無視
#	[ グループID , グループカテゴリ , グループに関する幾何情報(有れば) ]
#
#----------------------------------------------------------------
Blank	X	"./_blank/blank.tif"	デフォルトのカラセル
Blank	D-X	"./_blank/D_blank.tif"	ブランクセルはブランクフォルダへ

#	一般行はエントリーレコード
#	第一フィールドは所属するグループID

#================================================================
[A	CELL	640,480]
#----------------------------------------------------------------
A	A-1	"./A_CELL/A001.tif",640,480	"第四フィールドにデータがあればコメント /無ければ無視"
#================================================================
[B	CELL	640,480]
#----------------------------------------------------------------
B	B-1	"./B_CELL/B_0001.tif"	"最低限のセル記述-寸法はグループの代表値を継承"
B	B-2	"./B_CELL/B_0002.tif",640,483	"同グループ内で寸法の違うセルを許容します。"
B	B-3	"./B_CELL/B_0003.tif",640,480,321,243.2789,-0.13d	"オフセットを同時指定可能"
#================================================================
[C	CELL	640,480]
#----------------------------------------------------------------
C	C-1
		path	=	"./C_CELL/C_001.tif"
		size	=	640pt,480pt
		offset	=	321pt,243.27890pt
		rotation=	0.002d
		comment	=	"手書きの場合はこの記法の方を推奨"
#================================================================
[D	CELL	640,480]
#----------------------------------------------------------------
D	D-1	"./D_CELL/D_001.tif"	
#================================================================
[T.U.	CAMERAWORK]
		size=225mm,168.75mm
		position=0mm,0mm,0mm
		offset=112.5mm,84.375mm
		rotation=0d
		comment=225mm/StanderdFrame/4:3/TV
#----------------------------------------------------------------
T.U.	<START>
		size=225mm,168.75mm//省略可。その際は親のプロパティを引き継ぐ
		sizeTiming=0, 0.33, 1.0, 0.67 //省略値はリニア相当 タイミングパラメタは単位なし

T.U.	<END>
		size=198mm,148.5mm//例は80F相当
#================================================================
[DIALOG	SOUND]
#----------------------------------------------------------------
みかん「おはよーございます!」

りんご(off)「おーはーよー…」

ばなな(V.O))「えー?どしたの?ネエさん (V.I)元気ないんじゃないの?」

\[SE\] "ピーがが ガががが …"<"D:\soundBox\001\0002.wav">

りんご「カーイーセーンーじょーたーいーがーわーるーいーだーけー」
	端末を確認するみかん
みかん「あー、仕事にならないねぇ。いま6kbpsしきゃ帯域ないよぉ」

#----------------------------------------------------------------
#[END]


エントリの記述は、2種類の記法を認める。
	主エントリ記述
1レコード/1行
TAB 区切りで、1レコードあたり1行に記述する。アトリビュートはフィールド位置依存
不足するアトリビュートは、省略値で補完する。
	補助アトリビュート記述
開始フィールドがnullの場合は、直前のエントリに対するアトリビュートの記述となる。
		キーワード=値
の組み合わせで、次のエントリが宣言されるか、またはMAP記述が終了するまでの間有効
重複するアトリビュートは、後置優先。-順次上書きで設定
登録の無いキーワードは無視

グループエントリの属性
	groupID	グループ名
	attribute	グループの属するカテゴリ

	size	サイズグループに属するエントリに対するサイズ(描画ウインドウに相当) width,height
	offset	原点オフセット	x,y
	rotation	回転	
	pegOffset	原点からのタップのオフセット
	pegRotation	タップの回転オフセット
	pegType	タップのタイプ
		カド合わせ	0
		3点標準タップ	1
		2点タップ	2
	
セルエントリの属性
	parent	所属するグループID(親エントリ)
	ID	セルのID
	path	pathString	省略時はエントリの保持のみを行う(ファイルが現存しなくても良い)
	width	sizeX	省略時はファイルから読む、ファイルがなければ親エントリの値を継承
	heigth	sizeY	(同上)
		size	sizeArray[sizeX,sizeY]
	offsetX	省略時は横幅の 1/2(画面中央)
	offsetY	省略時は高さの 1/2(画面中央)
		offset	offsetArray[offsetX,offsetY]
	rotation	省略時は 0度(回転なし)

カメラワークエントリの属性

	positionX,	positionY,	positionZ
		position	positionArray[positionX,positionY,positionZ]
		positionArc	arcCurveParam[posX1,posY1,posZ1,posX2,posY2,posZ2]
		positionTiming	timingParam[posT1,posV1,posT2,posV2]

	offsetX,	offsetY,	offsetZ
		offset	offsetArray[offsetX,offsetY,offsetZ]
		offsetArc	arcCurveParam[offsetX1,offsetY1,offsetZ1,offsetX2,offsetY2,offsetZ2]
		offsetTiming	timingParam[T1,V1,T2,V2]
		//AEのアンカーポイントに対しては、基本的に無効
		//AEへのコンバート時は
		//	ヌルを使用して再構成
		//	リニアアークへ限定
		//いずれかの処理が必要

	rotationX
		rotationXTiming	timingParam[t1,v1,t2,v2]

	rotationY
		rotationYTiming	timingParam[t1,v1,t2,v2]

	rotationZ(rotation)
		rotationZTiming	timingParam[t1,v1,t2,v2]
		(rotationTiming	timingParam[t1,v1,t2,v2])

	sizeX,	sizeY
		size	sizeArray[sizeX,sizeY]
		size	sizeX	//単一数値の場合sizeXであるとみなしてsizeYを同率相当値で補完
		sizeTiming	timingParam[t1,v1,t2,v2]
	scaleX,	scaleY
		scale	scaleArray[scaleX,scaleY]
		scale	scale	//単一数値の場合同一値で二次元補完
		scaleTiming	timingParam[t1,v1,t2,v2]
	frameOfLocation
		fl	フレームパラメタを比率に変換
		retasFrame
		//サイズとスケールは、同一情報の異相表現なので常に片側のみ有効
		//マップ上で重複記載された場合は、[後置]優先
		//実効データは比率で保持される?相対値実寸か?

	scaleTiming	timingParam[sizeT1,sizeV1,sizeT2,sizeV2]


	opacity
	(transparency)
		opacityTiming[opacityT1,opacityV1,opacityT2,opacityV2]
		(transparecyTiming[transparencyT1,transparencyV1,transparencyT2,transparencyV2])

timingパラメタは基本的に0-1の助変数表現で行うパラメタ自体は浮動小数点実数
相対比になるので、セクション間の値の差が小さい場合は精度が下がる仕様である。
内包値に限定すべきか? → 各実装に一任

nasMAP-FILE 1.9x
# 1.9xは試験用
##CREATE_USER=kiyo
##UPDATE_USER=kiyo
##CREATE_TIME=2016/1/31 18:45:36
##UPDATE_TIME=2016/4/14 8:20:27

##TITLE=かちかちやま
##SUB_TITLE=チュートリアルデータ
##OPUS=00
##RATE=24FPS
##FRAME_RATE=24
##STANDERD_FRAME=AJA.Fr01
##STANDERD_PEG=ACME
##BASE_RESOLUTION=200dpi

# #SCENE=シーン記述はなくても良い その場合は""で補われる
##CUT=4
##INHERIT=4,12
#================================================================
#	本線から外れた管理単位は複製が作成されるそれを識別する情報が必要
#	払いだした本線(トランク)側の記述とチェックアウトされたデータの整合が必要なので払い出し側に対抗記述を記載
#	現在のラインID(識別名と数値インデックス)を記録してトランクからの距離を出すこと
#	本線側
##LINE_ID=(本線):0 //(本線)
#	##CHECK_OUT=(背景美術):1 / 2016.01.31 18:45:36 / kiyo@nekomataya.info;	トランクから離れたタイミングを記述
#	##CHECK_IN=(背景美術):1 / 2016.02.23 16:21:32 / kiyo@nekomataya.info;	マージ情報
#	##CHECK_OUT=(3DAnimation):2 / 2016.02.12 09:15:02 / kiyo@nekomataya.info; 列記
#
#	支線側:1
#	##LINE_ID=(背景美術):1	こんな感じ
#	##CHECK_OUT=2016.01.31 18:45:36/kiyo@nekomataya.info;	トランクから離れたタイミングを記述(本データ内に同内容の記述あり)
#	支線側:2
#	##LINE_ID=(3DAnimation):2	こんな感じ
#	##CHECK_OUT=(3DAnimation):2 / 2016.02.12 09:15:02 / kiyo@nekomataya.info;
#
#	ブランチがブランチを出す場合は以下
#	ブランチ側では必ずID>1 || CHECK_INが一つしかない>記述が発生した時点でラインが収束する
#	支線側:
#	##LINE_ID=(3DAnimation):2
#	##CHECK_OUT=(3DAnimation):2 / 2016.02.12 09:15:02 / kiyo@nekomataya.info;
#	##CHECK_OUT=(3DTexture):2:2 / 2016.02.13 12:53:11 / kiyo@nekomataya.info;<この分岐を本線は知らない
#	*本線の知らない分岐は、支線のコミット又はマージの際に本線側へ通知される
#	*支支線がフィックスするまで、支線はフィックしない。
#	支支線側
#	##LINE_ID=(3DTexture):2:2
#	##CHECK_OUT=(3DTexture):2:2 / 2016.02.13 12:53:11 / kiyo@nekomataya.info;<本線の知らない分岐はコミット時に通知
#----------------------------------------------------------------

##<(本線)>
##CREATE_USER=kiyo
##UPDATE_USER=kiyo
##CREATE_TIME=2016/1/31 18:45:36
##UPDATE_TIME=2016/4/14 8:20:27
##currentStatus=Fixed
#======== SCIinfo Object Elements ===========
#	この要素(アセット)は全制作工程で利用可能でなくてはならない
#	制作のスターターオブジェクトである特殊なオブジェクトとなる
#	所属は ライン<(本線)>ステージ[init]ジョブは[[SCIinfo]]
#	全てのステージの前に設定
#	ステータス類は一切省略(全部親Mapを継承)
#	_EXTRA_ の場合はグループ・エレメントの内容が空の場合もある
#	通常は絵コンテの内容がそのまま格納される
#	カットにつき画像1点シート1点以上
#	ダイアログ・ト書き・等の情報も格納される
##[init]
##[[SCInfo]]
[timesheet	xps]
timesheet	s-c4	"./kachi#00_s-c004.xps"
[picture	cell]
picture s-c4-01	"./sample/_SCI/samplePic.png"

[description	text]
description	s-c4
#----------------------------------------------------------------
	カメラ背中側から
	PAN↑UP
	立てかけた猟銃 その他 猟師さん風荷物など見える
	
	バタバタとうちわであおぐ
#----------------------------------------------------------------
[台詞	SOUND]
#----------------------------------------------------------------
姐さん(セリフ 意味不明にブツブツと続く…)「あぢあぢ うぇあおんがごげ」
#----------------------------------------------------------------
[time	text]
timeText	s-c4	4+0
##[LO]
##[[作画打合せ]id:0]
##created=2016.01.31 18:45:36/kiyo@nekomataya.info;
##updated=2016.01.31 19:05:00/kiyo@nekomataya.info;
##manager=kiyo@nekomataya.info;
##worker=cat@animal.example.com;
##slipNumber=0001020304087;
##[[作画打合せ]]/
##[[レイアウト]id:1]
##created=2016.02.05 21:00:15/cat@animalexample.com;
##updated=2016.02.06 17:23:34/cat@animalexample.com;
##
#================================================================
#	ブラケットで各エントリー第一階層を記述
#	空行は無視
#	[ グループID	グループカテゴリ	グループに関する幾何情報(有れば) ]
#
#----------------------------------------------------------------
[LO	CELL	]
LO	BG	"./sample/LO/BG.png"
LO	A1_B	"./sample/LO/CELL.png"
LO	ML	"./sample/LO/ML.png"
LO	PAN	"./sample/LO/PAN.png"
#================================================================
[PAN	CAMERAWORK ]
		size=252mm,142.875mm
		position=0mm,0mm,0mm
		offset=0mm,104.875mm
		rotation=0d
		comment=10in/StanderdFrame/16:9/HDTV
# 作品データの継承があるのでこのサンプルでは本来は記述不要
#----------------------------------------------------------------
PAN	<START>
		position=0mm,-71mm
		positionTiming=0, 0, 0, 0 #リニア相当 タイミングパラメタは単位なし

PAN	<END>
		position=0mm,0mm

##[[レイアウト]]/
##[[演出検査]id:2]
##created=2016.0. ::/dog@animalexample.com;
##updated=2016.0. ::/dog@animalexample.com;
##
[LO	CELL	]
LO	A1_B+	"./sample/LO/CELL+.png"
##[[演出検査]]/
##[[監督チェック]id:3]
##created=2016.0. ::/dog@animalexample.com;
##updated=2016.0. ::/dog@animalexample.com;
##
##[[監督チェック]]/
##[[作監チェック]id:4]
##created=2016.0. ::/dog@animalexample.com;
##updated=2016.0. ::/dog@animalexample.com;
##
##[[作監チェック]/
##[LO]/
##[KD]
##[[作画打合せ]id:0]
##created=2016.0. ::/@.example.com;
##updated=2016.0. ::/@.example.com;
##manager=kiyo@nekomataya.info;
##worker=cat@animal.example.com;
##slipNumber=0001020304087;
##
##[[作画打合せ]]/
##[[原画]id:1]
##created=2016.0. ::/@.example.com;
##updated=2016.0. ::/@.example.com;
##
[A]
A	A-1	"./sample/KD/A001.png"
#
[B]
B	B-1	"./sample/KD/B001.png"
B	B-2	"./sample/KD/B002.png"
B	B-2◯	"./sample/KD/B002◯.png"
#
[C]
C	C-1	"./sample/KD/C001.png"
#
##[[原画]]/
##[[原画演出チェック]id:2]
##created=2016.0. ::/@.example.com;
##updated=2016.0. ::/@.example.com;
##
##[[原画演出チェック]]/
##[[原画作監チェック]id:3]
##created=2016.0. ::/@.example.com;
##updated=2016.0. ::/@.example.com;
##
[B]
B	B-1+	"./sample/KD/B001+.png"
B	B-2+	"./sample/KD/B002+.png"
##[[原画作監チェック]]/
##[KD]/
##[AD]
##[[動画発注]]
##created=2016.0. ::/@.example.com;
##updated=2016.0. ::/@.example.com;
##manager=kiyo@nekomataya.info;
##worker=cat@animal.example.com;
##slipNumber=0001020304087;
##
#==============
#実質的に動画発注時に打合せは存在しないことが多い ただし伝票は必ず発行する
#他のイベントがない場合でも、「発注」イベントを登録する
##[[動画発注]]/
##[[動画]]
##created=2016.0. ::/@.example.com;
##updated=2016.0. ::/@.example.com;
##
#================================================================
[A	CELL	841.32,841.32]
#----------------------------------------------------------------
A	A-1	"./sample/AD/A/A001.png",640,480	"第四フィールドにデータがあればコメント /無ければ無視"
#================================================================
[B	CELL	841.32,841.32]
#----------------------------------------------------------------
B	B-1	"./sample/AD/B/B001.png"
B	B-2	"./sample/AD/B/B002.png"
B	B-3	"./sample/AD/B/B003.png"
B	B-4	"./sample/AD/B/B004.png"
B	B-5	"./sample/AD/B/B005.png"
B	B-6	"./sample/AD/B/B006.png"
B	B-7	"./sample/AD/B/B007.png"
B	B-8	"./sample/AD/B/B008.png"	end
#================================================================
[C	CELL	]
#----------------------------------------------------------------
C	C-1
		path	=	"./sample/AD/C/C001.png"
		size	=	841.23pt,841.23pt
		offset	=	321pt,243.27890pt
		rotation=	0.000d
		comment	=	"手書きの場合はこの記法の方を推奨"

#================================================================
##[[動画]]/
##[[動画検査]]
##created=2016.0. ::/@.example.com;
##updated=2016.0. ::/@.example.com;
##
##[[動画検査]]/
##[AD]/
##[CC]
##[[色指定発注]]
##created=2016.0. ::/@.example.com;
##updated=2016.0. ::/@.example.com;
##manager=kiyo@nekomataya.info;
##worker=@.example.com;
##slipNumber=;
##
##[[色指定発注]]/
##[[色指定]]
##created=2016.0. ::/@.example.com;
##updated=2016.0. ::/@.example.com;
##
##[[色指定]]/
##[CC]/

##[PAINT]
##[[彩色発注]id:0]
##created=2016.0. ::/@.example.com;
##updated=2016.0. ::/@.example.com;
##manager=kiyo@nekomataya.info;
##worker=@.example.com;
##slipNumber=;
#
##[[彩色発注]]/
##[[彩色]]
##created=2016.0. ::/@.example.com;
##updated=2016.0. ::/@.example.com;
#
#================================================================
[Blank-CELL	SYSTEM]
Blank	X	"./_blank/blank.tif"	デフォルトのカラセル
Blank	D-X	"./_blank/D_blank.tif"	ブランクセルはブランクフォルダへ

#	一般行はエントリーレコード
#	第一フィールドは所属するグループID

#================================================================
[A	CELL	841.32,841.32]
#----------------------------------------------------------------
A	A-1	"./sample/CELL/A/A001.png",841.32,841.32	"第四フィールドにデータがあればコメント /無ければ無視/同じ値なら本来は記述不要"
#================================================================
[B	CELL	841.32,841.32]
#----------------------------------------------------------------
B	B-1	"./sample/CELL/B/B001.png"	"最低限のセル記述-寸法はグループの代表値を継承"
B	B-2	"./sample/CELL/B/B002.png"	,640,483	"同グループ内で寸法の違うセルを許容します。"
B	B-3	"./sample/CELL/B/B003.png"	,640,480,321,243.2789,-0.13d	"オフセットを同時指定可能"
B	B-4	"./sample/CELL/B/B004.png"
B	B-5	"./sample/CELL/B/B005.png"
B	B-6	"./sample/CELL/B/B006.png"
B	B-7	"./sample/CELL/B/B007.png"
B	B-8	"./sample/CELL/B/B008.png"	end
#================================================================
[C	CELL	]
#----------------------------------------------------------------
C	C-1
		path	=	"./sample/CELL/C/C001.png"
		size	=	841.23pt,841.23pt
		offset	=	420.615pt,420.615pt
		rotation=	0.000d
		comment	=	"手書きの場合はこの記法の方を推奨"

#================================================================
##[[彩色]]/
##[PAINT]/
##<(本線)>/
##
##<(背景美術)>
#================================================================
#	別ラインへグロス発注などの際に伝票が共有されないこともあるので注意
#	切り分けでデータを出せるよう配慮が必要
#
#================================================================
##[BG打合せ]
#================================================================
#	グロス等で工程全体へ伝票を切る際に伝票を切るためだけの
#	ステージを設ける必要がある グロス背景発注などがそれにあたる
#	作業/打合せ等のイベントがなくてもステージを設ける
#	この下の例はそのケース 1回めの全体の打合せがその作品のカット全てに転記される
#================================================================
##[[BG打合せ]id:0]
##created=2016.0. ::/@.example.com;
##updated=2016.0. ::/@.example.com;
##manager=kiyo@nekomataya.info;
##worker=@.example.com;
##slipNumber=;
##[[BG打合せ]]/
##[BG打合せ]

##[原図整理]
##[[原図発注]id:0]
##created=2016.0. ::/@.example.com;
##updated=2016.0. ::/@.example.com;
##manager=kiyo@nekomataya.info;
##worker=@.example.com;
#--------------伝票発行を伴わないジョブは伝票番号なしただし発注イベントは発生する
##[[原図発注]]/
##[[原図整理]id:1]
##[[原図整理]]/
##[[美術監督チェック]id:3]
##[[美術監督チェック]]/
##[原図整理]

##[背景美術]
##[[原図発注]id:0]
##created=2016.0. ::/@.example.com;
##updated=2016.0. ::/@.example.com;
##manager=kiyo@nekomataya.info;
##worker=@.example.com;
##[[原図発注]]/
##[[背景美術]id:2]
##[[背景美術]]/
##[[美術監督チェック]id:3]
##[[美術監督チェック]]/
##[背景美術]/
##<(背景美術)>/
##
#[END]

ENDマークの後方は自由記述です
常にそう

XPS-FILE

概要

XPSファイルは、カット内でそのカットを構成する要素が時間的・空間的にどのように配置されるかを記述するファイルです。

旧来のアニメーション作成におけるタイムシートに相当します。

全体の構成を認識しやすくするために各要素には番号または短い名称を与えて、基本的にはその名称のみをシート上に記述します。

記述する名称は、基本的にMAPファイルで定義されたものを有効な名称として、未定義の記述は適宜メモとして利用するものとします。(当然例外はあります。)

XPSファイルでは、最小の合成要素を「セル(CELL)」と呼びます。

セルは、ムービーの1フレームを構成する最低限の情報の集合です。

タイムライン

同種のセルがカットの継続時間内に連続して配置されたものをタイムライントラック(TimulineTrack?)または省略してタイムラインと呼びます。 (*タイムライントラックは、以前のドキュメントでは「レイヤ」と呼称されている場合があります。) タイムライントラックは、タイムシートの表記上の1段(1フィールド)と対応します。

タイムラインには、画像データを記述するもの、カメラワークを記述するもの、エフェクトを記述するもの、そして音響情報を記述するものがあります。 それぞれを、映像タイムライン、カメラワークタイムライン、エフェクトタイムライン、音響タイムラインと呼びます。

タイムラインは、レイヤを構成する要素でありレイヤそのものではありません。

システムは、音響タイムライン以外の任意の複数のタイムラインをツリー状に組み合わせてレイヤを構成します。

このシステムでは、タイムシートに一般の合成ソフトで言う「レイヤ」を直接記述することはありません。

タイムラインは、相互にいずれかのタイムラインの配下に属すことによってツリー構造を形成します。

ツリー構造には、parent(ペアレント)属性によるジオメトリツリーとlink(リンク)属性によるコンポジットツリーの二種類が常に存在します。

これは、セルアニメーションを記述する上で撮影および演出指定のデータの独立性を高めるために導入された概念です。

ツリー構造は、同一XPSデータ内で固定です。変化点を作成してカット途中で変更することは出来ません。 カット内で複数の構造が必要な場合は、必要な構造をあらかじめ設定して、表示をON/OFF(またはオーバーラップ)させることで実現してください。

レイヤの表示優先度はツリー構造に依存せず、Xpsデータフィールド上の並び位置に依存します。同一セルの表示順位をカット内で変更する場合は、表示順位の異なる複数のタイムラインをあらかじめ設定して表示をON/OFF(またはオーバーラップ)させることで実現してください。

(図)ツリー構造の記述 (図)ジオメトリの決定 (図)入力と出力

ジオメトリツリー

ジオメトリツリーは、画像タイムラインとカメラワークタイムラインによって構築されるデータ構造です。

このツリー構造を上に向かってたどることで画像タイムラインの最終的な合成位置を決定します。

ジオメトリツリーの構造はピクセルの値に変化を与えません。各画像タイムラインの座標系のみが変換されます。

コンポジットツリー

コンポジットツリーは、画像タイムラインとエフェクトタイムラインによって構築されるデータ構造です。

このツリー構造を上に向かってたどることで最終合成画面に対する画像タイムラインのピクセル値を決定します。

コンポジットツリーの構造は、タイムラインの座標系には影響を与えません。各画像タイムラインのピクセル値のみが変更されます。

ツリーの評価

最終的な合成画面を得るためには、ジオメトリツリーとコンポジットツリーを表示オーダーにしたがって合成用レイヤとして構築する必要があります。

構築は、標準的には以下の手順で行われます。 その際の表示順位は、XPSデータフィールド上の並びを使用します。

この手順を、ツリー最上位のルートノードまで行うことで合成用のレイヤーわけを行い全体のコンポジションを完成させます。

セルとセクション

タイムラインの構成要素

タイムラインは、フレーム順に並んだシリアルなセルで構成されます。(*セルと言う用語が二重の意味で出てくるので調整が必要*)

タイムラインは、セクションに分割されます。

すべてのセルはいずれかのセクションに含まれます。

セクションの集合がタイムラインを作ります。

セクション

1つのセクションは、必ず以下どちらかに分類されます

中間値生成の詳細な定義は、タイムラインの種別によって異なりますので、各項を参照のこと。

各タイムラインには、開始フレームを0フレームとする ID:0 の特殊なルートセクションが存在します。

ルートセクションは、実装系に依存するそのタイムラインの標準の値を持ったセクションです。

タイムラインを開始フレームから順次走査して、「有効な記述」が現れるとセクションが開かれます。

最初に開かれたセクションは ID:1 となります。

タイムラインの第一フレームが有効な記述だった場合、第0セクションの継続時間は0となり、第一フレームから第一セクションが始まります。

第一フレームに有効な記述がない場合、第0セクションが継続時間を持ち有効になります。

セクションの開始記述は、先行するセクションを閉じて新しいセクションを開始します。

次に有効な値が指定されるか、もしくはセクションの終了が設定されるまでの間がそのセクションとなります。

セクションの終了記述は、強制的に現在のセクションを終了して次のセクションを開きます。

終了記述の直後のフレームで値が記述されていない場合その値は次の有効な記述まで保留となります。

次に有効な記述が行われ場合、時間をさかのぼってそのセクションの値となり値の記述はセクションの開始点にはなりません。

例)

中間値補間セクション内では、前後のセクションが持つ値を補完して中間の値を生成します。

セクション内に中間値生成指定ノードがあれば、そのフレームに対して中間値を生成します。 生成ノードの指定が特にない場合は、すべてのフレームに対して中間値を生成します。

その場合、中間値セクション開始ノードは中間値生成指定ノードを兼ね、中間値が生成されます。 セクション終了ノードは、通常生成ノードを兼ねません。

セクションの最終フレームに値の生成が必要な場合は、終了ノードでセクションを閉じるのでは無く、 最終フレームには生成指定ノードを置いて、次のセクションの開始を使用してセクションを閉じて下さい。

データ形式

XPSファイルデータレコードには、以下の種類のデータを記述します。

および

ファイルフォーマット識別レコード

nasXPS-FILE 0.4
ファイルフォーマット識別レコードとして、XPSファイル第一行目は、フォーマット識別の為のレコードを置きます。

ファイル内のデータ識別行以前の無効行を読み飛ばすか否かはアプリケーションに一任します。

データ内に以下のデータフォーマット識別レコードが現れた場合、同一データは、データエントリ終了レコードが現れるか、もしくはデータ終端に達するまでの間に現れたテキストデータを XPSデータとします。

'現在のバージョンナンバーは 0.4 2015.03.20'

XPS属性記述レコード

XPS属性は、以下の書式で記述されます。

書式
##属性名=値
##TITLE=かちかちやま

行頭に "#"(ナンバーサイン)2つ連続、続けて属性名、"="(等号)でセパレートして、以降行末までを"値"

属性名として使用できる文字は、なるべく多くの言語でそのまま変数名として使用できるように、「アルファベットのみ」に加えて空白の代用として"_"を加えたものに限定します。

 [A-Z][A-Z_]*

等号でセパレートして 以降、行末までのデータは、すべてその属性の値とします。値には空白を含めて改行以外の全ての文字が使用できるものとします。

値を複数行に分割することはできません。

ライン記述開始レコード

XPS上のデータが所属するラインを宣言します。

特定のプロパティを除いてラインごとに異なる情報を記録することができます。

書式
##<(ライン識別子)>
書式
##<(ライン識別子):ラインID>

ラインIDは、あっても無くても良い

##<(本線):0>
	・
	・
	・
##<(本線)>/
##<(背景美術):1>
	・
	・
	・
##<(背景美術)>/

ライン情報の詳細はxMapデータを参照 XPS上のライン情報は、基本的にxMapデータからの転記となる。

ラインを構成する要素は、後述のステージです。

ライン記述終了レコード

ライン記述の終了を示すレコード

レコードの記述は、省略可能

次のラインが開かれた場合、その直前のレコードでラインの記述は終了する。

書式
##<(ライン識別子)>/
書式
##<(ライン識別子):ラインID>/

ラインIDの記述は、あっても無くても良い

ライン情報は、基本的にxMapデータからの転記となる。

情報にコンフリクトが発生した場合は、xMap側の記述が優先される。

ステージ・ジョブ記述開始レコード

単一のXPS上にはひとつ以上、複数のステージを含むことができます。

ステージは、いずれかのラインに所属して線形に配置される「作業段階」を表す単位です。

xMap上ではステージとジョブを分けて記録されますが、XPS上ではジョブはサブステージとして捉えられます。

ラインは連続した(サブ)ステージの集合です。

ステージを構成する要素は後述の タイムライン属性記述レコード および フレーム記述レコード です。

ステージ開始レコード以降 同識別子のステージ終了レコードまでの間は、そのステージの為のタイムシートが記述されます。

書式
##[ステージ識別子]
書式
##[ステージ識別子]ジョブ識別子?

##[原画]
##[原画][[演出検査]]
##[原画][[作監]]
##[[総作監]]
##[[監督チェック]]
ステージ開始レコードは、ステージ識別子を角括弧、ジョブ識別子を二重角括弧で囲み列記したものになります

ジョブ識別子を省略することが可能です

その場合一般的には当該ステージのプライマリジョブとなりますが、すでにプライマリジョブが記載されている場合は無名のサブステージ(ジョブ)として認識されます

ステージ記述を省略した場合は、直前のステージのジョブとして認識されます

同ステージ内のジョブ間のデータには暗黙の「優先度」があり、基本的には後方に記述されたジョブがより完成に近いものとして優先されます。

	原画 < 原画演出検査 < 原画作画監督修正 < 原画監督チェック

と、より後方のデータが優先されます。

一般的に各ステージには、コンテ(ライカリール)・レイアウト撮・原撮 等の作業段階を記述します。

ステージ名は、任意の文字列とします。ただし、作業サイトの内部では統一した命名体系を作成することを強く推奨します。

参照MAPデータが登録されたXPSデータはMAPに記載されたステージ名を継承します。

ドキュメント内のステージについてを参照

XPS内にステージが指定されない場合は、最終ステージに対する記述として扱います。

また、ドキュメント内に複数のステージが記述された場合も最終ステージは常に開始および終了レコードを省略することができるものとします。

*ジョブ記述について

一つのステージは、ジョブで構成されます

ジョブには、演出検査、作画監督修正などに相当するチェックジョブがあり、チェックジョブの際にXPS及びそのトレーラーであるMAPデータに変更が加えられる場合があります

XPSデータ上では、これらの変更された記述を前データの上書きではなく修正変更履歴として記録する機能を持ちます

XPSデータ上、ジョブは単独で記述されることはなく「ステージの副次情報(サブステージ)」として記録されます

MAPに記載されるジョブとXPSに記載されるジョブは同一のものをしめしますが、記法が異なる点に注意してください

:例: 原画ステージの演出検査による修正記述は以下のように原画ステージに続くサブステージとして開始されます

##[原画]
 ・
 ・
 ・
 ・
 ・
update_time=2015.03.21
##[原画]/
# ↑次のタグがステージを開くので閉じても閉じなくても良い 
##[原画][[演出検査]]
##started=2015.03.12 12:32:05 /シマウマ
##compleated=2015.03.12 12:45:00 /シマウマ
##[原画][[演出検査]]/

サブステージは、特に修正点がない場合単純な検査日時の記録となります

ステージ終了レコード

ステージ記述を終了します。
書式
##[ステージ識別名]/

##[原画]/
終了レコードは省略可能です。 別名のステージ記述が開始された時点で前ステージの記述は終了したものとみなします。

タイムライン属性記述レコード

 *「タイムライン」は、以前のドキュメントで「レイヤ」と呼ばれていたものを含みます。

XPSファイルのデータは、カットの経過時間に沿った一連のタイムラインで構成されます。 XPSに記録される情報は、上述のXPS属性以外基本的にいずれかのタイムラインに属します。

タイムラインには、映像タイムライン・音声タイムライン・カメラワークタイムライン・効果タイムライン・フレームコメントタイムラインがあります。

タイムライン属性記述レコードは、各タイムラインの属性を記述します。

タイムライン属性記述レコードは [] (角カッコ・ブラケット)で囲まれ、ホリゾンタルタブ(\x08)でセパレートされた値のリストです。

ファイル内の出現位置は任意。ただし、可読性を損なう恐れが高いので、 XPS属性記述レコードの直後で、タイムシート本体データに先行してまとめて記述することを強く推奨します。

属性とタイムラインの種別の組み合わせによっては、無効な属性もあります。 その場合は、読みやすさを第一に考えてnull値を置くようにしてください。(例を参照)

各属性の詳細は後述

# ##############################################################################
[ID	0	1	2	3	4	5	6	7	8	]
[sizeX		640	640	640	640					]
[sizeY		480	480	480	480					]
[Lot		10	AUTO	1	1					]
[blpos		end	first	none	none	-	-	-	-	]
[option	dialog	still	timing	timing	timing	camera	camera	camera		]
[parent		PAN	PAN	SL	SC	.	BG	BG	.	]
[link		.	.	.	F.O	.	.	.	.	]
[CELL		BG	A	B	C	PAN	SL	SC	F.O.	]
# ##############################################################################
[label										]
[memo										]
# ##############################################################################
この記述のファイル内の出現位置は任意ですが、むやみに分散させないで連続して記録するように強く推奨します。

フレーム記述レコード

	以下、タイムシートデータ本体(フレーム情報)のフォーマットです。

XPSファイルフォーマット識別レコードから記述終了レコードまでの間で、コメントレコード・タイムライン属性記述レコード・XPS属性記述レコード・空行 を除く一般のレコードはすべてフレーム記述レコードです。 フレーム記述レコードは出現順に1レコードを1フレームの情報とします。 1レコードで複数のフレームを扱ったり、複数レコードに1フレームの情報を分割することはできません。

	すべのフィールドが空白のエントリと空行は見た目の区別がつきにくいので
	フレーム情報記述区間では、空行を使用しない様強く推奨します。

フレーム記述レコードの各エントリは、テキストとしての可読性のため 基本的に水平タブによる文字送りの幅以内の短い記述を推奨します。標準的には、固定ピッチ/半角8文字以内のエントリになる様心がけてください。アプリケーションの実装次第では、これよりも長い記述を使っても良いものとしますが、テキストファイルとしての可読性が著しく損なわれることの無いよう配慮をお願いします。

フレーム記述レコードの総数 または XPS属性記述レコードで指定された合成継続時間のいずれか大きな方をそのデータの継続フレーム数とします。 双方に食い違いのでた場合は、短い方を後方に延長するものとします。

各フレーム記述レコードは、ホリゾンタルタブでセパレートされたフィールドの集合です。

フィールド数は任意で、各ファイルごとに記録されるタイムライン数にあわせて必要なフィールドを随時挿入・削除できるものとします。

1ファイル内でのフィールド数はすべてのレコードで一致するものとします。万一、いずれかのレコードにフィールドの欠落があった場合は、ファイル内で最も数の多いフィールドにあわせて不足分を空白のフィールドで後方に補完するものとします。補完時にフィールド数がタイムライン数を超過する場合は、タイムラインを増やして数を合わせます。

標準では水平タブ幅を(半角)8文字に想定しています。テキストエディタでの可読性向上のため、各エントリは8文字以内に納まる様努めてください。

第一フィールドは、可読性のための冗長フィールドとします。

第一フィールドのデータは読み込み時に無視されます。通常は、アプリケーションによりユーザが読みやすいようにフレーム数(コマ数)や、タイムコードを適宜省略して記録します。

第二フィールド以降が、データフィールドです。

第二フィールドから最低1つ以上、任意の数のフィールドが、ダイアログフィールドとして音響タイムラインに対して予約されます。

各々のカットの必要にしたがって、音響タイムライン用のフィールドがこの部分にまとめて記述されます。

音響タイムライン以降のフィールドの各エントリは、XPS属性で指定されたMAPファイルに定義のあるエントリを「有効なフレーム記述」であるとします。

最終フィールドは、フレームコメントです。各フレーム毎に申し送り事項のメモ等を添付するために使用します。

第二フィールド以降の各フィールドは、縦方向に連結されて映像タイムラインを形成します。

各タイムラインは、データ種別として camera/dialog/sfx/timing いずれかの属性を持ちます。タイムラインの詳細は後述

データフィールドは自由記述です。

データセパレータである、改行および水平タブ以外は、何を記述しても良いものとします。

アプリケーションは、これらの記述を解釈してタイムライン情報を構築する際、「有効なフレーム記述」以外を「それ以前の情報継続」として扱います。

つまり、未定義の記述であった場合、直前のフレームを参照して、その情報を受け継ぎます。

第一フレームが「無効な記述」であった場合は、タイムライン種別ごとの初期値が設定されます。

たとえばtimingタイムラインの場合は、MAP上のグループ属性にデフォルトの画像が設定されていない限り「カラセル」であるものとして処理します。

コメントレコード

ファイルフォーマット識別レコードからフレーム記述終了レコードまでの間で、XPS属性記述レコード以外の"#"で開始する行はコメントレコードとします。 アプリケーションはこの内容を無視します。アプリケーションはこの内容を 基本的に記録・保存の対象にしません。 アプリケーションは、可読性向上のためにコメントの形式でセパレータやセクションに対する説明、ユーザへのメッセージなどをコメントの形で挿入できます。

フレーム記述終了レコード

[END]
単独の"[END]"のみのレコードでタイムシートの本体記述を終了します。

その他のコメント

データエントリ終了レコードの後ろはすべてXPSファイルに対するコメントテキストです。 一般のテキストで、各エントリのコメントとは別に 仕上げや動画作業の申し送り事項を記入できます。 本フォーマット対応アプリケーションを作成される方は、この欄のコメントデータを保持・編集・提示できる様にアプリケーションを作成してください。

XPS属性

XPSファイルは、以下の標準属性を持ちます。

各属性の記述は省略可能で、省略および情報の欠落時には、記載の標準値で補完されます。

アプリケーションは、データ保存時には補完したデータを明示的に記述するようにしてください。

個々の実装毎に、ここに定義したもの以外の情報が必要な場合、各実装で自由に必要な属性を定義できるものとします。

このフォーマットを利用するアプリケーションは、最低限以下の変数に対する「処理」を記述するように求められます。ここでの、「処理」とは、変数および値を「適切に無視する」ことも含みます。また、他のアプリケーションで定 義されたXPS属性を読み込んだ場合は、可能な限りその属性および値を 記録・保存する様求められます。

もちろんデータを廃棄する明確な理由がある場合はこの限りではありません。

MAPPING_FILE

属性名
マッピングファイル
書式
##MAPPING_FILE=<マップファイルのパス>
省略値
null
##MAPPING-FILE=./c010.map
	マッピングファイルの記述ルールに従って
	合成情報に対して名前をつけて管理する設定ファイルのパス名。
	シートを先行して記述する可能性があるためアプリケーションは
	この情報が無くとも処理を続行する必要がある。

	実際の合成処理を行う場合は 必須
	実ファイルに対するアクセスを行わない場合は 任意
	Adobe Aftere Effects 用の実装では、プロジェクトフッテージからMAP情報を構成することが可能です。
	Adobe Photoshop 用の実装(psAxe)では、ドキュメント本体をMAP情報として利用することができます。

APPLICATION

属性名
アプリケーション
書式
##APPLICATION=<アプリケーション識別子>
省略値
null
##APPLICATION=remaping
	アプリケーションの識別用文字列とバージョン
	任意
	特になくともかまわない

TITLE

属性名
作品タイトル
書式
##TITLE=<タイトル>
省略値
任意
##TITLE=かちかち山
	作品管理においては必須
	ただしアプリケーションはこの情報が無くても処理を続行する。

OPUS

属性名
制作話数
書式
##OPUS=<制作話数など>
省略値
任意
##OPUS=第 7 話
	任意
	アプリケーションはこの情報があれば、記録表示を行う。

SUB_TITLE

属性名
作品サブタイトル
書式
##SUB_TITLE=<作品サブタイトル>
省略値
任意
##SUB_TITLE=青い柿にはご用心の巻
	任意
	アプリケーションはこの情報があれば、記録表示を行う。

SCENE

属性名
シーン番号
書式
##SCENE=<シーン番号等>
省略値
任意
##SCENE=S001

##SCENE=第2期-OP
	任意
	アプリケーションはこの情報があれば、記録表示を行う。

CUT

属性名
カット番号
書式
##CUT=<カット番号等>
省略値
任意
##CUT=C#012
	作品管理においては必須
	ただしアプリケーションはこの情報が無くても処理を続行する。

TIME

属性名
カット尺
書式
##TIME=<タイムコード>
省略値
任意
##TIME=1+12.
##TIME=00:01:18_
	カットの長さを タイムコード表記で記録する
	必須
	未定義で編集を行った場合は、アプリケーションが保存の際に
	実際のコマ数 またはそれに類する情報から計算して記録する。

TRIN

属性名
トランシットイン
書式
##TRIN=<タイムコード>,<識別文字列>
省略値
任意
##TRIN=0 + 00 .,trin
	トランジットエフェクトに使用する長さを、タイムコード表記で、
	任意
	TRINは、カット開始部分のトランジットに対する長さ。

TROUT

属性名
トランシットアウト
書式
##TROUT=<タイムコード>,<識別文字列>
省略値
任意
##TROUT=2 + 00 .,O.L.(C10/C11)
	トランジットエフェクトに使用する長さを、タイムコード表記で、
	任意
	TROUTは、カット終了部分のトランジットに対する長さ。
	
トランジットは、オーバーラップディソルブまたはワイプエフェクト等の接続する2つのカットが同時に表示される処理を指します。 作業慣例として「トランジット処理の中間のタイミングをカットの占有時間(タイムシートの表記時間)として計算する」ために、実際の合成処理時間(継続時間)は、タイムシートの時間表記欄にトランジット処理の時間の1/2を加えたものになります。

この時間表記を実務上のタイムシートと同一にするために、カット尺とは別にトランジット時間を記録する仕様です。

このフォーマットを利用するアプリケーションは、読み込みファイルにこの記述が存在する場合、以下の計算で合成処理する時間を正しく設定してください。

	
	総処理時間 =TIME+((TRIN+TROUT) × 0.5)となります。

トランジットエフェクトを扱わないアプリケーションはこの情報を記録する必要はありません。

LINE_ID

属性名
アクティブラインID
書式
##LINE_ID=(ライン名):ラインID
省略値
(本線):0
##LINE_ID=(背景美術):1
	現在アクティブなカレントラインを記述するレコード
	制作管理を行う場合は必須
	省略も可能 省力時の値は 本線:0  ただしxMapデータがリンクしている場合はxMapのカレントが優先
	この情報はxMap上のデータと同期する。
	xMapとリンクした運用の場合は保存時にxMapデータの情報で上書きされる
	カレントラインの詳細情報は、xMapデータ上にあり
	

CREATE_USER

属性名
作業ユーザ名
書式
##CREATE_USER=<ユーザID>
省略値
任意
##CREATE_USER=ねこまたや
	必須
	最初にファイルを作成したユーザ名(管理用)

UPDATE_USER

属性名
作業ユーザ名
書式
##UPDATE_USER=<ユーザID>
省略値
任意
UPDATE_USER=山田太郎
	必須
	最後にファイルを保存したユーザ名(管理用)
	複数人の手を経たシートの場合は、最初と最後のユーザのみが記録される。
	(WEB上の使用では実際のユーザの特定は困難、自己申告だし・・・)

CREATE_TIME

属性名
データ作成日時
書式
##CREATE_TIME=<データ作成日時>
省略値
任意
##CREATE_TIME=2006/05/12 10:15
	アプリケーションが自動生成
	最初にデータを作成した日付(管理用)

UPDATE_TIME

属性名
データ更新日時
書式
##UPDATE_USER=<データ更新日時>
省略値
任意
##UPDATE_TIME=2006/05/12 10:15
	アプリケーションが自動生成
	最後にデータを保存した日付(管理用)

上の4つはファイルシステムの情報と重複しますが、 アニメーション作成作業ではプラットフォーム間のコピーが多いので あえて保存するようにしてあります。

FRAME_RATE

属性名
フレームレート
書式
##FRAME_RATE=<毎秒のフレーム数>
省略値
任意
##FRAME_RATE=24
	必須
	毎秒のフレームレートを数値で

BLANK_SWITCH

属性名
カラセル処理メソッド
書式
##BLANK_SWITCH=<カラセルの処理メソッド>
省略値
任意
##BLANK_SWITCH=none
	任意
	AEのタイムリマップキーを作成する際のカラセルの処理メソッドを
	文字列で指定
	現在サポートしているメソッドは以下の6つ
	カラセル処理なし。
	このスイッチが指定された場合は、カラセル指定自体が無効記述となる。

	タイムラインのカラセル部分に 実際のファイルを割り当てる方式。
	タイムライン内にカラセルが存在しなくとも良い。
	この方式は、タイムラインをシーケンスに変換する際に特定のアプリケーションに
	依存しないため BLANK_SWITCH変数が無い場合で、かつ BLANK_SWITCH変数が
	必要な場合は、この値を標準値にすることを推奨。

	タイムラインのカラセル部分を強制的に不透明度 0% に設定してカラセルの
	状態を作る指定。「りまぴん」のための拡張。
	不透明度をサポートするアプリケーションで類似の機能を設計する場合は、
	このオプションを認める様にしてください。

	タイムラインのカラセル部分を強制的にワイプ 100% に設定してカラセルの
	状態を作る指定。「りまぴん」のための拡張。
	ワイプ機能をサポートするアプリケーションで類似の機能を設計する場合は、
	このオプションを認める様にしてください。
	
	タイムラインのカラセル部分およびタイミングの制御にAdobe AfterEffects 5.0
	以降の エクスプレッション機能を使用する場合の指定
	「りまぴん」のための拡張。
	特定のアプリケーション Adobe AfterEffects に依存するため 使用には注意
	してください。

	タイムラインのカラセル部分およびタイミングの制御にAdobe AfterEffects 5.0
	以降の エクスプレッション機能を使用する場合の指定
	「りまぴん」のための拡張。
	特定のアプリケーション Adobe AfterEffects に依存するため 使用には注意
	してください。

XPSタイムライン属性

XPSファイルは、紙に書かれたタイムシートそのもののデータ化です。

データは、縦方向にムービーの時間軸、横方向に同一フレーム内の合成要素情報を持ちます。

ここでは、時間軸に沿い同種の連続性を持った情報の集合を「タイムライン」と呼びます。

XPSは、現在以下の4分類5種のタイムラインを記述する事ができます。

位置情報を保持するcamera
音響情報を保持するdialogダイアログ・せりふ・SE等の音響データ
画像情報を保持するtimingタイミング情報つきシーケンス
still静止画
演出効果を保持するsfx

タイムラインは、タイムラインごとの属性値を保持します。

保持される属性は、タイムラインの種別によって異なります。

現在規定されているタイムライン属性は以下のリストの通り。

	映像タイムラインが占める横幅
	映像タイムラインが占める高さ
	映像タイムラインのクリッピング領域のピクセル縦横比
	
		省略可能
		これらのサイズで、合成時にタイムラインに対して合成バッファを与えます。
		実際のアプリケーションは、合成用のクリッピング領域として使用することが可能です。
		「りまぴん」では、AEに対するキー変換の際にわたすダミー値として使用しています。

Lot (セル枚数)

	シーケンスに使用するファイルの数(カラセルを引いた数で)を整数値で
	又はアプリケーションに処理をゆだねるキーワード"AUTO"
	アプリケーションは、キーワード"AUTO" を「できる限り」受け入れること。
	(エラーにはしないように)

blmtd (カラセル方式) blpos (カラセル配置)

	カラセルに与えるシーケンス内の仮想位置
	最初・最後・カラセルなし として first,end,none を記述

option (タイムラインオプション)

	(省略可能)
	timing/still/camera/dialog/sfx/trans
	タイムラインが保持する情報の種類、省略値は"timing"
	timing,comerawork,sound,dialog のいずれか

parent (タイムラインのジオメトリ階層を表す親タイムラインのID)

	.(ルート)または 同ファイル内のタイムラインいずれかの「タイムラインID」
	または「タイムラインラベル」
	
	記述がないものは、仮想のルートタイムラインに属するものとします。
	
	タイムラインの重ね合わせ順位とは別に、合成要素に対して
	タイムライン同士のツリー構造を構成します。
	その直上の親となるタイムラインをタイムラインID(番号)または
	タイムラインラベルで記述します。

link (タイムラインのコンポジット階層を表す親タイムラインのID)

	.(ルート)または 同ファイル内のタイムラインいずれかの「タイムラインID」
	または「タイムラインラベル」
	
	記述がないものは、仮想のルートタイムラインに属するものとします。
	
	タイムラインの位置情報とは別に、合成要素に対して
	タイムライン同士のツリー構造を構成します。
	その直上の親となるタイムラインをタイムラインID(番号)または
	タイムラインラベルで記述します。

parent/link にはCELL(ラベル名)またはタイムラインIDを指定する。

	親タイムラインが指定されていない場合は、仮想のルートタイムラインに対して
	リンクしているものとして扱う。
	ラベルは重複が許されるので、ラベルで指定した場合は最初にマッチした
	タイムラインに対してツリー接続を形成する。
	すべてのタイムラインに該当しない値が記述されている場合は、記述なしの場合と
	同じ扱いとします。
	詳しくは後述

ID タイムラインID

	管理上のタイムライン識別番号。重複不可(抜け番は許可)
	初期状態では、左から順に0から開始する整数でIDナンバーが与えられます。
	第一(冗長)フィールドとコメントフィールドにタイムラインIDは与えられません。
	記述自体は省略可。省略時にはフィールドの並びから作成します。
	一度設定されたIDは基本的には固定で、ファイル内でのユニークさが保証される様に。
	アプリケーションは、ID記述の省略時でも入れ替え等の操作に対しては、IDレコードを
	作成して元のIDを保存する動作が望ましい動作です。
	タイムラインIDは、セルやレイヤの重ね順には関与しません。
	タイムライン同士のツリー構造を記述するためのIDです。
	重ね順は、現に記述されたXPSデータのフィールドの順序を使用します。

CELL (セル(タイムライン)ラベル)

	セルのグループに与えられたラベル。重複可
	指定がない場合は慣例に基づいて大文字のA〜Zを順に使用すること。
	ファイル内でユニークであることは望ましいが、同名のラベルの存在は許容される。

label

memo このレコードは、音響タイムライン専用の冗長表示データです。

	音響オブジェクトの開始点がカットの開始点に近すぎてデータの記録が不可能な場合
	このレコードを作成して音響オブジェクトのラベルとコメントを記述します。
	音響タイムライン以外のタイムラインでは必ず空白値をとります。

XPSエントリ

XPSの本体データは、データフィールドに配置されたセル記述です。

データフィールドは、水平方向に表示優先度、垂直方向に時間軸を持つ二次元の空間です。

垂直方向の1連のセル記述を「タイムライン」と呼びます。

時間軸は、フレームによって分割される不連続値です。

セル記述は、属性値を持つ「有効な記述」と 記述本体の文字以上の情報を持たない「無効な記述」とに分かれます。

「有効な記述」は、他の合成ソフトでキーフレームと表現されるものに相当します。

「無効な記述」は、その文字以上の意味は持ちませんがアプリケーションは、これを記録保存します。

タイムシートデータの一部を変更すると、それに伴って以前は無効であったセル記述が有効に変化したり逆に有効な記述であったものが無効になったりもします。

有効な記述

「有効なセル記述」とは、「MAPファイルに定義されたエントリ」および 「タイムラインの種別ごとに定義されたキーワード」です。

MAPファイルには "グループラベル/エントリ名"の組み合わせでファイル内でユニークになるエントリが定義されています。

XPSファイル内では、まず各セル記述を "タイムラインラベル/セル記述"の組み合わせで評価します。

評価の結果 MAPファイルのエントリからセル記述に相当するものが見いだされた場合その記述は「有効な記述」となり、タイムラインの当該のフレームを含むセクションの値となります。

さらに記述は、各タイムラインごとに定義されるキーワードと比較され、一致したキーワードが存在すれば「有効な記述」となり、必要があればMapデータに新しいエントリとして追加されます。 それ以外の記述は、すべて「無効な記述」であり、なにも記述されないフレームと同等に扱われます。

各タイムラインごとの有効な記述及びキーワードは、以下の通り

camera/カメラワーク の記述

カメラワークタイムライン(フィールド)には、カメラワークのためにMAPファイルに定義されたラベルを記述します。 MAPファイルには、CAMERAWORグループとして合成時の幾何情報が名前をつけて記録されます。

カメラワークタイムラインでは、以下のようなキーワードを受け入れ、有効な記述とみなします。一部のキーワードは、パラメタを伴ってタイムラインの属性を上書きします。

特定のキーワードは、良く使用される効果を単純に記述するためのプリセットの集合です。

同様の効果をMAPのカメラワークエントリで記述して実現する事が可能です。

セクションの値を生成するノードとして"[]"で囲ったエントリを記述できます。

"[]"で囲まれた値は、MAPファイルにエントリがない場合、MAPに同名のエントリがあるものとしてふるまいます。 実装者は、この記述に対してMAPの更新が可能なようにアプリケーションを作成することが求められます。

	[A]<画像またはサンプルテーブルと置換え

この場合、Mapデータにエントリがない場合当該タイムラインの相当するグループにエントリ"A"が作成され シート上の配置に従い相当する値が与えられる。

中間値生成のため以下のキーワードを受け付けます。

▼▲▽△●○◎◆◇☆★
中間値セクション区間ノード

 中間値生成セクションを開始又は終了する。

開始ノードとして使用された場合中間値生成指定ノードを兼ねる。

セクション終了ノードとして使用された場合は中間値生成指定ノードを兼ねない場合がある

中間値生成指定ノードにならなかった場合はセクションを閉じる以外は無効な記述と同様にふるまう。

.*-・
中間値生成指定ノード

中間値生成セクション内では、セクション終了ノード以外の全ての記述は中間値生成ノードとなり指定されたフレームを始点として中間値を発生させる。

補間区間中に1フレームも中間値生成指定のない場合は、すべてのフレームに対して中間値を生成する

<ラベル>
ラベル付き中間値生成指定ノード
中間値生成指定ノードと同様にふるまう。

指定ノードの明確な識別が必要な場合に一般の文字列を"<>"で囲んで中間値生成指定ノードとして使用することができる。

MAPに登録されたエントリと一致した場合は、MAP記述が優先されるので注意

dialog/ダイアログ の記述

ダイアログタイムラインは、音声関連(特に台詞)のタイミングを記録するために使用されます。

ダイアログタイムライン(フィールド)に対応するMAPファイルのエントリは、音響オブジェクトとして認識されます。

ダイアログタイムラインでは、音声を取り扱うため記述の扱いが他の映像系タイムラインと異なります。

ダイアログタイムラインでは、以下の記述を受け入れ、有効な記述とみなします。

ダイアログラベル
音声オブジェクトにラベルを与えます。
音声開始マーカーと音声終了マーカーの間に属さないセルに記載された通常の文字列は、その次に記述される音声オブジェクトに対するラベルとなります。

いったん記載されたラベルは次にラベルが変更されるまでの間 そのタイムラインに記述される「音声」のラベルであり続けます。

	
コメント
音響オブジェクトは、その経過時間ごとにコメントを持つ事ができます。

音響コメントは(丸括弧)に囲まれたキーワードとしてシートセルに記述されます。

コメントは、記述されたフレームから、当該の音響オブジェクトが終了するまで、または次のコメントが記述されるまでの間有効です。

音響コメントは、音響オブジェクトの区間の中でも外でも有効です。

音声開始マーカー
___
音声開始の直前のフレームにマーカーを打つことができます。

マーカーの直後のフレームがその音響オブジェクトのIN点となります。

これは、他のタイムランにおける区間開始ノードの働きをしますが、記述フレームでなく記述したフレームの直後のフレームが区間の開始点となります。

音声終了マーカー
___
音声開始マーカーと記述は同じです。

音声終了フレームの直後にマーカーを打つことができます。 マーカーのあるフレームの一つ前のフレームがその音響オブジェクトのOUT点です。

他のタイムラインにおける区間終了ノードと似ていますが、区間終了は記述フレームの直前のフレームです。

音声開始マーカーから音声終了マーカーの間のフレームには、音響オブジェクトが登録されます。

この間のエントリは、コメントを除いて音声の内容を表すデータ(contentText)として扱われます。

前カットから継続する音声が存在する場合は、音声開始マーカーを省略できます。その場合の音響ラベルはタイムライン属性のlabel値で音響コメントは同memo値に記述されます。

後ろカットへ継続する音声が存在する場合は、音声終了マーカーが省略されます。

カットいっぱい単一の音声がある場合は、音声開始マーカーおよび音声終了マーカーを省略することが出来ます。その場合の音声ラベルはタイムライン属性で与えられます。

音声タイムラインキーワード

など
(v.o)(off)(vi)(on)(br)(息)

音声開始及び終了マーカーを連続したフレームに記述した場合、その音声オブジェクトの記述内容は"null"/継続時間は0フレームとなります。

この記述は実際には無効なオブジェクトを生成しますが、その記述自体は可能です。

編集時に編集対象となりファイルへの保存は行われます。

ただしタイムシートの整形を行った場合、実装によってはクリンアップ対象として削除されるでしょう。

sfx/演出効果 の記述

MAPエントリ中の"effect"を扱うタイムラインです。

effectには基本的なコンポジットが含まれます。

cameraworkタイムラインに類似しますが、ジオメトリを扱いません。

SFXタイムライン(フィールド)には、合成演出効果のためにMAPファイルに定義されたラベルを記述します。

MAPファイルには、EFFECTグループとして合成時の効果情報が名前をつけて記録されます。

SFXタイムラインでは、以下のキーワードを受け入れ、有効な記述とみなします。一部のキーワードは、パラメタを伴ってタイムラインの属性を上書きします。

これらの特定のキーワードは、良く使用される効果を単純に記述するためのプリセットの集合です。 同様の効果をMAPエフェクトエントリで記述して実現する事が可能です。

セクションのラベル値を生成するノードとして"]角括弧逆位置["または")丸括弧逆位置("で囲ったエントリを記述できます。

"]["で囲まれた値は、MAPファイルにエントリがない場合、MAPに同名のトランジションエントリがあるものとしてふるまいます。 ")("で囲まれた値は、MAPファイルにエントリがない場合、MAPに同名の非トランジションエントリがあるものとしてふるまいます。 この記述は、中間値セクション開始ノードを兼ねます。 この記述に対してMAPに新たなエントリが追加され更新が行われます。

例) テキスト記述

中間値生成のため以下のキーワードを受け付けます。

▼▲▽△●○◎◆◇☆★
中間値セクション区間ノード

 中間値生成セクションを開始又は終了する。

開始ノードとして使用された場合中間値生成指定ノードを兼ねる。

逆括弧のキーワードは、エフェクトラベルを更新した上に開始ノードになりかつ中間値生成指定ノードを兼ねる

セクション終了ノードとして使用された場合は中間値生成指定ノードを兼ねない場合がある。

生成指定ノードとならなかった場合はセクションを閉じる以外は無効な記述と同様にふるまう。

任意の値を記述することで中間値生成区間を閉じ、値を持った区間を開始することが可能なので、必ずしも終了ノードを記述する必要はない。

/^.+$/
中間値生成指定ノード

任意の文字列が指定されたフレームに対して中間値を発生させる。

指定ノードの明確な識別が必要な場合に一般の文字列を中間値生成指定ノードとして使用することができる。

値区間に生成ノードが現れた場合は、中間値生成区間の開始ノードとなる

ただし、指定ノードとは異なり区間を閉じる働きはない

補間区間中に1フレームも中間値生成指定のない場合は、すべてのフレームに対してひとつの中間値を生成する。

<#%>
ラベル付き値指定ノード
値をシート上に指定するエントリ

このエントリは、xMap上にエントリがない場合でも中間値補間区間を閉じて値区間を開始する。

中間値補間区間指定のエントリがMAPに登録されたエントリと一致した場合はMAP記述が優先され、値を持った区間として認識されるので注意が必要

still/ 静止画 の記述

静止画を扱う補助的なタイムラインです。

timingタイムラインに類似しますが、動画番号による置き換えをサポートしません。 随時の IN/OUT(カラセル処理)のみが処理対照になります。

タイムラインに記述されたエントリは、明示的な「カラ」を示す[X;x0]以外はすべてONを示すものとします。 空白のエントリはカラにマッピングされます。

timingタイムラインで1枚のみを扱うことで同様の処理がすべて可能です。

timing/タイミング の記述

timingタイムライン(フィールド)

セルの置き換えタイミングを記述します。

	セル(タイミング)情報の記述は以下のルールに従います。

セル(タイミング)情報の種別

BLANK
カラセル

	^\(*\b*[Xx×0〆]\b*\)*$

 X 又は x 又は × 又は 0 又は 〆 

原画(強調)記号として丸括弧で囲んでも良い。 丸括弧との間のスペースはあってもなくても良い。 カラセル(ブランクフレーム)として処理する

CELL
セル
	^("ラベル"|"")[\ \-_]*\(*\b*[0-9]?\b*\)*(\..?)*

MAPファイルに定義された動画エントリ または 動画番号を表す数値

ラベルと数字の間に許容される連結文字は スペース、アンダーバー、ハイフン(マイナス)または何もなし。

INBETWEEN
中間指定子
	^[\.\,\*・○△◇●▼■□ヽヾゝゞ]$ (ユーザ登録方式にする)

特にステージが原画シート(アクション)の場合のみ機能するエントリ エントリがCELLでもブランクでもなくかつ登録した文字が1文字だけ記述されている場合、そのエントリは中間(中割り)指定子として機能します。

中間指定子のあるフレームは、動画シートに対する転記および動画番号の補完計算を自動で行うことが可能になります。 (未実装 中間指定子については、再検証要)

<ラベル>
ラベル付き中間値生成指定ノード
中間値生成指定ノードと同様にふるまう。

指定ノードの明確な識別が必要な場合に一般の文字列を"<>"で囲んで中間値生成指定ノードとして使用することができる。

MAPに登録されたエントリと一致した場合は、MAP記述が優先されるので注意

MIMICK
上記以外の文字列(登録名称と予約語をのぞいたすべての文字列)

可読性向上のため、 " "(空白)/"|"(バーチカルバー)/\.(ドット)/_(アンダーバー)/"↓"(下矢印) などを推奨します。

カラセルおよびセル番号の記述以外は、何を記述しても良い事とします。 アプリケーションは、これらの記述を記録・表示はしますが、 タイミング情報を何らかの形で構築する際は、これらの「それ以外の記述」を 「それ以前の情報の引写し」として扱います。

つまり、未定義の記述であった場合、直前のフレームを参照して、 その情報を受け継ぎます。

判断すべき記述が第一フレームの場合は、参照するべき直前のフレームが 無いためブランクフレームとして処理されます。

他のタイムラインに存在する中間値補間区間ノードはtimingタイムラインにはありません。

すべての中間指定子(ノード)が区間の開始ノードを兼ねた働きをします。

中間指定子が連続した区間が中間値生成区間として認識されます。

補間区間は必ず次の値区間で閉じられます。


nas(U) タイムシートに対応するアプリケーションは、 以上の規定による記述のセル(タイミング)情報を認識する様に作成してください。

これは、タイムシートファイルとして認識してほしい最低限の記述です。 アプリケーションは、当該セルであると認められる表記は、独自に定義して これ以外でも認識して良いものとします。

XPS-FILE サンプル

nasTIME-SHEET 0.4
##MAPPING_FILE=
##TITLE=かちかち山Max
##SUB_TITLE=サンプルカット
##OPUS=おためし
##SCENE=
##CUT=10
##TIME=3 + 00 .
##TRIN=0 + 00 .,trin
##TROUT=2 + 00 .,O.L.(C10/C11)
##CREATE_USER=ねこまたや
##UPDATE_USER=ねこまたや
##CREATE_TIME=2005/05/05
##UPDATE_TIME=
##FRAME_RATE=24
#
#[CELL]
#===============================================================
[sizeX			640	640	640	640	640	]
[sizeY			480	480	480	480	480	]
[aspect			1	1	1	1	1	]
[lot			=AUTO=	=AUTO=	=AUTO=	=AUTO=		]
[blmtd			wipe	wipe	wipe	wipe		]
[blpos			end	end	end	end		]
[option	dialog	dialog	timing	timing	timing	timing	sfx	]
[link			5	5	5	5	.	]
[parent			.	.	.	.	.	]
[CELL			A	B	C	D	OL	]
#===============================================================
[label	娘							]
[memo	(off)							]
#===============================================================
.	あ		(1)	1	1	X	
.			|	|	|	カラ	
.			|	|	|		
.	れ		|	|	|	(1)	
.			|	|	|	|	
.			|	|	|	|	
#--------------------------------------------------------
.	だ		|	3	2	|	
.			|			|	
.			|			|	
.	っ		|	2	3	|	
.			|			|	
.			|			|	
#--------------------------------------------------------
.	て		|	1	5	|	
.			|		|	|	
.			|		|	|	
.	だ		|	3	|	|	
.	っ		|		|	|	
.			|		|	|	
#--------------------------------------------------------
.	て		|	2	4	X	
.	ぇ		|			カラ	
.			|				
.	|		|	3	3		
.			|				
.	____		|				
#========================================================
.			|	1	1		
.			|	|	|		
.			|	|	|	(1)	
.			|	|	|	|	
.			|	|	|	|	
.	____		|	|	|	|	
#--------------------------------------------------------
.	ソ		|	2	2	|	
.			|			|	
.			|			|	
.	レ		|	3	3	|	
.			|			|	
.			|			|	
#--------------------------------------------------------
.	じ		|	2	5	|	
.			|		|	|	
.			|		|	|	
.	ゃ		|	1	|	|	
.			|		|	|	
.			|		|	X	
#--------------------------------------------------------
.	ダ		|	3	4	カラ	
.			|				
.			|				
.	メ		|	1	3		
.			|				
.			|				____
#========================================================
.	じ		|	2	1		O.L.
.			|		|	(1)	
.			|		|	|	
.	ゃ		|	3	|	|	
.			|		|	|	
.			|		|	|	
#--------------------------------------------------------
.	ん		|	1	2	|	
.			|	|		|	
.			|	|		|	
.	!		|	|	3	|	
.			|	|		|	
.			|	|		|	
#--------------------------------------------------------
.	も		|	2	5	|	
.			|		|	|	
.			|		|	|	
.	|	姐さん	|	3	|	|	
.			|	|	|	X	
.		____	|	|	|	カラ	
#--------------------------------------------------------
.		と	|	|	4		
.			|	|			
.			|	|			
.		か	|	2	3		
.			|				
.	____		|				C#10/C#11
#========================================================
.		な	|	(1)	1	(1)	
.				|	|	|	|	
.			|	|	|	|	
.		ん	|	|	|	|	
.			|	|	|	|	
.			|	|	|	|	
#--------------------------------------------------------
.		と	|	|	2	|	
.			|	|		|	
.			|	|		|	
.		か	|	|	3	|	
.			|	|		|	
.			|	|		|	
#--------------------------------------------------------
.		い	|	|	5	|	
.		っ	|	|	|	|	
.			|	|	|	|	
.		ち	|	|	|	X	
.		ゃ	|	|	|	カラ	
.		つ	|	|	|		
#--------------------------------------------------------
.		て	|	|	4		
.			|	|			
.			|	|			
.		|	|	|	3		
.			|	|			
.		____	|	|			____
#========================================================
#========================================================
[END]
FIX
りまぴん用サンプルカット
コピー自由ですどーぞご使用ください。

台詞・メモ入り
後で見るときは、こっちの方が読みやすいです。

いやいや、すみませんね。 すっかり書きかけです。ははは

2007/04/22

ステージの概念を新しく書き込む

図版作成に着手

でもなんだかまた忙しくなりそう?

2008/01/14 久しぶりにこの原稿に手をつけた。 これでひとまず新フォーマットの要素は安定か?

図版をつけて校正できるのは次はいつかな?

もう、かなり巨大なので分割しなくちゃダメかな?

2013/04/25 思い出したように追加要素 セクションノード

2014.12.29 ライン管理のための拡張を記述 ラインはMapやXps自体を複製して展開される ラインが立ち上がった時点でのデータを複製してラインを開始して 更新権利を持たせる特定のプロパティ以外は全てロックされる ロック状態はデータ上ではラインプロパティの一部として記述される (データ記述上各プロパティへのロック機能・記述は設けない)

ラインのプロパティ 名称(プロダクトで一意に) 更新可能権利一覧

	既存のエレメントに対する更新権利である
	XPS上ならば #allowChangeGroup="BG","A","G";等となる
	エレメントの追加は基本的には禁止されない
	ただし、明示的に禁止することは可能とする

2016.04.04 MAPにEXTRAプロパティを追加 カット番号を持たない素材を管理可能にする為の処置

ファイルフォーマット上明記されていないが、一つのMAP及びXPSデータを複数ファイルに分割可能にする為の記述が必要になると思われる。 ファイルマージの際の順序をいかに確保するかが焦点

ファイルの日時が決定的な要素にならないので何か考えるが吉 とはいえ分割した時点で補助的な使用なのでそれはマージ時点でユーザに問い合わせることで解決できそうな気はする。

2016.05.04 ライン発行時に設定される「更新権利」は再考 全てのデータは作業者に帰属するものとして当該作業者以外のデータ更新は全て棄却 変更する権利が存在するのは、XPS上の記述に対する編集権のみとする。 XPSデータ自体は作業者が行った編集内容(履歴)を維持するので、純粋に「内容を変更する権利」となる

そのためタイムシートの「トラック」毎の編集権のコントロールをファイル内(ラインのエントリ)に記録する効率的な記述書式が求められる。

保護すべき(または保護しない)トラックを特定する方法が必要 (MAPのエントリではないーMAPエントリは元々コミット後の変更は一切不可)

マップエントリはトラックに対して関連付けられるが、記述上は各トラックに対して複数のグループのエレメントを記述したり、一つのグループ要素を複数のトラックに記述することが認められている。 また、ステージごとにトラック構成は同一性が保証されない。>>ステージが変われば変更されるのが通常 エレメントグループも ステージ配下で構成が変わる

これらのステージ間の関連づけ(継続・分岐性)は、実際は作業者の経験則に依っている 何らかの関連付けの定義が必要

キャスト単位ではない? レイヤでもない? エレメントグループはもとより変更禁止 グループに関連付けられるべきシートのトラックはせいぜい 「不定のラベル付きのマトリックス」に過ぎないので ほとんど保護するべき物自体が無い あるとすれば、「シート(全体)」の変更権利だが、これは常に「本線のみが変更権を持つ」と考えるのが適切?

各工程には、それぞれのアセットが専有するタイムシート上のトラックがある。 このトラックは工程ごとに追加される性質のもので、先の工程のトラックを変更する必要は無い。 先の工程のトラックを引用したタイムシートは、あとで自動分離可能なので更新という操作自体が無い 依って「更新権」という概念そのものが不要

シート(カット全体)の時間構造の変更のみが問題となるが、これは本線で発生しようが支線側で起きようが現行の全ラインをロールバックするので、別の問題となる

タイムライントラックの取捨選択は、後方(=アセットストア後方)工程の識別案件なのでこれも考慮不要