トップページgamedev
1001コメント327KB

【初心者】スレを立てる前にココで質問を【Part11】

■ このスレッドは過去ログ倉庫に格納されています
0001スレ立て挑戦2006/01/20(金) 13:16:04ID:AUyOArlH
疑問に思うことがあれば、スレを立てずに、まずはココで質問。
スレッドを立てる前にはローカルルールを読みましょう。
http://pc8.2ch.net/gamedev/

>>980 を踏んだ人は次スレ立てをお願いします。

その他は>>2-10ぐらい
0779名前は開発中のものです。2006/04/28(金) 14:27:10ID:MQA2qiro
>>778
説明不十分ですみません。詳しく書きなおします。

英語版のRPGツクールXPを、英語から日本語に翻訳しようと思ったのですが
ツクールで主人公の名前などを、全角文字を入力してもゲーム上で反映されなかったので
英語版リソースに日本語版リソースで上書きしたほうが確実だと思い
体験版のexeファイルを開こうと実際に試してみたのですが
「このファイルのリソースは標準的な構造ではありません。
EXE compressorで圧縮されていると思われます」
とでできてしまいファイルが開けなかったのです。
全角文字を入力してもゲーム上で反映される方法があれば、そちらでもよろしいので
ご教授お願いします。

長文失礼しました。
0780名前は開発中のものです。2006/04/28(金) 14:37:15ID:6unSK3oc
何故日本語版ではなく英語版のみ持っているのかを、明確かつ簡潔に述べてください。
0781名前は開発中のものです。2006/04/28(金) 15:04:04ID:xgBKN2My
>>779
ライセンス違反なことは己の中で解決するように。
0782名前は開発中のものです。2006/04/28(金) 15:05:43ID:VLwy57T0
>>779
犯罪者のくせになぜここまで漫然としていられるのかが不思議だ。
0783名前は開発中のものです。2006/04/28(金) 16:38:21ID:b4y6vnrI
質問しても、くさされるだけのスレ。
スレ住人達の顔は良質のホルモンでツヤツヤしている。
0784名前は開発中のものです。2006/04/28(金) 16:59:05ID:1i2OD06H
「くさされる」って何?
0785名前は開発中のものです。2006/04/28(金) 17:30:21ID:ZiNV1fl2
>784
くさされるなんて使い方をするかは分からないけど
くさす=馬鹿にするみたいな意味?
じゃないか
0786名前は開発中のものです。2006/04/28(金) 17:30:56ID:/arnLTEN
国語辞書で「くさ・す」をおひき。
777=779には腐される理由があり、783は的外れというか。
0787名前は開発中のものです。2006/04/28(金) 17:57:58ID:SMAy23IK
PSのCDのポリゴンデータを変換して取り出せるソフトないですか?
メタセコのインポートでも読めなかった。
FF7あたりのやつでいいんだけど。
0788名前は開発中のものです。2006/04/28(金) 18:02:06ID:1i2OD06H
>>785
>>786
d

