Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2008-01-10

[Ruby]透視座標変換っぽいのができた

http://d.hatena.ne.jp/hajimehoshi/20080109/1199880590

Star Rubyにスーファミのモード7のような機能が付いたという話。Star Rubyについては、今は忙しくて無理だけど、仕事が片付いたら一度は触ってみたいと思っていた。

APIは次のようなものになるらしい。

Texture#render_in_perspective(texture, camera_x, camera_y, camera_angle, distance)

ぱっと見て思ったのは、スーファミのようなゲームの場合、2Dを組み合わせながら擬似的に3Dを体現することになると思うので、座標の管理とか2次元投影のロジックも定型とは違ったオリジナルの実装になることが多いのではないかと思う。 だとすると、2次元投影のパラメータとかこっちで管理したいから、APIにカメラの情報を渡すのではなくて、頂点の座標をダイレクトに指定する、または拡大縮小や回転のパラメータを渡す形のほうがいいのではないかなあということ。2次元変換はこっちで好きにできるように。自分でやるのはちょっと面倒だけど。

既存のAPIだとパースの情報はどうやって与えるのだろう。