- 「シューティングゲームの作り方/自作:自機のグラフィック設定」のご紹介
- 「シューティングゲームの作り方/自作」関連ページのご紹介
- シューティングゲーム・関連ページのご紹介
- 歴代名作シューティングゲームのご紹介|まとめ
- 歴代シューティングゲーム全ゲームタイトル一覧のご紹介|まとめ
- シューティングゲームの人気シリーズのご紹介
- シューティングゲーム関連ページのご紹介|まとめ
- シューティングゲーム解説ページのご紹介|まとめ
- シューティングゲーム・ハード関連(周辺機器)のご紹介|まとめ
- シューティングゲーム雑誌/書籍関連のご紹介|まとめ
- 【TPS名作・傑作・まとめ】TPS傑作・名作・全ゲームタイトルのご紹介│まとめ│~トゥームレイダー│バイオハザード│アンチャーテッドなど~
- 【名作RPG】RPGのご紹介│まとめ│
- 【TOP:SLG】おすすめ名作シミュレーションゲームのご紹介
- 【TOP】レースゲーム関連(おすすめ名作・評価ランキン)のご紹介
- TOP【おすすめスポーツゲーム】のご紹介~MLB,NBA,NFL,FIFAなど~
- 【TOP】パズルゲームのご紹介
- 【ゲームランキング】世界・国内で最も売れたゲームランキングのご紹介
- 名作ゲームのご紹介│まとめ│家庭用ゲーム・PC・アーケードなど
- 【機種別ゲームTOP】PC・家庭用・アーケードゲーム・周辺機器のご紹介
- ジャンル別ゲームタイトルのご紹介│まとめ│
- 【ゲームTOP】ゲーム関連ページのご紹介
- 【書籍・雑誌TOP】書籍・雑誌サイトマップ関連ページのご紹介
- 【ホビーTOP】ホビーサイトマップ関連ページのご紹介
「シューティングゲームの作り方/自作:自機のグラフィック設定」のご紹介
「シューティングゲームの作り方/自作」関連サイトマップのご紹介
「シューティングゲームの作り方/自作」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
グラフィックの初期化
次はグラフィックの初期化です。Direct3Dを使うとなると、どうしてもある程度は複雑な初期化処理が必要になってしまいます。とはいえ、こういった初期化処理はいろいろなアプリケーションに共通するものなので、一度プログラムを書いてしまえば、その後はコピーして使い回すことができます。
Direct3Dでは「デバイスロスト」の復帰させる処理が必要
また、Direct3Dでは画面モードや解像度を切り替えた時などに「デバイスロスト」が起こります。このときレンダリングや行列の設定が失われてしまうため、設定を復帰させる処理が必要です。
設定を復帰させる行列には、ビュー行列や射影行列などがあります。ビュー行列は3D空間内の座標系(ワールド座標系)を視点から見た座標系(ビュー座標系)に変換します。射影行列はビュー座標系を画面上の座標系に変換します。
3Dグラフィックを2DSTGの画面に描画するには
3Dグラフィックを利用して2Dシューティングゲームの画面を描画するには、例えば「図:4-5」のように視点を設定します。ここでは左手座標系と平行投影を使用し、視点はY軸正方向から原点を見る方向にしています。自機などの3Dモデルは、X軸正方向が右、Y軸正方向が上、Z軸正方向が前となるようにデザインします。
▼「図:4-5視点の設定」
▼左手座標系とは
なお、左手座標系というのは、左手の親指・人さし指中指がそれぞれ90度の角度をなすように開いたとき、親指がX軸、人さし指がY軸、中指がZ軸となるような座標系です。右手座標系では、逆に右手の親指・人さし指中指を開いたときの方向に座標軸を取ります。
3Dモデルを照らす光源の設定
また、3Dモデルを照らす光源の設定も必要です。いちばん簡単な例としては、斜め上方向から照らす平行光源を1個設定する方法があります。
3Dモデルは少なくとも1個は光源を設定しておく
3Dモデルに陰影をつけて表示する場合には、少なくとも1個は光源を設定しておく必要があります。
グラフィックの初期化を行うプログラム
「プログラム:4-4」は、グラフィックの初期化を行うプログラムです。このOnResetDevice関数はゲームクラス(CGame)の関数で、Direct3Dデバイスがリセットされた時に、デバイスの状態を復帰するために呼び出されます。
▼「プログラム:4-4」グラフィックの初期化(Main.cpp)
//デバイスの状態を復帰させる voidCShtGame::OnResetDevice() { LPDIRECT3DDEVICE9device=Graphics->GetDevice(); //アルファブレンディングの設定 device->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE); device->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA); device->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA); //レンダリングの設定 //ライティングやZバッファに関する設定を行う device->SetRenderState(D3DRS_DITHERENABLE,FALSE); device->SetRenderState(D3DRS_SPECULARENABLE,FALSE); device->SetRenderState(D3DRS_CULLMODE,D3DCULL_CCW); device->SetRenderState(D3DRS_LIGHTING,TRUE); device->SetRenderState(D3DRS_ZENABLE,TRUE); device->SetRenderState(D3DRS_AMBIENT,0x006F6F6F); device->SetRenderState(D3DRS_ALPHAREF,(DWORD)0x00000001); device->SetRenderState(D3DRS_ALPHATESTENABLE,TRUE); device->SetRenderState(D3DRS_ALPHAFUNC,D3DCMP_GREATEREQUAL); //テクスチャ処理方法の設定: device->SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_MODULATE); device->SetTextureStageState(0,D3DTSS_COLORARG1,D3DTA_TEXTURE); device->SetTextureStageState(0,D3DTSS_COLORARG2,D3DTA_DIFFUSE); device->SetTextureStageState(0,D3DTSS_ALPHAOP,D3DTOP_MODULATE); device->SetTextureStageState(0,D3DTSS_ALPHAARG1,D3DTA_TEXTURE); device->SetTextureStageState(0,D3DTSS_ALPHAARG2,D3DTA_DIFFUSE); //ワールド行列 D3DXMATRIXmat_world; D3DXMatrixIdentity(&mat_world); device->SetTransform(D3DTS_WORLD,&mat_world); //ビュー行列 D3DXMATRIXmat_view; D3DXVECTOR3vec_from=D3DXVECTOR3(0,100,0); D3DXVECTOR3vec_lookat=D3DXVECTOR3(0,0,0); D3DXVECTOR3vec_up=D3DXVECTOR3(0,0,1); D3DXMatrixLookAtLH(&mat_view,&vec_from,&vec_lookat,&vec_up); device->SetTransform(D3DTS_VIEW,&mat_view); //射影行列 D3DXMATRIXmat_proj; D3DXMatrixOrthoLH(&mat_proj,100,100,1,1000); device->SetTransform(D3DTS_PROJECTION,&mat_proj); //ライティング Graphics->SetLight( 0,D3DLIGHT_DIRECTIONAL,-1.0f,1.0f,1.0f,1000); }
「シューティングゲームの作り方/自作」関連サイトマップのご紹介
「シューティングゲームの作り方/自作」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
「シューティングゲームの作り方/自作」関連ページのご紹介
「シューティングゲームの作り方/自作」関連ページをご紹介します。
【STG】シューティングゲーム・サイトマップのご紹介
80年から2000年代のシューティングゲームについてご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
シューティングゲーム・関連ページのご紹介
シューティングゲーム・関連ページをご紹介します。
歴代名作シューティングゲームのご紹介|まとめ
歴代シューティングゲーム全ゲームタイトル一覧のご紹介|まとめ
シューティングゲームの人気シリーズのご紹介
シューティングゲーム関連ページのご紹介|まとめ
シューティングゲーム解説ページのご紹介|まとめ
シューティングゲーム・ハード関連(周辺機器)のご紹介|まとめ
シューティングゲーム雑誌/書籍関連のご紹介|まとめ
【ゲームジャンル別】サイトマップのご紹介
【ゲームジャンル別】サイトマップをご紹介します。
ゲームジャンル別サイトマップ | ||||
ゲームTOP > ランキング│傑作・名作│機種別│ジャンル別 |
||||
ゲームジャンル別TOP >関連ページ│名作│ランキング | ||||
【ジャンル別関連ページ】 アクション系(プラットフォーム│対戦アクション│FPS│TPS│STG│フライト)|AVG│RPG│SLG│レース│スポーツ│パズル│テーブル |
||||
【アクション】プラットフォーム│対戦アクション│FPS│TPS│STG│フライト 【アドベンチャー】AVG│ 【RPG】RPG│SRPG│ARPG 【SLG】SLG│ストラテジー│ターン制SLG│RTS 【レース】レース 【スポーツ系】スポーツ│プロレス 【パズル】 【テーブル】麻雀 |
||||
【ジャンル別】おすすめ評価ランキング アクション│AVG│RPG│SLG│レース│スポーツ│パズル│テーブル |
||||
【歴代傑作・神ゲー(2021~1996年)】99~94点│93~92点│91点│90点 ■【アクション系ゲーム】■ アクション│プラットフォーム│対戦アクション│FPS│TPS│フライト│ 【対戦アクション】一覧│98~80点│79~70点 【FPS】まとめ│90点以上│89~86点│85~83点│82~80点 【アドベンチャーゲーム】 ■【RPG系】■ RPG│SRPG│ARPG 【RPG】一覧│傑作(96~90点)│89~85点│84~82点│81~80点│ ■【シミュレーション系ゲーム】■ SLG│ストラテジー│ターン制SLG│RTS│街づくりSLG ■【レース】■ ■【スポーツ系ゲーム】■スポーツ│プロレス ■【パズル】 |
||||
シリーズ・テーマ | ||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
ゲームジャンル別・関連ページのご紹介
ゲームジャンル別・関連ページをご紹介します。
【TPS名作・傑作・まとめ】TPS傑作・名作・全ゲームタイトルのご紹介│まとめ│~トゥームレイダー│バイオハザード│アンチャーテッドなど~
【格ゲー・名作】アーケード・家庭用・格闘ゲームのご紹介~名作(173 本)・全タイトル(1462本)のご紹介
【名作STG】シューティングゲームのご紹介
【AVG】アドベンチャーゲームのご紹介│まとめ│
【名作RPG】RPGのご紹介│まとめ│
【TOP:SLG】おすすめ名作シミュレーションゲームのご紹介
【TOP】レースゲーム関連(おすすめ名作・評価ランキン)のご紹介
TOP【おすすめスポーツゲーム】のご紹介~MLB,NBA,NFL,FIFAなど~
【TOP】パズルゲームのご紹介
ゲームTOPサイトマップ
ゲームTOPのサイトマップをご紹介します。
【ゲームTOP】サイトマップ | ||||
ゲームTOP > ランキング│傑作・名作│機種別│ジャンル別 | ||||
■ランキングTOP > ハード│ソフト(売上(世界│国内)│海外評価) ■傑作・名作ゲームTOP > ■ゲーム機種別TOP > 据置│携帯│AC│PC│周辺機器 ■ジャンル別TOP > アクション系(プラットフォーム│対戦アクション│FPS│TPS│STG│フライト)|AVG│RPG│SLG│レース│スポーツ│パズル│テーブル |
||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
ゲーム関連ページのご紹介
ゲーム関連ページをご紹介します。
【ゲームランキング】世界・国内で最も売れたゲームランキングのご紹介
名作ゲームのご紹介│まとめ│家庭用ゲーム・PC・アーケードなど
【機種別ゲームTOP】PC・家庭用・アーケードゲーム・周辺機器のご紹介
ジャンル別ゲームタイトルのご紹介│まとめ│
コペンギン・サイトマップ
コペンギンのサイトマップをご紹介します。
【コペンギンTOP】サイトマップ | ||||
コペンギンTOP > ゲーム│ホビー│書籍・マンガ│ | ||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
懐かしの名作から最新作までの豊富な品揃え!通販ショップの駿河屋
コペンギンサイトマップ関連ページのご紹介
コペンギン関連ページをご紹介します。