>>787
氏ね
0789名前は開発中のものです。2006/04/28(金) 20:23:47ID:S8/haLaG
>>762貴様のせいで…
0790名前は開発中のものです。2006/04/29(土) 00:28:58ID:oxYKn82a
>>787
お探しの機能を持つソフトウェアはプレイステーションの中に入ってるよ
0791名前は開発中のものです。2006/04/29(土) 15:18:55ID:OUMGuabK
>>790
もまい超頭いいな!!!!!1!11
0792名前は開発中のものです。2006/04/29(土) 15:25:19ID:SwKOv77A
>>787
FF7の物故抜くのなら、どこかのサイトにあったような気が
0793名前は開発中のものです。2006/04/30(日) 01:29:38ID:1OXZnrAx
シミュレーションRPGを作りたいのですが
何かいい製作ツールありませんか?
0794名前は開発中のものです。2006/04/30(日) 01:34:23ID:3ACHGs2D
>>793
http://www.enterbrain.co.jp/digifami/products/srpg95v/index.html
0795名前は開発中のものです。2006/04/30(日) 06:23:05ID:dBT45lsz
知識ゼロの初心者を手取り足取りサポートしてくれるスレってありますか?
ほんとにほんとに何の知識もありませんorz
eMbetted Visual C++ 3.0っていうのを持っています。
カードゲームとか作ってみたいのです…
0796名前は開発中のものです。2006/04/30(日) 06:30:41ID:az6nWba+
>>795
匿名掲示板という場では無理のある要求だと思うよ
直接会って相談できる友人に頼むか、1から10まで書いてある書籍を
探すとかしたほうがいい
0797名前は開発中のものです。2006/04/30(日) 07:55:43ID:E4L7AGrk
何処で手に入れたかは知らんが、eMbettedは組み込み用だったような・・・
0798名前は開発中のものです。2006/04/30(日) 08:32:14ID:06GadlVH
>795
手取り足取りする人がいても、いきなりカードゲームは無理。
本当の初心者ならyuukinovelとかlivemakerあたりのノベルゲームツールを使って
7並べあたりを目指すことから始めたらどうだ。
それが出来たら初めてC+とか使ったらいい。
0799名前は開発中のものです。2006/04/30(日) 16:56:14ID:1Xzjbt95
>>795です。
皆さんコメントありがとうございます。
本当の初心者なので、そのノベルゲームツール、
とりあえず使ってみたいと思います。
がんがります(`・ω・´)
0800名前は開発中のものです。2006/04/30(日) 19:45:32ID:4NdepqZx
C#でクイズゲームを作っている初心者です。
問題データを暗号化して保存するには、どういう方法があるのでしょうか?
問題データにはテキストデータだけでなく、画像、音楽データも含まれます。
よろしくお願いいたします。
0801名前は開発中のものです。2006/04/30(日) 19:50:39ID:3ACHGs2D
わからない五大理由 

1 読まない

2 調べない

3 試さない

4 理解力が足りない

5 人を利用することしか頭にない
0802名前は開発中のものです。2006/04/30(日) 20:56:50ID:vYyTx8El
>>800
文字と文字の間に「た」を入れて、アイコンのリソースに狸を登録する。
0803名前は開発中のものです。2006/04/30(日) 21:06:28ID:s90fs1ak
携帯アプリ開発をしているのですが、自分で開発したアプリをダウンロードしようとしたら
「ソフトに誤りがあります」とエラーが出てしまいます。
自鯖を立ててIPアドレス直打ちなのですが、ドメイン取らないとダメでしょうか?
環境はwindows/jsedk5.0/DoJa4.1/eclipse3.1です。
0804名前は開発中のものです。2006/04/30(日) 21:34:29ID:yqrPDFei
>>800
xorしておけば十分
08058002006/04/30(日) 22:23:41ID:4NdepqZx
>>804
Xorですか。暗号化は簡単にみられなければ良いので、それで良いですね。
できれば、ファイルを一つにまとめたいのですが、どうすればいいのでしょう。
圧縮するってのも考えたけど、解凍しちゃったら結局バラバラになっちゃうし。
まとめる方法が見当つきません。。。
0806名前は開発中のものです。2006/04/30(日) 22:26:06ID:XD2yBUq5
普通にくっつければ ?
データ長と位置を入れて。
0807名前は開発中のものです。2006/04/30(日) 23:06:11ID:YhgbbQqO
Windowsでフォントの画像を用意できない場合に自前でテクスチャに書くみたいな
ことってできますか?あればサイトなど教えていただきたいです
0808名前は開発中のものです。2006/04/30(日) 23:39:55ID:4KoDagdN
それだけでは TextOut なり DrawText なりを使えば?
ということになるのですが。
0809名前は開発中のものです。2006/04/30(日) 23:48:55ID:6DOnk9kX
自前でテクスチャに書くでおk
 
0810名前は開発中のものです。2006/05/01(月) 00:10:27ID:Q1Aa7Ocw
>>805

---以下ヘッダー-------------
1個目のファイルの位置、1個目のファイルの長さ、
2個目のファイルの位置、2個目のファイルの長さ、
3個目のファイルの位置、3個目のファイルの長さ、
4個目のファイルの位置、4個目のファイルの長さ、


---以下ファイルの中身---------------------
1個目のファイル、2個目のファイル、3個目のファイル、4個目のファイル


という風にストリームに書き込んだり、読み込んだりすればいい
0811名前は開発中のものです。2006/05/01(月) 02:15:24ID:QLkZ/rkB
>>803
俺がやってた503iの頃は数字で始まるドメインは使用不可だった。今は知らん。
あと実機はJAMファイルの記述チェックが厳密になってることが多いので気を付けてみて。

ぐぐってみたらここが引っかかった
ttp://omori.info/java/java82.htm
08128032006/05/01(月) 02:33:11ID:1a2Rap4A
>>811
フリーのホームページにアカウント取ってそこに置いてみたら動きました。
やっぱりIPアドレス直打ちはダメみたいですね。
参考のURLも熟読してみます。レスありがとうございました。
0813名前は開発中のものです。2006/05/01(月) 21:56:57ID:D5IPC6tZ
中古のパソコンでOSがWindows98

ゲーム作りたいのですがオススメの本教えて下さい。
パソコン自体古いので古い本でもいいので教えて下さい。
0814名前は開発中のものです。2006/05/01(月) 22:04:42ID:y8nmvKt0
>>813
DirectX9関係かねぇ。Win98でも動くはずだし、動作速度を稼げると思う。
0815名前は開発中のものです。2006/05/02(火) 01:46:49ID:KWI1NHj1
空爆ってテーマでゲームを作ろうと思うんですけど、
遊び手としてどのようなゲームがいいと思いますか?
よろしければ意見ください

現在考えてるのが、
見下ろし方2Dの縦スクロールの空爆ゲームって事くらいです
0816名前は開発中のものです。2006/05/02(火) 09:39:48ID:6eFM9Rns
バンゲリングベイを連想したのは俺だけだろうか?
0817名前は開発中のものです。2006/05/02(火) 10:35:54ID:qrTY+y6h
上限のある予算や人員をどう配分すれば
敵に効率よく損害を与えられるかというSLG
0818名前は開発中のものです。2006/05/02(火) 13:08:44ID:cSA2yO9a
米軍は空爆機でどれだけ少ない弾で効率よく死者を増やせるかって研究をしていた。
焼夷弾を落とすと人が逃げるので逃げ道を塞ぐように周囲から落とす。
火災の範囲が広がっていき、逃げ場が無くなった者が焼け死んでいく。

最大の成功例は関東大空襲だ。
0819名前は開発中のものです。2006/05/02(火) 18:35:18ID:iEbWKpKS
ゲーム作成は始めての初心者です。
オブジェクト指向でFPS系のゲーム作成に取り組んでおります。

弾クラスというものつくったのですが、
弾クラスは誰に持たせるのが理想的でしょうか?
キャラに持たせる?
キャラと並列して普通のオブジェクトと同じように扱う?
0820名前は開発中のものです。2006/05/02(火) 18:36:49ID:TuiYeVVw
勝手にしろ。
0821名前は開発中のものです。2006/05/02(火) 18:44:40ID:iY6vjbw7
2Dゲーを作るとき、例えばシューティングで、
敵と自弾が接触するのを感知するアルゴリズムってどうやってる?

typedef struct {
int x;
int y;
bool valid;
} BULLET;

static BULLET blt[256];

とかいう構造体の配列でも作ってforかなんかで一つ一つやっていくの?
効率が悪そうだと思うんで、他に良い方法がないかと質問でーす
0822名前は開発中のものです。2006/05/02(火) 18:46:40ID:TuiYeVVw
思うんじゃなくて、検証してから考えろ。
0823名前は開発中のものです。2006/05/02(火) 19:40:29ID:TJd9enEi
>>819
キャラに持たせるとキャラが消えたときに弾も消えることになりませんか?
0824名前は開発中のものです。2006/05/02(火) 19:54:21ID:6mq0ONsl
>>819
普通はキャラと並列して普通のオブジェクトと同じように扱う。

>>821
領域を分割して領域毎に当たり判定を行えば、処理は軽くなる。
まあ、処理としてはえらく面倒臭いんで、必要になるまでは、
わざわざ実装する必要はないけどな。どうせコンピュータは、
単純作業をする場合は、キャッシュとかの都合もあって、
えらく処理が早いから。
0825名前は開発中のものです。2006/05/02(火) 19:57:26ID:iEbWKpKS
そうですね。
キャラが数分間も残るような弾あるいは爆弾のようなものを設置すると、
キャラが死んだ後に残っているとちょっとおかしな感じになりますね。
やはり、場面に持たせるが最善なのかな・・。
0826名前は開発中のものです。2006/05/02(火) 22:30:04ID:tqGyiwGI
>>818
ついたばかりの洋服のシミを広がらないように落とす手法に似てるな
08278212006/05/02(火) 23:42:31ID:iUpf0IBZ
>>822
確かにそうですな
今度からは検証してもそれでも分からなかったら質問するようにします

>>824
えらいイメージが鮮明に浮かんできたので、必要になれば使ってみようと思う


ありがとう
0828名前は開発中のものです。2006/05/03(水) 19:02:43ID:aZwKhaLB
マップチップを使用して描画したいのでループ文の中でBltFastを複数回呼び出したところ
実行速度がかなり下がってしまいました。
画面は640*480でマップチップは32*32です。
640*480の画像をBltFast一回で描画した時は60Fpsくらい出るのですが
BltFastを20*15回使用して描画を行うと30Fps未満しか出なくなってしまいます。

マップチップを使用して60Fps出す方法はありますか?
0829名前は開発中のものです。2006/05/03(水) 19:23:16ID:kPl8PNAI
もう気付いてるかも知れないけど、先にマップを640*480の画像に一回描画して
それを描画すれば速くなると思う。
つか、Pen2時代のマシンでも使ってんの?
0830名前は開発中のものです。2006/05/03(水) 20:46:35ID:ieaMp6WS
>>828
その程度の分割でパフォーマンスが落ちるとは思えないな
描画する矩形の指定方法が間違って大量の重ね描きが発生してない?

>>829
BltFastは描画元も描画先も原則VRAMから確保してると思う
0831名前は開発中のものです。2006/05/03(水) 21:09:05ID:kPl8PNAI
>>830
いや、実は俺が知りあいの家のマシン(Pen2 400MHz VRAM4M)
で同じ現象が出た事がある。
DirectDrawは大きいの一枚描画する方が速いっぽい。
って当時知り合いのプロに聞いたら、当たり前だろってキレられたw
まあマシンが今のだったらプログラムがおかしいんだろうけど
0832名前は開発中のものです。2006/05/03(水) 23:09:19ID:c1tIgmwj
Cでgotoが使えるの今まで知りませんでした><
0833名前は開発中のものです。2006/05/03(水) 23:10:28ID:aF1lzHis
嘘つき!
goto 20
で、20行目に飛ばなかったお!
0834名前は開発中のものです。2006/05/03(水) 23:31:40ID:XfZno1BQ
registerとビット・フィールドはCの華。
0835名前は開発中のものです。2006/05/03(水) 23:35:06ID:ebZHpNS+
void main()
{
puts("ぬるぽ");
goto orz;
puts("ガッ");
orz:
}
0836名前は開発中のものです。2006/05/04(木) 00:58:07ID:5HtHQvqk
>>829,830
レスありがとうございます。
829の方法で試したら60Fps出るようになりました。

使ってるマシンはPen4 2GHz VRAM64Mです。
やっぱりプログラムがどこかおかしいのかも
0837名前は開発中のものです。2006/05/04(木) 09:26:36ID:CKzC6pxW
ループのトコだけ晒せばいいのに。
08388292006/05/04(木) 09:32:45ID:TpHOKb3S
>>836
それはプログラムがおかしいw
タイマー精度が低いままとか、グラボのドライバが古いとかいろいろありそうだけど
0839名前は開発中のものです。2006/05/04(木) 15:14:01ID:/i6pJ31q
GameProgrammingGems1のサンプルのプロファイラを動かそうとしてるのですが
うまいこと動きません。floatの値で-1.#IND000が入っておかしいんですが
誰か教えて下さい。
0840名前は開発中のものです。2006/05/04(木) 18:33:52ID:rB7Ea65Q
>>828
遅い理由に、出力先(ウィンドウ、デスクトップ)と
出力元(画像)のデバコンドルタイプが違う場合もある。

そもそも、マップチップって事で、ジャンルはRPG系だと思うが、
待機時は、60fpsも更新表示する必要はないと思う。

キャラが足踏みしないなら、更新表示をする必要が無いし、
足踏みしたり、海が点滅する場合でも、その点滅パターン分、
裏ビットマップを作り、それぞれに内容を書き、
4fpsだけローテーション回してで更新表示すればいい。
0841名前は開発中のものです。2006/05/04(木) 21:04:03ID:5V1zkmS5
ブラウザを使ったネットワーク対戦型のゲームを作る場合、言語は何を選ぶのが定番ですか?
出来ればその理由も添えてもらえるととてもありがたいのですがが
0842名前は開発中のものです。2006/05/04(木) 23:23:43ID:vQc58gfN
2Dのゲーム作りたいんですが、
ゲームを初めて作るときは、どの言語が
適してるんですかね?
その言語中心にこれから勉強するつもりです。

本格的な開発ではC++が一般的っぽいけど、
初心者では難しそうなので・・・
0843名前は開発中のものです。2006/05/04(木) 23:25:30ID:7phXQaQZ
FFみたいなRPGが作りたいのですが、
どの言語やればいいの?
CもC++もさっぱりわかりませんでした。
0844名前は開発中のものです。2006/05/04(木) 23:34:18ID:qfjuj7Qj
>>841-843
CでもJavaでも何でもいいから
とにかく一つくらい根気良く勉強してみろ
0845名前は開発中のものです。2006/05/04(木) 23:38:30ID:AdMtmGcc
入門レベルであきらめるようじゃゲーム作るどころじゃないんだモナ>(´∀` )
0846名前は開発中のものです。2006/05/04(木) 23:38:42ID:wMsIOn3E
>>841
ブラウザを使うネトゲなんてありましたっけ?

