プレーンの基本

CS2システムには、基本的な画面構造である画像イメージのほかに、「プレーン」と呼ばれる概念があります。
使用しなくてもシーンスクリプトでの演出は可能ですが、最低限の使用でも表現の幅が広がります。

※プレーンのサイズやVRAM領域は、作品ごとにVRAM定義ファイル「vram.xml」で設定されます。
説明の中では、以下のサイズを想定しています。

  • 画面表示領域(ウィンドウサイズ):800×600
  • VRAM領域:2048×1536
  • 通常プレーンサイズ:1024×680

プレーンとは

CS2で画像を読み込むと、一度プレーンに配置してから表示されます。

プレーンは、画像イメージを貼り付ける透明な板と言えます。
セル画のセル、photoshopのレイヤーにも似ています。

CS2には標準でその板がいくつかあり、それらを重ねるように表示しています。
一枚の板に複数の画像を貼り付けることも、複数の板に画像を一つずつ貼り付けることも可能です。

プレーン構成イメージ

プレーンの特徴

イメージを読み込んだプレーンは、オブジェクトタイプ「pl」として、イメージとほぼ同じように扱えます。
さらに以下のような特徴があります。

専用のコマンド
コマンドの中には、プレーンのみを対象とするものがあります。
このことから、プレーンの使用で演出の幅が広がると言えます。
指定の簡略化
1枚のプレーンに複数の画像がある場合、プレーンに対してコマンドを指定することで、複数の画像に一度にコマンド指定したのと同じになります。
軽く滑らか
同じモーションコマンドでも、イメージではなくプレーンに指定することで、軽く、美しい動きになります。
これは大きな画像で比較すると顕著に表れます。

プレーンの使用

プレーンへの描画

各イメージのデフォルト描画プレーンは、VRAM定義ファイル「vram.xml」で設定されています。

ここでは描画するプレーンを画像読み込み時に指定します。

	bg 0 bg01a0 //背景画像はプレーン0に

	cg 1 bd02,1,1,0,5 200 @ 0 //プレーン0のx座標200に読み込み
	cg 2 be01,1,2,3,3 600 @ 0 //プレーン0のx座標600に読み込み
	rdraw

	同じプレーン

	cg 1 bd02,1,1,0,5 400 @ 1 //プレーン1のx座標中心(400)に読み込み
	cg 2 be01,1,2,3,3 400 @ 2 //プレーン2のx座標中心(400)に読み込み
	pl 1 pos 200 //プレーンで位置を指定
	pl 2 pos 600 //同上
	rdraw

	プレーン分け

【画面表示】

画面キャプチャ

プレーン状態確認モードで表示
【左:同じプレーン】/【右:プレーン分け】

画面キャプチャ 画面キャプチャ

pl 0〜2に分けて描画しても、pl 0だけに描画したときとまったく同じ画面表示になります。

「同じプレーン」は、各イメージを1枚のプレーン上の希望の位置に直接描画しています。
一方「プレーン分け」では、中心にイメージを描画した各プレーンをずらして位置を決定をしています。

プレーン状態確認モード

プレーンの状態を見るためには「P」キーを使用し、デバッグ機能の一つ「プレーン状態確認モード」にします。

プレーンへのコマンド適用

arcコマンドを使用して、pl 0に頷くような動きをつけます。

	bg 0 bg01a0
	cg 1 bd02,1,1,0,5 200
	cg 2 be01,1,2,3,3 600
	rdraw

	同じプレーン

	pl 0 arc 60 180 360 0 30

	プレーン0にモーション(1)//※1

	cg 1 bd02,1,1,0,5 400 @ 1
	cg 2 be01,1,2,3,3 400 @ 2
	pl 1 pos 200
	pl 2 pos 600
	rdraw

	プレーン分け

	pl 0 arc 60 180 360 0 30

	プレーン0にモーション(2)//※2

(実行例は省略します)

「※1」のarcコマンドでは、pl 0に描画されているイメージすべて(bg 0・cg 1・cg 2)が一緒に動きます。
プレーン分け後の「※2」は、pl 0に描画されているbg 0だけが動くことになります。

同じ処理をしたいイメージを一つのプレーンにまとめ、そこにコマンドを指定することで、一度に複数のイメージに適用できます。

VRAM領域

画像を読み込める領域を「VRAM領域」といいます。
Pキーを使用して移行する「プレーン状態確認モード」は、現在読み込まれている画像も確認できることから「VRAM状態確認モード」ともいいます。

VRAM領域/通常サイズ プレーン状態

画面表示領域(ウィンドウサイズ)とプレーンサイズ

※この例では、「VRAM領域:2048×1536」が4枚入るように分けた「1024×680」を通常サイズとしています。

プレーン状態確認モードで見ると確かに読み込まれているのに、ゲーム画面上では見切れていて表示されない部分があります。
これは、額縁の中に額縁より大きな絵を入れ、表からは見えないところがある状態です。
画面表示領域は800×600なので、通常サイズプレーンは一部表示されない部分があります。

※この例での、画面表示領域に対する通常プレーンサイズ
左右余剰分:各112、上下余剰分:各40/プレーンは画面表示領域の中央に表示)

プレーンを画面表示領域のどこに配置するかは、プレーンの pos で指定します。
プレーンの pos は、プレーンの base を画面表示領域のどこに表示するか、という指定です。

イメージタイプの位置指定

イメージタイプの表示位置指定はプレーンの左上(0,0)からの座標を指定しています。
プレーンと違い、画面表示領域の0,0点からではありません。

しかし前述の例では、x座標に400を指定して正しく画面中央に表示されていました。
これはVRAM定義ファイルの設定で、プレーンに描画するイメージタイプの位置を自動で「x+112・y+40」するようになっているためです。

したがって、プレーンの0〜3に画像を読み込む場合は、プレーンの余剰分を考えることなく位置指定が可能です。
このことを「シフト」、その値を「シフト分」と呼びます。
よりも大きいプレーンを通常サイズプレーンとして使用する場合、このシフト値の設定は必須といえます。