PSMゲーム
Bloodred Wyvern (ブラッドレッドワイバーン)
Bloodred Wyvern 2
その他
PlayStation®Mobile関連リンク集
PlayStation®Mobile学習日記
XBLIG
BLASTER AND AMETHYST
BLASTER AND MORION
LEUCISTIC WYVERN
Bioerosion
URGENT EVASION 360
The Undead Syndrome / TUS 2
Dark Storm Blast 360
その他
Making Of The Undead Syndrome[3DCG]
Making Of The Undead Syndrome2
XNA関連リンク集
ブラウザゲーム
発火少年の地面焦がし
MAGICAL METEOR SHOWER
メタセコイア備忘録
東日本大震災(Aftermath of the 2011 Tohoku earthquake and tsunami)
ムカゴソフトウェア開発
e-mail:cqp00202@nifty.ne.jp
本サイトはリンクフリーです。
バナーはこちらをご使用下さい。
ビューポート(Viewport)構造体は無いのかなぁ。
GraphicsContextAlphaクラスのGetViewportf ()メソッドは、
ビューポートをBounds2オブジェクトとして返すらしいし・・・。
Bounds2・・・境界2オブジェクト!?
SDKドキュメントを参照してみると、Bounds2は、名前空間GameEngine2D.Baseの構造体だった。
3Dでも普通に使うビューボートを本当にBounds2オブジェクトとするなら、GameEngine2Dに含めるのはちょっと違う気がするなぁ。
試しに、Bounds2構造体のオブジェクトとして「viewport」を用意して、 GraphicsContextAlphaクラスのGetViewportf()メソッドの戻り値(ビューポートを返す)をそれに格納した。
//参照アセンブリにパッケージを追加する必要有り using Sce.PlayStation.HighLevel.GameEngine2D.Base;
static GraphicsContext graphics ; static GraphicsContextAlpha graphicsContextAlpha;
//初期化処理に記述 graphics = new GraphicsContext() ; graphicsContextAlpha = new GraphicsContextAlpha(graphics);
//ビューポートを取得 Bounds2 viewport = graphicsContextAlpha.GetViewportf ();
960 x 544 は、PSVitaの解像度。
[参考] PlayStation®Mobileプログラミングの落とし穴 - プログラムをAndroid端末で実行すると、スプライトやテキスト(フォントの描画)の位置がズレてしまう
ビューポートの矩形の取得に、GraphicsContextクラスのGetViewport ()メソッドを利用する方法もあった。
GraphicsContextクラス
ImageRect構造体(パッケージ : using Sce.PlayStation.Core.Imaging)
using Sce.PlayStation.Core.Imaging;
//ビューポートを取得 //graphicsは、GraphicsContextのオブジェクト ImageRect viewport = graphics.GetViewport ();
地形や障害物のコリジョン判定処理の実装を再開。
まず最初に、仮の障害物となる3Dモデルを用意。
手始めに、頂点数=6、三角形=8のシンプルな3Dモデルにしてみた。
次に、メタセコイアの.mqoファイルから、コリジョンデータを自動的に生成するツールを作成。
それは、エクセルVBAで作ってみた。(笑)
スプレットシート上で、ツールが吐いた三角形のデータが正しいかチェック。
そう難しいことはしていないので、ここまではスムーズに進んだ。
コリジョン(レイと三角形の交差)判定のテストは、8月3日に作った超シンプルな3Dシューティングゲームのプログラムを使って行うことにした。
プログラムに、コリジョンデータを受け取るコードを記述
(コリジョン判定部分は、12日の段階で作成済み)。
仮の障害物を配置して、いよいよテストプレイ開始。
自キャラであるワイバーンを操作して、わざと障害物に重ねてみた。
・・・正しく判定できているようだ。