>>842-843
私はVBから始めました。
VBやDelphi、HSPなどは比較的容易に
見た目の良いものが作れるでしょう。
軽く作るならツクール系や
その他アクション専用のツールなんかがあります。
ベクターなどを探してみてください。
言語やツール以上に重要なのは最後まで泣かない事ですが。
0847名前は開発中のものです。2006/05/04(木) 23:51:52ID:6MSa54Qz
HSPですらOOPっぽくなってきた昨今、皆様いかがお過ごしでしょうか。

>>841
Java。ブラウザだから。他の技術はポシャったか未知数だから。

>>842
気になるならC++。いきなりC++で何が悪い。

>>843
それならHSPだな。もちろんFF3(最高傑作)だよね?あくまで3DならC#かVBで
0848名前は開発中のものです。2006/05/05(金) 00:26:35ID:Y66PV9Xi
俺以外にも書き込みがあるとは。
このFAQだけどさ、言語自体の難しさは別な気がするな。

まず最初のハードルは、環境の揃えやすさか。
いまは全ての言語において、フリーでIDEまである時代だからな。
ネットの資料読む、ちょっとの根性があれば、どれだって構築できるわな。

次に、Windowsプログラムとして成り立たせるまでの道程ってところか。要するにウィンドウの表示だ。
HSPは面倒なところ隠してくれるから、楽だわな。VB、Delphiも楽だが、ちと特殊気味か。
JavaとC#は、有る意味素直で分かりやすいかもな。C++だってフレームワーク次第だぜ?
Cは…いや良いんだよ。根本から理解できるなんて素晴らしい。WinAPIはCのものさ。

