RPGツクール2000/システム
■擬似3Dの基礎
(更新:2010/07/17)


☆擬似3Dとは?
擬似3Dとは、遠近感のある背景画像を表示したり、
1枚の画像の拡大縮小したりして、3次元の画面を表示する事を言います。

RPGツクール2000では、3D素材(ポリゴン素材)を使う事ができないため、
もしも3Dゲームを作る場合は、擬似3Dで作る事になります。



☆RPGツクール2000で擬似3D
RPGツクール2000では、遠近感のある背景画像の上に、
拡大縮小が可能なピクチャー画像を表示して、
擬似的に3D空間を作り出す事ができます。

RPGツクール2000での擬似3Dの制作には、
以下のような制作の制限(仕様・問題点)があります。

・3次元を表示するシステムは、全て自作になります。
 弾丸を飛ばしてターゲットに当てるようなゲームを作る場合は、
 3次元の当たり判定の処理なども、全て自作になります。

・誰かに聞いて作れるようなレベルではないので、
 質問掲示板に作り方を聞いても、良い返事が来る確率は極めて低いです。

・リアルタイムで敵を倒すような処理を作る場合、
 数ヶ月、数年単位の研究期間が必要になる場合もあります。

・ツクールの仕様、特に処理落ちに関する仕様を知っておかないと、
 処理の重い作品になってしまいます。
 代表的な処理落ちの発生源としては、
 ・ウェイトを挟まずに「ラベル」や「繰り返し処理」でループ処理を実行
 ・「ピクチャーの表示」の連続的な実行
 ・マップイベントの大量配置

 などがあります。

・擬似3D用の画像素材は、ネット上には殆どありませんので、
 必要な画像素材は、全て自作する必要があります。

このように制作するハードルが高いため、
RPGツクール2000で擬似3Dのゲームを作る方は、
YADOを含めて極少数です。
▼YADOの擬似3D作品▼
3ST 3DD
※この2つの作品は、気紛れな空間にて公開中です。
 【気紛れな空間のページを開く】



☆画像の表示
擬似3Dでは、
遠近感のある画像の表示と、
拡大縮小を行う画像の表示を組み合わせて、
立体的な空間を作り出します。



■遠近感のある画像
立体的に見える画像を表示して、3D空間を表現します。


通常は、ゲーム画面のサイズと同じ大きな背景画像を表示して、
その上に小さな背景画像を重ねて表示します。
▼こんな感じに重ねて表示

※実際には瞬間的に重なります。

このように壁ごとに分けて表示する事で、
大量に壁の表示パターンがあっても、問題なく表示する事ができます。



■拡大縮小する画像
画像を拡大縮小して、奥行きのある画像の移動を行います。


RPGツクール2000での拡大縮小は、主にピクチャーの拡大率を使って行います。

徐々に拡大縮小していく演出を行いたい時には、
100%→93%→87%→81%…
と言った感じに、小刻みに拡大率を変えていく方法を使います。
この方法では、細かい拡大率の設定を行うために、
ピクチャーを操作する多くの設定が必要になります。



☆拡大率に合わせた表示位置の設定
ピクチャーの拡大縮小で遠近感を出すには、
視点の中心となる部分に向かって縮小、
または中心から遠ざかる形で拡大すると、
より遠近感のあるピクチャー画像を表示する事ができます。
基本的に視点の中心は、画面の中央(X=160、Y120)に設定します。

画像の表示では、視点の中心をX0、Y0として、
中心からどれだけ離れているのかを変数に記憶します。
中心から右、または下に位置する場合は、プラス値。
中心から左、または上に位置する場合は、マイナス値とします。

下の絵ではX40、Y30が表示位置になります。


実際にピクチャーを表示する時には、
X40+160=ピクチャーX表示位置「200」
Y30+120=ピクチャーY表示位置「150」

となります。


拡大率が50%の時には、中心からの表示位置も50%(半分)に縮みます。


ピクチャーの表示位置は、
X20+160=ピクチャーX表示位置「180」
Y15+120=ピクチャーY表示位置「135」

となります。

このように拡大率に合わせて中心からの距離を変えていけば、
綺麗な拡大縮小を行う事ができます。



☆Z座標について
3Dでは「横=X」「縦=Y」「奥行き=Z」の3つの座標を使います。

YADOが作成しました擬似3Dの表示システムでは、
拡大率ごとにマップイベントのページを用意して、
「Z位置=ページ数」として処理しています。

例えば、1ページ目を100%、2ページ目を93%と言った感じに設定して、
Z座標(ページ数)の値を増やす事で、徐々に画像を縮小していきます。
※拡大する時には、Z座標(ページ数)の値を減らします。


拡大率の、
100%→93%→87%→81%…
と言った数値の算出は、
100%から自分で決めたパーセントをどんどん掛けていく事で、
算出する事ができます。

例えば、93%ずつ掛けていくとなると…
1ページ目:100%。
2ページ目:100×93%=93%
3ページ目:93×93%=86.49(この場合は87%か86%)
4ページ目:86.49×93%=80.44(この場合は81%か80%)
5ページ目:80.44×93%=74.81(この場合は75%か74%)
6ページ目:74.81×93%=69.57(この場合は70%か69%)

と言った感じになります。

この計算では、小数点以下の扱いをどうするのかによって、
パーセントの数値が変わってきます。
また掛けるパーセントを96%などにしますと、細かい拡大縮小が可能になり、
逆に90%などにしますと、一気に拡大縮小する形になります。


1ページ目は、絶対に100%にする必要はありません。
1ページ目を200%などにしても、問題ありません。
また1ページ目を最も小さい拡大率にして、
ページが増えると、徐々に拡大していくような設定にしても、問題ありません。



◎関連ページ
 ●3Dダンジョンを作る


YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール