2004/10/04(月) [n年前の日記]
#5 [prog] _クォータービューの描画順の問題(1)
_クォータービューの描画順の問題(2)
難しい。どうやるんだろう。
何度も重ね描き=フレームバッファへの転送速度が必要になるから、ダメだな。
難しい。どうやるんだろう。
◎ クォータービューと聞いて思い浮かべるのはこのへん :
_SONIC 3D
_ランドストーカー 皇帝の財宝
職人技としかいいようがない。…SONIC 3D は記憶にないけど。
MDの表示能力は、スプライト x 80 + BG x 2。BGは1キャラ(8x8ドット)単位で、プライオリティを指定できる。 *1 スプライトは、1枚につき、8x8〜32x32ドットを選べる。
「ゲームボーイのようなショボイハード」とやらでも、描画に関しては無問題のような気がした。事前にグラフィックの人がそのように描いておいて、それをスクロールさせればいいのだろうし。 *2 しかし、それでも、キャラクターが建物の陰に入ったり、マップの一部がスプライトで描画されつつ移動したとき、重なり具合を表現しないといけない。どうやるんだろう。難しい…。
キャラクターが建物等で隠れるときは、BGの該当箇所だけ、プライオリティを変更すればいいのかしら。でもその為には、地面と建物を別々のBGに描いて分けておかないと。
それでも、複数のスプライトがBG上の一つのマス目の上に来てしまった場合、どうすりゃいいの…。マズそうな建物はスプライトで置き換えちゃうという手もあるけど、建物全部 ―― 画面を埋め尽くすほどのスプライトは表示できないし。
*3
…難しいなぁ。
というか、コレ、元記事で議論されてる内容と全然ちゃうがな。「ショボイハード」の一言で、思考が変な方向に。(;´Д`)
_ランドストーカー 皇帝の財宝
職人技としかいいようがない。…SONIC 3D は記憶にないけど。
MDの表示能力は、スプライト x 80 + BG x 2。BGは1キャラ(8x8ドット)単位で、プライオリティを指定できる。 *1 スプライトは、1枚につき、8x8〜32x32ドットを選べる。
「ゲームボーイのようなショボイハード」とやらでも、描画に関しては無問題のような気がした。事前にグラフィックの人がそのように描いておいて、それをスクロールさせればいいのだろうし。 *2 しかし、それでも、キャラクターが建物の陰に入ったり、マップの一部がスプライトで描画されつつ移動したとき、重なり具合を表現しないといけない。どうやるんだろう。難しい…。
キャラクターが建物等で隠れるときは、BGの該当箇所だけ、プライオリティを変更すればいいのかしら。でもその為には、地面と建物を別々のBGに描いて分けておかないと。
というか、コレ、元記事で議論されてる内容と全然ちゃうがな。「ショボイハード」の一言で、思考が変な方向に。(;´Д`)
◎ これじゃダメかしらん :
*1: スプライトの前に出したり、自分以外のBGの前に出したり、そういった指定ができる。…のは覚えてるけど、スプライト自体も、BGに対するプライオリティを指定できただろうか。そっちは忘れた…。
*2: そもそも、昔のハードには、キャラ(8x8ドット)を「敷き詰められる」BGしかない。PCよろしく、フレームバッファに何度も転送して画を作る今時の仕組みじゃないので、面ごとに描くとか、六角形を描くとか、たぶん無理。
*3: 当時のスプライトには、横方向(=走査線単位)に並べる事ができる枚数に制限があったりするので。制限を超えると、プライオリティの低いスプライトから表示されない状態になる。…枚数じゃなくてドット数だったかしら。忘れた。
*2: そもそも、昔のハードには、キャラ(8x8ドット)を「敷き詰められる」BGしかない。PCよろしく、フレームバッファに何度も転送して画を作る今時の仕組みじゃないので、面ごとに描くとか、六角形を描くとか、たぶん無理。
*3: 当時のスプライトには、横方向(=走査線単位)に並べる事ができる枚数に制限があったりするので。制限を超えると、プライオリティの低いスプライトから表示されない状態になる。…枚数じゃなくてドット数だったかしら。忘れた。
この記事へのツッコミ
[ ツッコミを読む(2) | ツッコむ ]
以上です。
スプライトの中心点をZとして判定して。図のような場合はモナーが建物の影から急に前面に出てくるみたいなことになりますが。
実機で見てみると意外と違和感がなかったりしますよね。
> 図のような場合はモナーが建物の影から急に前面に出てくる
あ。たしかに。
スプライトの中心点をZとして扱っちゃうと、そうなっちゃいますな…
緩和策が必要だ…