後は画像が表示できれば、一段落ってとこだな。どれも画像読み込んで表示するだけよ。

最後にトムが言いたいのは、この3つのハードル超えれば
後はどれだって同じ様なもんだってことですよ。
0849名前は開発中のものです。2006/05/05(金) 00:29:23ID:CXm2Ra9/
何が言いたいんだかさっぱり分からん。

WinAPIは結局のところDLLをコールしてるだけだから
DLLから関数を呼び出す機能がある言語ならどれでも呼べるし。

うーむ。
GWだからか?
0850名前は開発中のものです。2006/05/05(金) 01:39:30ID:Y66PV9Xi
>>849
ああ、いやそんな事じゃなくて、C用の分かりやすいフレームワークが無いのを茶化してみただけよ。
今時、ほとんどのAPIをラッパ経由で無しに直接呼ぶのは、我らがC使いくらいだろ?
まぁ、どうでも良いけどな。GW厨でーす。

ウィンドウ作るという、初心者の2つ目のハードルを越えるのにさ、
HSPなら何もいらないだろ?一行書くだけだ。VB、Delphiならフォームの仕組みを覚えればOKと。
JavaやC#になると、エントリーまわりを勉強する必要があるかな。まぁそれだけだ。個人的に一番分かりやすい。

で、C++だって、例えばフリーでもATL/WTL辺りを使えば2〜3行で済むわけだ。
あれならメッセージディスパッチ周りも、分かりやすく?隠蔽してくれるしな。

