コードスペランカー

ゲーム開発日誌など

XNA3.1

作り捨てても大丈夫そうなオブジェクト

int、floatといった基礎的なオブジェクトは大丈夫っぽい listとかはけっこう気を使う必要がありそう

XNAでの重たい処理

XNAというかC#全般でもいえるのかもしれないが newとガベージコレクションは結構重いのではと重いはじめてる 処理中にnewのあるメソッドを呼ぶと1回や2回ではそうでもないが DrawやUpdete内部で100回ぐらい呼ぶと、確実にFPSが下がるnewで作った領域をガベー…

ゲーム内でのテクスチャの作成

4.0への移行が面倒になったので3.1でやっとります。 テクスチャのアルファ問題まだ解決しないってわけで、3.1でやり始めて、問題が起きたのでメモしておくゲーム内でテクスチャを作るのに便利な RenderTarget2Dクラス これで新たなターゲットを作って Graphi…

描画の重さ

処理の方法や手順をいろいろ変えてみた結果 「表示する」という処理そのものの重さであるような印象を受けるたとえば、4頂点しかもたないビルボード1枚の描画と50頂点ほどのメッシュでも1つを描画する処理にかかる時間的なコストがあまり変わらない印象…

XNAでの描画処理3

前回の続き 前々回で誤解していた部分が判明 重たくなっている原因の処理は、プリミティブを利用したポリゴン描画部分であることが判明。具体的には、ポリゴンを描画するためのエフェクトを宣言している BasicEffect effect = new BasicEffect(Game1.graphic…

XNAでの描画処理2

前回での失敗を解決。 ゲーム内でポリゴンを作って使おうと思うと、設定の重複が激しそうなので、それっぽい板ポリゴンを用意して使うことにした。 これで、速度面は解決したと思う。これで、だいぶソースがすっきりした

なぞの境界線

ビルボードの実装をやってみて、うまくいっているみたいなので 透過PNG画像を張ったところ、透過部分と非透過部分の間に謎の境界線が発生した。この境界線はどうやらGraphicsDevice.Clearで塗りつぶしたときの色なようだが、なぜこんなことが発生するのかま…

XNAでの描画処理

3D関連は、やったことがないに等しい俺が挑戦!!XNAでの描画処理は一律Game1.Drawメソッドに記述することになる 3次元の処理を2次元に描画するためには、いくつかステップを踏む必要があって その中に、カメラの設定とか、材質の設定とかいろいろあって、…