| [PR] | 2026.02.06 02:53 |
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
| category : |
カレンダー
プロフィール
最新記事
(10/04)
(10/15)
(06/17)
(01/09)
(12/14) カテゴリー
|
XOPS関連サイト「みかん箱」の運営や、OpenXOPSの開発などを行う[-_-;](みかん)のブログ。近状報告や独り言などを書きます。
| |||||||||||||||||||
PR
学校が本格的に始まってしまい、深刻な作業効率ダウンに陥っています。
っが、奇跡的に明るいニュースが多いです。 ▲ メニューのスクロールバーと後ろの3D表示 ・人+人の当たり判定を修正 ・人+マップの当たり判定を仮修正 ・ランダムパスの書き忘れに気が付き追加 ・チーム番号変更に対応 ・弾の発射角度を改善 ・GLOCK18のフルオート・セミオート切り替え化 ・M1(ショットガン)対応 ・グレネードの物理計算と爆風描画を試作 ・人の倒れ方を改善 ・オープニング画面を仮実装 ・メニュー画面の後ろの3D表示を仮実装 ・メニューのスクロールバーが完成 自分でも驚く量の作業です。
主にやった作業(≒完成が見えてきた項目)は、
・ジャンプの作り直し ・人+マップの当たり判定の作り直し(4回目) ・ゾンビ系の処理の実装 です。 ジャンプ処理を作り直していると、人+マップの当たり判定の作り直しにも 深い関係がある事が分かり、器用でもないのに2つをほぼ同時進行で進めていました。 すると横着の罰があたったのか、当たり判定を作ったライブラリがクラッシュ(?)して、 人+マップの当たり判定が一度全滅しました。 何を言ってるのか分からないと思いますが、つまり 『人+マップの当たり判定を一度完全に壊してしまい、使い物にならなくなって かなり焦った。』 ということです。 逆を言えば、当たり判定とジャンプ処理は(良い意味で)なかなかの物が出来た ・・っと言いたいのですが、実は深刻な問題が発生してしまいました。 マップを作っている方なら分かると思いますが、階段などを表現するときに ブロックを三角形にすることが多いと思います。 その三角形のブロックに対して当たり判定が効かないという、考えられないほどの 欠陥プログラムになりました。 BUILDINGを始め階段が登場するマップで、階段が登れないという最悪な状態ですorz 正直要らない物の完成です。 バックアップは無いけど壊れる前に戻したい。
学校が休みで作業が進めやすい今のうちに、いかに完成度を上げられるか
という勝負に入ってます。 作業は確実に進んでいます・・・そう思いたい。 メニュー画面に、XOPS全ミッションを表示させて選択可能にしました。 まだ全ミッションが正常に動くわけではありませんが、デバックはしやすいです。 右のスクロールバーは思ったよりも面倒なので後回しです。 当たり前ですが、追加ミッション(addon)なんてのは一番最後です。 イベント系の処理を全て実装しました。 小物に当たり判定を与えていないため「小物破壊待ち」と、ちょっと面倒な 「チーム番号変更」以外はすべてのイベント駆動ができました。 良い意味でのそれなりの完成度なので、後で作り直す手間は無いです。
なんか最近暖かいと思ったら、既に4月なんですね。
気が付くのに丸1日掛りました (笑 ▲ やっと所持武器の表示に成功(一応回っている) 所持武器の表示に成功しました。 リアルタイム描画で、所持している武器としてグルグルと回った武器を表示するには 今回はビューポート(マルチビューレタリング)を利用します。 >ビューポートとクリッピング これは、モデリングツール(metasequoiaなど)やレースゲームのバックミラー表示 などに使われている技術です・・多分。 1つのウインドウに複数の3D画面を描画出来る訳で。 (厳密には 3D描画領域を設定できる) ただ、倍 は大げさですが、そこそこ処理が重いんですよね。 XOPSがビューポートを使って描画しているかは正直微妙です。
▲ メニュー画面っぽい何か 複数のミッションが読み込めるように、メニュー画面っぽい物を作ってみました。 「複数のミッション」といっても動作が確認できた標準ミッションだけです。 メニュー画面というのは、物自体は非常に原始的で3D技術はまったく使いません。 普通の2Dゲームのメニューと同じ考え方が通用します。 (本物のXOPSもメニュー自体は単純です。裏の人が歩くシーンは3D計算ですが。) 単純にマウス座標を取得して、文字の上にマウスが乗っている状態でクリックしたら そのミッションを読み込む みたいな事です。 マウスの取得は、今回はWindowsAPIではなくDirectX API(Direct input)を使ってます。
※過去のブログ記事は 原則として編集・修正していません。 | ||||||||||||||||||||
△ TOP |