Cはちときついかもなぁという話。まぁ「猫でも〜」辺りを利用するなら、むしろありかもな。

つか気合い入れて書いたが、確かに全然初心者向けの文じゃないかもな。
俺が言いたいのは、有る程度まで頑張ればどれも同じということだけですよ。

これは関係ないが、Win32APIがC用に設計されているのは間違いない。何かで読んだ。
あとATL/WTLがフリー?って人は該当スレにでも。
0851名前は開発中のものです。2006/05/05(金) 01:40:14ID:chUS/YTJ
右も左も分かってないやつは素直にHSPから始めればいいと思う
0852名前は開発中のものです。2006/05/05(金) 01:53:36ID:rokpK4JV
過半数の人がHSPですらゲームを作れずに終わるだろうしな
実際は言語習得よりもゲームを完成させるまでモチベーションを維持する方が遥かに大変だし
とりあえずHSPで自分がゲームを作れそうなのか体験するのは悪くないな
0853名前は開発中のものです。2006/05/05(金) 02:29:30ID:78irVga9
ダレカタスケテ。
いま3Dモデルを使って2Dシューティングを作ってるんだけど、
自機の行動範囲を画面内に制限する方法が分からない・・・。
0854名前は開発中のものです。2006/05/05(金) 02:39:56ID:3iALnt+F
エスパーが来るまで待て。
0855名前は開発中のものです。2006/05/05(金) 03:22:29ID:78irVga9
>>854
いえっさー

