忍者ブログ
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
プロフィール
HN:
[-_-;] (みかん)
性別:
男性
趣味:
プログラミング、XOPS
自己紹介:
中部地方在住です。
最新コメント
[11/30 NONAME]
[11/22 NONAME]
[09/24 NONAME]
[06/10 NONAME]
[01/29 NONAME]
XOPS関連サイト「みかん箱」の運営や、OpenXOPSの開発などを行う[-_-;](みかん)のブログ。近状報告や独り言などを書きます。
Prev Month123456789101112131415161718192021222324252627282930Next Month
OpenXOPSの当たり判定を仕上げる
ブログの更新をさぼってしまい、すいませんでした。
そして、前々回『関東はそんなに寒くないぜ★』と言ったら、急に寒くなりやがって。


10月15日の時点で『当たり判定は やる気がない』と言ってしまいましたが、
色々考えた結果、当たり判定にも手を付けることにしました。
むしろ、当たり判定以外は概ね良い感じに仕上がっている中で、当たり判定
だけ雑な作りと言うのもどうなのかと思ったからです。

ただ、このブログでも自作偽XOPS(fxops)時代から散々書いていた通り、当たり
判定は非常に難しく悩ましい問題です。
自作偽XOPS時代は、基礎的な知識が全くなく何も分かっていない状況で、参考
文献のソースコードに頼っていたりと、かなり滅茶苦茶なことをしていました。
何年も経った今では当たり判定の実装も慣れてきており、OpenXOPSでは無事に
一発でそれなりのプログラムを書き上げることができました。
ただ、本家XOPSと比べると分かる通り、やはり不満が残る計算です。

これ以上自力で考えるのは現実的ではないと考え、素直に諦めて最終手段です。
 ・・・本家XOPSのプログラム担当 nine-two氏に直接聞く・・・

そりゃ当たり判定に関わらず、nine-two氏に最初から全て聞くのが一番手っ取り
早くて私は楽ですが、ご本人に多大なるご迷惑をお掛けするので、直接質問する
というのは、最後の切札に留めると決めていました。
最終作戦の実行です。 本物を作られたnine-two氏に直接連絡を取って、当たり
判定について聞いてみました。

nine-two氏もお忙しい中、本家XOPSで使用しているアルゴリズムについて、非常
に詳しく教えて頂きました。本当に助かりました。(ありがとうございます。)
ブロックの外側・内側の判定を駆使するのが最大の胆で、移動先がブロックの内側
である場合、移動元から見て面している面に接触したと判定する手法です。
 (詳細な計算方法は、近日中にOpenXOPS公式サイトの「OpenXOPS技術解説
書」に載せます。)
『うわー その手があったか!』 言われてみれば、確かにそれで判定可能です。
そのアルゴリズムを教えて頂いた時、思わず言葉を失ってしまいました。感動した
のと、その計算方法を思い付かなかった自分の未熟さという二重の意味で。
ちなみに、この手法はnine-two氏が独自に考案されたようです。
何て言うか「流石」の一言に尽きます。 やはり足を向けて寝れません。


OpenXOPSとは関係ない別件ですが、久しぶりにXopsAddonCreatorを弄りま
した。 XopsAddonCreatorを利用して頂いている方から、コピーandペースト時
のバグを指摘して頂いたからです。
バグ自体はあっさり直ったのですが、そのバグを1個直すだけでバージョンアップ
するのも もったいない(?)ので、他にも小さな新規機能を付けられないか模索
中です。
category : ソフト・ツール開発 comment [2]
PR
COMMENTS
【本文以外は任意項目です】
SUBJECT(タイトル)
NAME(お名前)
MAIL(メールアドレス)
HOME(サイトURL)
COMMENT(本文)
PASS(削除パスワード)
Secret?(管理者へのみ表示)

※スパム防止のため「Hello!」「website」「ブランド」「みかんの戦闘ブログ」
「http」などの一部キーワードを禁止しています。ご了承ください。

無題 2014.12.13 Sat 22:07 EDIT
流石nine-two様ですね、そしてそれを理解して実際に実装できてしまうミカンさんも相当な技力の持ち主ですね。
あたり判定がまさかそんな風に作られていたとは正直想像外でした、やはり開発エンジンという優しいところで開発している人からしては理解に難を究めますね、なんというか本当に1から開発した事ヤバさとかすごさを感じますね。

多分質問するべき事じゃないと思いますが
XOPS2の開発はどのような進行具合なのかファンとして気になっています、しかし本人にそんな事をきくのは無礼の極みですし、とはいえ2の開発に関係性のないミカンさんに質問の先端を向けるのもどうかとは思いますが……
from 滑って転んで後頭部強打したんだけど大丈夫かな…(._.)
いや、本当にnine-two様々ですよ。
私なんか、本家XOPSを模写しているようなものですからねぇ・・。大したことは無いと思います。
(あなたから)頂いたコメント通りで、1から全部考えて開発されたnine-twoさんの発想と技術力は計りしれません。

XOPS2ですが、nine-twoさんのサイトが更新されたのと同時に、「順調です」とのコメントが。
from MASTER 2014.12.16 Tue 00:37
無題 2014.12.14 Sun 01:50 EDIT
すいません。質問なのですが、F4キー押したときのあれは仕様ですか?
from AM1:49
『うぁ ばっばれたー!』 
・・・というわけでないですが、OpenXOPSデバック(開発)用に付けたまま外し忘れた機能です。
個人的に必要で付けたまま忘れていたので、当然説明書にも記載が無く、言わば隠し機能です。
発見、おめでとうございます (?

一応機能を説明すると、
マウスで視点回転、十字キーでX軸・Z軸移動(視点基準で前後左右ではない)、テンキーの+と-で上下移動です。 左クリックで発砲し、弾は全員に当たります。 プレイヤーに当たりとダメージを受けて、死ぬとゲームオーバーになるので気を付けてください。
なお、通常の移動操作をすると、プレイヤーが動きます。プレイヤーの向きは変えられません。

次期バージョンで外します。発見ありがとうございました。
それまでは、隠し機能としてご堪能ください。
from MASTER 2014.12.16 Tue 00:45

※過去のブログ記事は 原則として編集・修正していません。
 各記事の内容は投稿時のものであり、現在では異なる場合があります。
 最新の情報は、関係する内容について書かれた 最新の記事をご覧ください。

TOP