とりあえず現状を説明すると、D3DXVec3Unprojectとかで画面枠の4点を3D空間のベクトルに変換して、
自機が移動している平面との交点をD3DXPlaneIntersectLineで求めて、、、てところで止まってる。
こっからなんかやれば出来そうな気がするんだけど・・・・、もう既に間違ってる?
0856名前は開発中のものです。2006/05/05(金) 03:29:48ID:3821pUsR
出来そうってなんだよ。
計算を考えて、その通りにプログラムを組めば良いだけ。
数値が計算と違うなら、デバッガで追えば良い。

PCは計算間違いしないって前提で良いと思うぞ。
0857名前は開発中のものです。2006/05/05(金) 03:35:08ID:78irVga9
その計算方法が浮かばないの・・・orz
0858名前は開発中のものです。2006/05/05(金) 04:05:53ID:Y66PV9Xi
いやはや、必死に色々考えちまったよ。酔いも醒めちまった。
4平面用意したり、自機平面を一度簡単な座標に変換したりとな!

>>855
まず自機の3D座標を普通に2D座標へトランスフォームする。
で、その2D座標が画面からはみ出ていないか確かめる。はみ出てなければ、3D座標をそのまま使う。

もし、はみ出ていたら画面に収まる様に2D座標で簡単にクリップし、そのクリップした2D座標をUnproject。
視点とUnprojectした座標からレイを求め、それと自機移動平面との交点を求める。

で、よくね?
0859名前は開発中のものです。2006/05/05(金) 05:21:29ID:eHSDOIQ9
自機の位置をワールド座標としたとき、ビュー変換・射影変換を
掛けた結果、x,yが-1〜1の範囲を超えたら画面外

…たぶん
0860ピョートル筒井2006/05/05(金) 11:12:57ID:MkqPbGrB
パースがつかなくてもいいんなら正射影にすると楽ですよ。
08618532006/05/05(金) 16:57:43ID:78irVga9
>>858
なんか合ってそうな感じなのでさっそくやってみた。・・・けどなんか画面端で自機が刺さって戻らなくなることがある(汗
下みたいなコード書いたんだけど、こういうことだよね?vecNewPosは今フレームの自機の座標です。

D3DXPLANE Plane;
{
    // 自機移動平面作成
}

// 画面内かどうか調べて、画面外なら修正を行う
D3DXVECTOR3 vecViewed;      // ビュー変換後の座標が入る(特に意味はない)
eViewPlaneNo ePlaneNo;        // 視錐台カリングで引っかかった平面No
if( ( ePlaneNo = m_pCamera->FOVCheck( &vecNewPos, 0, &vecViewed ) ) != 0 )
{
    D3DXVec3Project( &vecScr, &vecNewPos, &Viewport, &matProj, &matView, &matWorld );
    if( vecScr.x <= 0 ) vecScr.x = 0;
    if( vecScr.y <= 0 ) vecScr.y = 0;
    if( vecScr.x >= Viewport.Width ) vecScr.x = Viewport.Width;
    if( vecScr.y >= Viewport.Height) vecScr.y = Viewport.Height;
    D3DXVec3Unproject( &vecRay, &vecScr, &Viewport, &matProj, &matView, &matWorld );
    D3DXPlaneIntersectLine( &vecCrossPoint, &Plane, &vecEyePos, &vecRay );
    vecNewPos = vecCrossPoint;

    // 自機の位置を修正
    m_pObj->Position( objn_ziki, &vecNewPos );
}
08628532006/05/05(金) 17:03:02ID:78irVga9
関数の説明がありませんでした。
FOVCheck()は座標が視錐台の中か外かを判別する関数です。視錐台の外の場合0以外が返る。
m_pObj->Position( objn_ziki, &vecNewPos ); は自機の座標をvecNewPosにするという意味です。
0863名前は開発中のものです。2006/05/05(金) 23:49:16ID:liWB1m7u
刺さったときにデバッガで止めてみろとしか言えんぞ。
FOVCheckの判定と、
    if( vecScr.x <= 0 ) vecScr.x = 0;
    if( vecScr.y <= 0 ) vecScr.y = 0;
    if( vecScr.x >= Viewport.Width ) vecScr.x = Viewport.Width;
    if( vecScr.y >= Viewport.Height) vecScr.y = Viewport.Height;
の辺りが矛盾した結果を返しそうな気がするが。
…長方形では正しくても、台形では間違ってそうな感じ。
0864名前は開発中のものです。2006/05/06(土) 00:18:49ID:7fCb94KP
ベクターに作品登録するときの審査基準ってどんな程度ですか?
単にウィルスチェックするだけなのか、中の人がプレイしてチェックするのか。
グロ描写とか思想的なもので弾かれることあるの?
0865名前は開発中のものです。2006/05/06(土) 00:39:11ID:/ugJQdnB
>>863
普通に俺のミスでした。orz
丸め誤差?みたいな変な値が原因だった。毎フレームすこーしづつ値が足されて自機が飛び出してた。
よく分からないので毎回自機の位置を新しく設定するようにしたら直った。

結果、上手く画面内に制限された。んだけど、なんか下を押し続けたら自機が画面中央から外側にじりじり動いていくw
もうちょっといろいろ見てみます。
0866865=8532006/05/06(土) 00:40:12ID:/ugJQdnB
ID変わってた。
0867名前は開発中のものです。2006/05/06(土) 01:19:35ID:I4+y9Gmw
>>864
何でも載る
0868名前は開発中のものです。2006/05/06(土) 15:02:58ID:HqeI6igM
3DSTGを制作していて質問があります。
自機位置を頂点とし、前方向に底面がある四角錐のロックオン範囲を作りたいと考えています。
標的の座標がこの範囲内に存在するかどうかでロックオンの真偽を判定します。

最初は境界ボックスで大まかに検知し、標的の存在する奥行きの距離によって範囲面の端を削り、
その内側に標的あるかどうか調べることで四角錐と点との衝突検知ができるのでは、と考えました。
自機の前方に境界ボックスをつくり、標的を検知することもできました。

しかし、自機のX軸回転やY軸回転に伴いロックオン範囲も回転させたいのですが、
回転した境界ボックスと点との衝突検知をするためにはどうしたらよいでしょうか。
または他に適した方法などがあれば、ご教授いただけると助かります。よろしくお願いいたします。
0869名前は開発中のものです。2006/05/06(土) 15:23:59ID:6yrDM4gL
自機をローカル座標系からワールド座標系に変換する変換行列の逆行列で、
敵機のワールド座標をローカル座標に変換できる。それで判定。
08708682006/05/06(土) 19:14:48ID:HqeI6igM
http://nels.sakura.ne.jp/upload/img/1484.txt
自機ワールド変換の逆行列を敵機座標にかけあわせてみました。
ロックオン境界ボックスを回転させない状態でも、逆行列をかけると正常に機能しません…
逆行列の作り方が間違っているのでしょうか?
0871名前は開発中のものです。2006/05/06(土) 20:22:06ID:6yrDM4gL
まぁ初心者対応スレなんでざっとソース見てみた。
軽くみただけだし、単体テストしたわけじゃないが、
問題点が多いように見える。
・ローカル座標系に向きを適用前に逆行列を生成している。
・レーダー範囲に向きを適用している。
・レーダー範囲にも位置を適用している。
・レーダー範囲をBOXで判定している。
間違ってたらすまんね。

まずは、頭の中に3D空間をイメージして、
・どういう処理を行うべきか
・今どんな処理を行っているか
をジックリ考えて整理してみるといい。

ゲームなんて結果オーライなんで、正解はないのだが、
@位置と向きでシッカリ変換行列を作成。
A逆行列を生成。
B敵の位置をワールド座標からローカル座標に変換。
C上下成分を奥行き成分で割って、四角錐の内外判定。
自分の場合こんな判定でやってる。
0872名前は開発中のものです。2006/05/06(土) 20:33:47ID:Zy75RLHl
ポトリスとかのマップって
管理と当たり判定はどういうロジックになっているんでしょう?

上級者の方。こうやってるんじゃない?
ってのあったら是非教えてください。
08738682006/05/07(日) 01:17:32ID:1cTXu+88
>>871
おかげさまで無事正常に動作するようになりました。
よく見たら向きより先に位置を適用しているなどの凡ミスもありました。お恥ずかしい…
自機の向きと位置の逆行列をかければ、自機を原点としたローカル座標として操作できるんですね。
あやふやな理解のままでは分かりませんでした。本当にありがとうございます。
0874名前は開発中のものです。2006/05/07(日) 04:27:32ID:Gach+QLA
>>872
ひょっよすると、ポトリスやった事のある上級者とやらが居ないのかも試練。
0875名前は開発中のものです。2006/05/07(日) 10:14:12ID:GThj8jnc
PS2ってグラフィック描画にどれだけメインメモリが割かれてるのでしょうか
昔から「足りないVRAM4MBのはメインから転送する」と言われていたけど
それでは速度とか色々と問題があるとか言われていましたが、
FF12の開発者のインタビューで
「今回はシステムにメモリーを大部分割いてグラフィックは落とした」とあるので、
普通のゲームは、メインメモリもいくつかはグラフィックにも割くのが当たり前のように
思えるのですが
0876名前は開発中のものです。2006/05/07(日) 11:38:08ID:UfUB0cTo
ポトリスなんてやった事無い
0877名前は開発中のものです。2006/05/07(日) 12:33:55ID:WQ2kM25E
当たり判定はポトリスの元になっている25年前のゲームから変わらんよ。
PER PIXELで。
0878名前は開発中のものです。2006/05/07(日) 15:01:11ID:XTnQTqa7
授業でまだ自由落下ぐらいしか教わってない高坊にズバッと教えてくれないか。

空気抵抗を伴った落下運動って、

speed += acc - speed * k;
y += speed;
acc……重力加速度 k……比例定数

で、おk?
■ このスレッドは過去ログ倉庫に格納されています