Windowsゲームプログラミング 質問スレ
at GAMEDEV
1:うゆ ◆vvvK3Fcqdg
08/11/06 21:28:45 lNn2skuQ.net
※回答する人も、質問する人も必ず読んでください
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する香具師 】
・ どんな事で躓いているのか明確にしる。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
2:名前は開発中のものです。
08/11/06 21:30:16 lNn2skuQ.net
/ // \`ー ヾ \ へー-、 `二ー-、
/ / ハ 「 ヽ、 、 \ \へ `ヽゝ
/ ノ / /´ \ \ ヽ ヽ 、 ヽ \\ } }
/イ / / / ,| ヽ ヘ、 ヽ } ヘ l ヽ ト、 \イ ノ
,/ / / / l | l ヽ 、\ }_ェl,,ュ_l_ l ハ l \ `゙ ヽ
/ / / l l l | l ト、\_ヽ´lノ イ `/l _lヘ_l_ ヽヘ \
,/ l / l l l l | ,.k | `ー-ゝソ r _,.= ._ ソyハヽ`Y }ヽ 、 }、
| l l l l l l ヘイ ゝノ ≠" ̄`゙ |l l人 } l l }/丿
| i | トヘゝ ト、 rメ r _二_ 〃〃 |l l lイ / / /
| l l l \j、ゝィ'、 ≠ ̄` 丶 . - =y、 ノj} l l | ∧{ /
ヘ ハ 、l l / /|ハ ′〃 , ´ l ハノ lリ lヘ(
トイl l {八l| ヘゝ く / // / ィ l丿 Y >>1 乙♪
| l l l\| l "、 丶._ / /ィ イ´ノノ
| ヘ ヽ ハルァl ヽヘ、  ̄ / |从/
l ヘY 、ヽ_ル‐-、廴_≧==ェ-、-イ |
∨ヘ ト'/ ‐、: : l`ヽ二トミーニ._二 | __
\ベ/ : : :\: l \ `゙´ ̄~ ̄. :/
`゙/ : : : : : : : l \ \ .,,_.: : : : : /
/´ : : : : : : : : : | ヽ、ヽ ー=: : /`ー--‐、
/ /: : : : : : : : : :l \ / イ `)\: : : }
/゙/: : : : : : : /l: : : : :| ∨ メ、ヘ : :|
/ : : : : : : :): }: : : / /´/ヘハ: :l
‐'´ : : : : : : : : : : l: / l lο: \ : {
: : : : : : : : : : : : l | |:. :. ゙l: `l
\ : : : : : : : : : : : : :{ l l:. :. | : : \
/\ : : : : : : : : : : : : : : :| \ \:. . / : : : : |
3:名前は開発中のものです。
08/11/06 21:45:18 MY0vkdOy.net
>>1-2
4:名前は開発中のものです。
08/11/07 11:26:17 zpZ6H2po.net
自演禁止
5:名前は開発中のものです。
08/11/08 02:44:21 HuLbUvGn.net
簡単なアクションゲームだったら、経験から言って制御文、構造体(自己参照構造体含む。これ重要。)、
グラフィックの表示まで分かれば十分作れると思う。
まあ、本気で勉強すれば半年で、物分りの悪い人でも1年やればできると思うよ。
多分、以下のソースがなにやろうとしてるか分かれば制御文については大丈夫だと思う。
(もちろん実行しないで。2分ぐらいで作ったんでscanf使っててスマソ)
#include<stdio.h>
void main(void)
{
int a,b,i,j
a=1;
b=0;
i=0;
scanf("%d",&j);
while(i<j)
{
switch(i%2)
{
case 0:
a+=b;
printf("%d\n",a);
i++;
break;
case 1:
b+=a;
printf("%d\n",b);
i++;
break;
}
}
}
6:名前は開発中のものです。
08/11/08 02:46:36 HuLbUvGn.net
二次元のマップって普通1次元配列でするよね?
X方向120、Y方向100のマップがあったら
$define MAPX 120
$define MAPY 100
$define MAP_SIZE MAPX*MAPY
int main(void) {
int map[MAP_SIZE];
int x=0,Y=0;
for(i=0;i<MAP_SIZE;i++) map[i]=0;
// もし X:54 Y:33 の位置に1を代入したければ
x=54; y=33;
map[x+(y*MAPX)]=1;
}
でいいんだよね??
2次元使ったほうがいいかいな?
76 名前:名前は開発中のものです。 投稿日:02/08/11 23:35 ID:YyqnVN0I
>>73
サイズが大きかったり可変長だったりすると配列ではなくalloc系で取得する
ことになるだろうし、1次元のほうがいいとおもう。
77 名前:名前は開発中のものです。 投稿日:02/08/12 14:35 ID:???
>>76
callocだと0クリアしてくれるから便利だよな
7:名前は開発中のものです。
08/11/08 02:51:52 HuLbUvGn.net
C言語でアクションゲームが作りたい
スレリンク(gamedev板)
110 名前:名前は開発中のものです。 投稿日:03/05/29 11:44 ID:xadUaM2+
まともだよね
Cがテーマだったりすると厨房は書きこまないのかな
8:名前は開発中のものです。
08/11/08 02:58:07 dxRdOPSU.net
>>6
2次元のデータを1次元配列で管理しようとするのは、
俺みたいな昔の貧乏性のプログラマだけでいい。
斜め移動でも座標計算1回で済むとか、そんな貧乏臭い発想。
コンパイル時にサイズ不定でも、簡単なラッパ作ればいい。
2次元のものは2次元のまま扱った方が、デバッグもしやすい。
9:名前は開発中のものです。
08/11/08 09:53:33 UXTY631e.net
左右がつながってるマップだと境界のこと考えなくて済むしな。
『延々と西に向かってたら、いつのまにか北極に立っていた』
な…、何をいっているのかわからねーと思うが(ry
10:名前は開発中のものです。
08/11/10 07:44:57 qLM/iweq.net
>>8
1次元でも2次元でもバイナリ的には同じじゃん。
ただ表記方法が異なるだけ。
アクセススピードも同じだから、好きな方使えばいい。
11:名前は開発中のものです。
08/11/10 18:09:32 sl4Agbo8.net
記述的に分かりやすいのは多次元にする方だと思う。
多次元のメモリの確保、開放は少しややこしいけど、
ライブラリとして4次元ぐらいまで作っておけば便利。
12:名前は開発中のものです。
08/11/11 07:30:30 Cky45WKB.net
>>8
日本語わかる?
13:名前は開発中のものです。
08/11/11 09:46:35 sZyTNaq5.net
ワカリマセーン、ニホンゴムツカシーネ!
14:名前は開発中のものです。
08/11/11 22:02:10 v37PimrE.net
ブロック崩しを作ろうとしているのですが、
ブロックとの当たり判定でボールがブロックとぶつかった際、本来跳ね返らなければいけないのに
時々跳ね返らず貫通して進んでしまうことが起きてしまいます、貫通弾はまだ書いてないのに……
どうしたらいいのでしょうか
言語は基本C、クラスとか途中で変数宣言とかちょっとだけC++入ってるかも、DxLibを使用しています
肝心の当たり判定の部分のソース
for(int i=0;i<BlockX;i++){
for(int s=0;s<BlockY;s++){
if(BlockFlag[i][s]){
if(ShellX>=LeftEdge+35*i-ShellR && ShellX<=LeftEdge+35*(i+1)+ShellR){ //X範囲の判定
if(ShellY>=UpEdge+20*s-ShellR && ShellY<=UpEdge+20*(s+1)+ShellR){ //Y範囲の判定
BlockFlag[i][s]=0;
ShellVX*=(-1);
ShellVY*=(-1);
}
}
}
}
}
15:名前は開発中のものです。
08/11/11 22:04:00 v37PimrE.net
主な変数説明
・BlockX、BlockY :ブロックがx・y軸に最大いくつ並んでいるか
・BlockFlag[][] :ブロックが存在しているかいないか、0以外で存在
・ShellX、ShellY :弾のx・y座標
・ShellR :弾の半径
・LeftEdge、UpEdge :ブロック崩しの画面の左端、上端の位置
・ShellVX、ShellVY :弾のx・y速度
当たっているのが縦からなのか、横からなのかの判定がどうにもわからなかったので
当たったらx・y速度両方反転するようにしてしまっています
よければその判定方法も教えてください
宜しくお願いします
16:名前は開発中のものです。
08/11/11 22:07:21 z2MnAfhy.net
移動前と移動後の間も含めて接触判定をするだけ
17:名前は開発中のものです。
08/11/11 23:33:50 v37PimrE.net
>>16
移動前と移動後の間も含めて接触判定……って
いまいちピンと来ない、どういうことでしょうか?
18:名前は開発中のものです。
08/11/12 01:01:19 M3s12QpR.net
>>17
ボールとブロックの距離が、
ボールの(1 フレームの)移動距離よりも短いとき、
ボールはブロックに衝突することなくすり抜けしまう。
対処方法として、
ボールの移動前後を結ぶ線分との交差判定を行う
ことが挙げられる。
19:名前は開発中のものです。
08/11/12 06:00:58 xaKS9jsU.net
>>15
> ShellVX*=(-1);
同時に2つのブロックに接触すると元に戻りそうな嫌なコードだ
20:名前は開発中のものです。
08/11/12 10:40:33 kFb9KO8q.net
>>14
>>19でも指摘されてるけど、2つのブロックに同時に触れた場合は
移動方向が元に戻るから貫通するよ。
だから「ShellVY*=(-1);」の後に「break;」を入れれば
とりあえず貫通するバグは無くなる。
でもそもそも判定ロジックが間違ってるので、全部書き直さなきゃダメ。
当たった部分が縦の面か横の面かの判定をしなきゃまともに跳ね返らない。
前フレームの玉の位置と現在の位置を線で結んで、各ブロックの
4つの側面のどこと交差しているかを判定する必要がある。
横面と交差してるならYだけ反転、縦面と交差してるならXだけ
反転させる。
玉のスピードが速いと、複数のブロックと同時交差する場合もある。
その時は一番玉に近いブロックとの判定だけに絞り、玉の位置も
そのブロックに接触する直前のポジションまで移動させる。
21:14
08/11/12 15:58:41 58FrgqUc.net
なるほど、理屈は理解できました
しかしどういうソースを書けばいいのかがまるで思いつかない……
いったいどういしたらいいのでしょうか?
22:名前は開発中のものです。
08/11/13 09:45:19 KTGSzFRw.net
>>21
ベクトルが理解できてないみたいだね。
まずは数学の勉強から始めないと。
線分交差の判定はここを参考にしてみたら?
URLリンク(www5d.biglobe.ne.jp)
23:14
08/11/14 05:07:34 wWFUvlwz.net
>>22
ありがとうございます
しかし読んでみたはいいのですがそれをどう組み込んでいいかがやっぱり思いつきませんでした
なのでがんばって自己流で判定組んでみたら
「○○.exe の 0x0056e0b6 でハンドルされていない例外が発生しました: 0xC0000094: Integer division by zero」
とか出されてしまいました、一体これはどういうことなんでしょうか?
24:14
08/11/14 05:14:12 wWFUvlwz.net
ソース
int ShellAX, ShellAY, ShellXT, ShellYT;
//xが次のエリアに到達するまでの時間
if(ShellVX==0){ //分母が0防止
ShellXT=0;
}else{
if(ShellVX>0){ //右に変化中
ShellXT=(35-(ShellBX%35))/ShellVX;
}else{ //左に変化中
ShellXT=(-1)*(ShellBX%35)/ShellVX;
}
}
//yが次のエリアに到達するまでの時間
if(ShellVY==0){ //分母が0防止
ShellYT=0;
}else{
if(ShellVY>0){ //下に変化中
ShellYT=(20-(ShellBY%20))/ShellVY;
}else{ //上に変化中
ShellYT=(-1)*(ShellBY%35)/ShellVY;
}
}
ShellAX=ShellBX/35;
ShellAY=ShellBY/20;
25:14
08/11/14 05:14:58 wWFUvlwz.net
while(ShellX>LeftEdge&&ShellX<LeftEdge+350&&ShellY>0&&ShellY<20*BlockY){ //ブロックが存在しうる範囲かどうか
if(ShellXT<ShellYT){ //Xのエリアが先に変化
if(ShellVX>0){ //右方向に突入
if(BlockFlag[ShellAX+1][ShellAY]){ //突入した先にブロックが存在
BlockFlag[ShellAX+1][ShellAY]=0;
ShellVX*=(-1);
ShellX=35*(ShellAY+1); //エリア突入時の境界線へ移動
ShellY=ShellBY+(ShellVY/ShellVX)*(35*(ShellAY+1)-ShellBY); //エリア突入時にyが進んだ分だけ増加
break;
}else{ //突入してもなかったよ
ShellAX++; //判定を次のエリアへ移行
ShellXT+=35/ShellVX; //次のエリアへの突入時間加算
}
}else{ //左方向に突入
if(BlockFlag[ShellAX-1][ShellAY]){ //突入した先にブロックが存在
BlockFlag[ShellAX-1][ShellAY]=0;
ShellVX*=(-1);
ShellX=35*ShellAX; //エリア突入時の境界線へ移動
ShellY=ShellBY+(ShellVY/ShellVX)*(35*ShellAX-ShellBX); //エリア突入時にyが進んだ分だけ増加
break;
}else{ //突入してもなかったよ
ShellAX--; //判定を次のエリアへ移行
ShellXT=35/ShellVX; //次のエリアへの突入時間加算
}
}
26:14
08/11/14 05:15:41 wWFUvlwz.net
}else{ //Yのエリアが先に変化
if(ShellVY>0){ //下方向に突入
if(BlockFlag[ShellAX][ShellAY+1]){ //突入した先にブロックが存在
BlockFlag[ShellAX][ShellAY+1]=0;
ShellVY*=(-1);
ShellY=20*(ShellAY+1); //エリア突入時の境界線へ移動
ShellX=ShellBX+(ShellVX/ShellVY)*(20*(ShellAY+1)-ShellBY); //エリア突入時にxが進んだ分だけ増加
break;
}else{ //突入してもなかったよ
ShellAY--; //判定を次のエリアへ移行
ShellYT+=20/ShellVY; //次のエリアへの突入時間加算
}
}else{ //上方向に突入
if(BlockFlag[ShellAX][ShellAY-1]){ //突入した先にブロックが存在
BlockFlag[ShellAX][ShellAY-1]=0;
ShellVY*=(-1);
ShellY=20*ShellAY; //エリア突入時の境界線へ移動
ShellX=ShellBX+(ShellVX/ShellVY)*(20*ShellAY-ShellBY); //エリア突入時にxが進んだ分だけ増加
break;
}else{ //突入してもなかったよ
ShellAY++;
ShellYT+=20/ShellVY;
}
}
}
//抜け出し要素判定
if(ShellAX==ShellX/35||ShellAY==ShellY/20){ //判定エリアが既にボールが来たことになっている場所とおなじなら
break;
}
}
27:名前は開発中のものです。
08/11/14 07:16:14 EfjKu0FE.net
0除算例外
>>25>>26にある除算全てが該当するな
アルゴリズムまでは読んでないのでほかの人に任せた
28:14
08/11/15 03:43:14 NhltAbHO.net
前のほうでやってるのに忘れていました
とりあえず
ShellXT<ShellYT のところを
ShellXT<ShellYT && ShellXT!=0 にしてみたら動いたは動いたのですが
ボールがあらぬ挙動をします
当たっているのに当たった動きをしなかったり、突然わけのわからないところへ移動したり
原因がさっぱりです……
一応上記の判定は、画面を35*20のエリアに分けて、今いるエリアから別のエリアに移動したら、
そこにブロックが有るか無いか判定、という形で組んでみています
(今更ですが、ブロックを35*20でやっているので、ですね)
もしかしたらこのあたり判定でなく、>>20の方法でやらなければダメなのでしょうか
でしたら、よければそのソースを教えていただけませんでしょうか?
29:名前は開発中のものです。
08/11/17 07:17:05 Pi/WdcU7.net
もしかしなくても、お前の方法は完全に間違い。
先にベクトルの勉強しろって。
30:名前は開発中のものです。
08/11/17 08:29:32 4WZ1RBFj.net
線分単位の当たり判定まではいらないにしても
少なくともどちらに跳ね返すかの判定はいるだろう
ボールの速度がブロックの厚みを超えないようにするだけでだいぶ計算量はへるし
31:名前は開発中のものです。
08/11/17 15:27:54 p5mj6MH5.net
>>29
間違ってはいないよ。14の考え方は論理的には合っている。
自分で思いついた方法なら、そのまま突き進むのを俺は薦める。
とりあえず、問題がありそうな点
・XT,YTはintだと精度が足りない(AX,AY以外は全てfloatの方が望ましい)
・「左方向に突入」の部分のShellXT=35/ShellVX;は+=の間違い
・XT,YTが1フレーム分の時間を超えていたらループから抜ける必要がある
32:名前は開発中のものです。
08/11/19 06:25:45 pWNBSaSF.net
合ってねーよバカw
33:名前は開発中のものです。
08/11/20 02:14:48 njtRhxXk.net
なんかわからんけど >>14 と >>19 を見た感じ
これでいんじゃね?
CurShellVX = ShellVX;
CurShellVY = ShellVY;
for(int i=0;i<BlockX;i++){
for(int s=0;s<BlockY;s++){
if(BlockFlag[i][s]){
if(ShellX>=LeftEdge+35*i-ShellR && ShellX<=LeftEdge+35*(i+1)+ShellR){ //X範囲の判定
if(ShellY>=UpEdge+20*s-ShellR && ShellY<=UpEdge+20*(s+1)+ShellR){ //Y範囲の判定
BlockFlag[i][s]=0;
ShellVX = -CurShellVX;
ShellVY = -CurShellVY;
}
}
}
}
}
34:名前は開発中のものです。
08/11/20 07:27:59 ILiqIbsP.net
↑
来た方向にそのまま戻ってくだけじゃねーかよw
反射させろよw
35:名前は開発中のものです。
08/11/20 10:05:54 4yNvzVLI.net
回帰性があるんですね
36:名前は開発中のものです。
08/11/20 17:22:35 rpm+4CxU.net
ゲーム作るならついにD言語のほうがとうとういいよ
37:名前は開発中のものです。
08/11/20 17:55:39 2O47CO/r.net
ついにとうとうDの時代が来たか
38:名前は開発中のものです。
08/12/04 15:02:10 tF31gb+s.net
Vista対応のゲームをつくる場合、
\Program Files以下にsavedataを作るのはまずいのでしょうか?
39:名前は開発中のものです。
08/12/04 15:13:47 f93IhlbP.net
>>38
まずいよ
fopen( )だと NULL が帰ってくるから
40:名前は開発中のものです。
08/12/04 15:15:55 +ofge7Nr.net
まずいと思うよ。書き込めるように対策してたとしても、
プレイする人の環境によって、そのまま保存されたりVirtualStoreディレクトリに
自動的に置き換わったり、警告出たり出なかったりと、動作がまちまちになるからねえ。
41:名前は開発中のものです。
08/12/04 19:26:59 tF31gb+s.net
ありがとうございます。やはりそうでしたか。
savedataどこに作るか悩みますね。。
どこに作るのが一般的なのか調査してきます。
こちらでもアドバイスいただけると幸いです。
42:名前は開発中のものです。
08/12/04 23:28:46 L0NPB3+N.net
マイドキュメントでも良いけど、ユーザーが直接ファイルを参照する必要がないなら
CSIDL_APPDATAのが適切かな。
43:名前は開発中のものです。
08/12/05 09:49:13 tEf/k/KB.net
そうだな。
他のアプリでも使う可能性がある場合はMyDocument、専用ならAppDataだな。
44:41
08/12/05 18:35:25 7X+FAXTm.net
> 42 43
ありがとうございます。やはり結論としてはApp dataに落ち着きそうですね。
45:名前は開発中のものです。
08/12/05 21:38:25 j0PqzKS1.net
中学1年で数学を挫折した馬鹿な僕に教えてください
普通の3D→2Dの座標変換(x、y、z座標を持った物体の画面上の表示場所x、yを求める)
の計算方法は分かるんですが、
今分からなくて知りたいのはラスタースクロールで奥行きを出すときで、
あるY座標に来たときにXをどれだけずらせばいいかを算出する計算方法です。
具体的に言えばストリートファイター2の地面の横スクロール(立体感がついている)や、
古くはマグマックスの地上面の地表みたいな表現です。
簡単に説明できなければお薦めの参考図書を紹介してくれるのでも良いです
お願いします
46:名前は開発中のものです。
08/12/06 02:19:07 H7gLDNRD.net
そんなの雰囲気でおk
なんでもかんでも方程式で出さないと気がすまないのか?
47:名前は開発中のものです。
08/12/06 02:28:57 x2Ho2N6O.net
スト2の地面なんて、たんにY座標に正比例してるだけじゃなかった?
48:名前は開発中のものです。
08/12/06 07:30:02 EvnFjAdZ.net
>>46
答えられないなら無理にレスしなくて結構です
>>47
どういうことですか?
適当にやったらまったく立体的に見えなくてダメでしたので…
49:名前は開発中のものです。
08/12/06 11:32:04 KLvL9x5Z.net
やった事無いから適当に考えるが。
背景の中心、地面の一番奥から一番手前まで直線が引いてあるとして
一番手前の地面を左右にスクロールさせると、その直線は傾く。
けど曲線にはならない。直線のはず。
つまり正比例で座標ずらせばいいってだけじゃないのかな。
それと言っておくが
>答えられないなら無理にレスしなくて結構です
こういう事を言うやつはよくいるが、「自分の性格は悪いです」って公言してるようなもんだから
誰も回答してくれなくなるぜ。
50:名前は開発中のものです。
08/12/06 11:57:50 je8dQCcg.net
クオータービューで検索してね
"3DRPGプログラミング" この本を買って読んでみなさい。
51:名前は開発中のものです。
08/12/06 19:52:48 4OvlXTAb.net
>>43
文句たれるバカが沸くから
結局ユーザに選ばせるしかない
52:名前は開発中のものです。
08/12/07 08:52:11 GBSyFyEZ.net
適当な数式作るにはセンスが重要だよね……
>>48
スト2のリュウステージをラスタースクロールのみで再現しようとするなら、
まず板の継ぎ目がある一点に収束するように引いておく(画面中心点が妥当)。
その点からの相対Y座標を使い、
各ラインのスクロール量X = 立ち位置ラインのスクロール量X * 各ライン相対Y / 立ち位置相対Y
でいいんじゃないかな。
ただ上記の処理だと半画面分スクロールしただけでもドットがボロボロになるので、
普通は拡大縮小処理も一緒に使うと思うよ。
この場合、板は普通に長方形で書いておき左右は均一に、上下は奥に行くほど
小さくなるような雰囲気で色を塗り、
各ラインの拡大率X = 各ライン相対Y / 立ち位置相対Y
で、画面の垂直中心線上のスクロール量が同一になるように補正する。
53:名前は開発中のものです。
08/12/07 09:12:51 NKrbC59O.net
>>52
きめ細かい解説ありがとうございます。
ストIIは実際拡大縮小もやっているのでしょうかね?
54:名前は開発中のものです。
08/12/07 18:46:01 49VdVrcF.net
センスのない奴ほど数式に頼りたがるよな
それで、修正のリクエストがあったときに
物理法則がどうのこうのと力説したがる
55:名前は開発中のものです。
08/12/09 07:07:30 +Z5nbwy8.net
数式を使わずにどうやってプログラミングするんだ。
ツクール派?
56:名前は開発中のものです。
08/12/09 10:32:23 pmbjGPY8.net
ジャンプを実装するのに
いちいち質量がいくつで、重力係数がいくつだから・・・・
とかやりだすことだろ
57:名前は開発中のものです。
08/12/09 10:58:49 UXQm+qSa.net
ジャンプなんかは適当でもいいし、
どんなに不自然なジャンプでもそれによってゲーム性にオリジナリティが出るんだからそれでいい。
だが3D表示をするにあたって計算が適当じゃあ3Dに見えないだろ
問題が全く別だよ
トンチンカンな会話すんな
58:名前は開発中のものです。
08/12/09 11:55:35 HsEnKH5F.net
じゃあ全く別な問題を持ち出す>>57が一番トンチンカンということになるな。
59:名前は開発中のものです。
08/12/09 14:25:54 6m6wEUZw.net
普通に考えてこんなのに3D計算なんかしてないだろ
単純に奥のものが手前にあるもより遅く動いてるだけ
どれくらい遅くするかは作った人間のセンス
たぶん何度も係数をいじって自分の感覚で
ベストと思われる動きでフィックスしてるはず
この感覚が万人に受け入れられない人をセンスのない人という
60:名前は開発中のものです。
08/12/11 07:02:29 5iwyeWDL.net
3D計算してもしなくても、最終的に数式に落とす事になるだろ。
それを聞いてるんじゃないの?
具体的な係数を聞いてるわけじゃないし、そこはAとかBとかでいいじゃん。
61:名前は開発中のものです。
08/12/18 11:30:02 xmq4VfJC.net
ライトユーザー向けのPCゲームつくりたいんだけど、
Vramの推奨スペックはいくつにすべきか?
ご意見伺いたいです。
62:名前は開発中のものです。
08/12/18 12:25:16 5uBOIM3K.net
何作るかによるでしょ。
3DじゃなけりゃWindowsが使えるだけあればいいよ。
63:名前は開発中のものです。
08/12/18 12:43:11 NjDBhxVW.net
>>61
2Dなら800*600*32ビット1画面で2Mバイト
裏画面入れて4Mバイトあればいいんじゃない
64:名前は開発中のものです。
08/12/19 05:45:59 /GzaBikq.net
>>61
現に画面が表示されていれば、VRAM容量は関係ない。
画面表示用バッファは、すべてメインメモリ(DIBなど)に取れるから。
65:名前は開発中のものです。
08/12/19 07:18:28 5Lxw8rsT.net
2Dゲーならシステムメモリだけでも全然快適に動くから
VRAMゼロでもかまわないよ。
66:名前は開発中のものです。
08/12/19 09:16:19 aOn2CrS2.net
チェックした最低動作環境でのVRAM容量を書いておけばいいよ
67:名前は開発中のものです。
08/12/19 17:59:20 gIPakjTt.net
いまどきの安物パソコンなら専用VRAMなんか構えてないから
メインメモリ共有だし。容量だけなら128MB〜512MBくらいは普通にある。
68:名前は開発中のものです。
08/12/19 22:25:50 VMJ9+Wbr.net
>>61
2Dゲーなら問題なし。
3Dなら、ユーザーが大目のMMORPGを参考にするといいと思う
69:名前は開発中のものです。
08/12/19 22:26:25 VMJ9+Wbr.net
> 大目のMMORPGを
大目の日本のMMORPGを
70:名前は開発中のものです。
08/12/20 00:34:45 EllKojph.net
俺も2Dゲームは画像データとかシステムメモリに置いてたけどさ、
描画周りにアクセラレーション効かせるのってあんまり一般的じゃないの?
71:名前は開発中のものです。
08/12/20 00:55:24 CbJUTGDn.net
いつの時代からタイムスリッパしてきやがりましたか?
72:名前は開発中のものです。
08/12/22 00:06:41 gFPzk4ah.net
>>61
どのみちライトユーザーにVRAMとか行っても理解してもらえない。
奴等は自分のマシンのスペック分からずにで、動いたかどうかしか興味が無い。
73:61
08/12/22 12:28:11 fcAyGbxP.net
Vramの件、みな、どうもご親切にサンクス。
レスおそくなりすいません。カキコできなくて。
何作るかによりますね。すいません。2Dゲーで
Flashで作ったアニメデータがバリバリと動く予定です。
DirectX使っていますので、Vramの確保は必須かもと思っていました。。
ライトユーザーに理解してもらえなくてもいいんですが、
作り手としてってことでしょうか。
74:名前は開発中のものです。
08/12/23 02:14:34 vL1qdlBE.net
>>73
72書いた者だけど、質問の意図は分かります。
ただ、どれだけ気にしてもやっぱり動かない環境は残ってしまって、
そういう環境のユーザーほどマシンスペック分からずに苦情出してくるからな〜
すんません。個人的トラウマでした。
否定的な意見はやめて、
DirectXなら、使用するDirectXのバージョンがそのままマシンの世代を表しているって
考えてもいいんじゃないでしょうか?
例えば、DX7使用ならVRAM8MB、DX8ならVRAM32、とか。
あ、値は適当ですが。
75:名前は開発中のものです。
08/12/23 20:12:05 NOdX60e0.net
お前「殺意を覚えるくらい馬鹿ですね」って言われたことない?
76:名前は開発中のものです。
08/12/23 20:41:02 DrL02hk4.net
VRAMの大きさ(容量)を知る関数のようなもの、ありますか?
77:名前は開発中のものです。
08/12/24 13:55:34 ir5LUNRv.net
>>76
DirectDrawなら
IDirectDraw::GetCaps( )で
URLリンク(msdn.microsoft.com)
dwVidMemTotal
ビデオ メモリの合計容量。
78:73
08/12/26 16:23:02 YwwBT0Kv.net
>74
どうもサンクス。
トラウマ…なんとなくわかります。
79:名前は開発中のものです。
08/12/31 14:01:10 VvNRRwGl.net
Windowsのソリティアのように
コントロールをドラグ&ドロプ、リリスしたとき、
定位置に整列する(磁石に引きつけられるように)コードの
せめて考え方、ヒントを教えて頂けないでしょうか
80:名前は開発中のものです。
08/12/31 14:11:55 Zi1V94lh.net
フレーム毎に目的の位置に近づけていくだけ
81:名前は開発中のものです。
08/12/31 14:12:09 sicDYG8u.net
論理的思考を身につけるには、まず正しい日本語から。
82:名前は開発中のものです。
08/12/31 14:25:51 M5esy22P.net
まずは自力で線分を引けるように。
線が引ければ途中のXY座標もわりだせるだろう。
83:名前は開発中のものです。
08/12/31 14:42:28 Y1/xuelj.net
表示する座標 (x,y)
移動前の座標 (sx,sy)
移動後の座標 (ex,ey)
Aパターン
x+=((ex-sx)/m) ;
y+=((ey-sy)/m) ;
単純に終点へのベクトルを座標に足していく
mの値が大きければ遅く小さければ速く移動
x+=((ex-x)/m) ;
y+=((ey-y)/m) ;
とすると遠いときほど早く近いときほど遅くなり磁石っぽい
Bパターン
x=sx+(ex-sx)*m;
y=sy+(ey-sy)*m;
mを0から1.0へ増やす
mの値にsin(0)〜sin(π/2)を使うと磁石っぽい
Aとの違いは始点と終点の距離にかかわらず同じ時間で終点に到達する
84:名前は開発中のものです。
08/12/31 20:18:33 Zi1V94lh.net
>とすると遠いときほど早く近いときほど遅くなり磁石っぽい
磁石は距離が近くなるほど磁場が強くなるので、遠いほど遅く、近くなると速くなる。
つまり真逆。
85:名前は開発中のものです。
09/01/04 15:53:08 PprE941C.net
DirectXとc++で2D格闘ゲームを作りたいと思うのですが、ソースってどこかにないですかね
参考にしたいのですが、ググり方が悪いのか出てきません
ソースの置いてある場所があったら教えて頂きたいのですが、ないですかね
86:名前は開発中のものです。
09/01/04 17:35:22 VQhzW2V4.net
逆に君は自分の自作のソースを晒したいと思ってますかね
ぐぐってパクるだけで分け与えなければどこにもなくて当たり前じゃないですかね
馬鹿ですかね
87:名前は開発中のものです。
09/01/05 01:19:54 HsIAylDp.net
>>86
ガキ臭い煽り方だな
なんか嫌なことでもあったのか
88:名前は開発中のものです。
09/01/06 13:57:16 24x5pO5Z.net
いや、でもいいこと言っている
89:名前は開発中のものです。
09/01/06 14:37:31 ZJKN10wA.net
子曰く
「どうすればいいのか、どうすればいいのか、と考え悩みぬいた者でなければ
私にもどうしようもない」
最初から他人をアテにしてるようじゃダメってことだな。
90:名前は開発中のものです。
09/01/06 19:50:41 5KaPAE6Y.net
情弱ですか
91:名前は開発中のものです。
09/01/06 21:55:02 3TYaYHJU.net
>>85
格闘げーはアニメーション画像が命みたいなところがあるから、
素材の用意が大変過ぎてプログラミングの教材には向かない罠。
92:名前は開発中のものです。
09/01/06 22:09:59 kH8rEgPB.net
>>85
逆にいえばアニメーション、当たり判定、キー入力ができれば作れるともいえる
キー入力はちょっと特殊だけどそれ以外はインベーダーゲームの応用
93:名前は開発中のものです。
09/01/06 22:15:01 NsliiIma.net
ジョイメカファイト・・・
94:名前は開発中のものです。
09/01/07 08:43:07 tOeiWdUq.net
いっそ3D格ゲーにすりゃ、3Dアニメーションの基本をごっそり勉強できる
95:名前は開発中のものです。
09/01/07 16:52:39 F0TH9wEI.net
PS3のリトルビッグプラネットのCGはDirectXでも表現出来るの?
96:名前は開発中のものです。
09/01/07 17:03:09 DnzfbcT/.net
表示するだけならできるだろうけど
アレのすごい所って主に物理演算の部分だろ?
まったく別問題な希ガス
97:名前は開発中のものです。
09/01/07 17:10:42 F0TH9wEI.net
物理演算はNVIDIAならphysxが使える
あの程度なら余裕なはず
98:名前は開発中のものです。
09/01/07 17:14:31 F0TH9wEI.net
で具体的にどうやればあんなクオリティのCGが作れるのか知りたい
プログラムは出来るけどCGに関してはまったくの素人なんで
99:名前は開発中のものです。
09/01/07 19:51:09 ZchRr+VS.net
>>94
モデリングとアニメーションツールの勉強から始めなきゃならないじゃん。
プログラミングの勉強としてはすっごく遠回り。
100:名前は開発中のものです。
09/01/08 02:23:25 OwvAnpBE.net
>>98
とりあえずBlenderでも弄ってみたら
質は遠く及ばんなりに、基礎やクオリティ上げる定番手法は一式遊べるよ
101:名前は開発中のものです。
09/01/08 13:45:17 NsMjn5lD.net
多少はモデリングのことも勉強しとかんと
デザイナーと会話できないからな
102:名前は開発中のものです。
09/01/09 00:10:10 xgPo70G1.net
DirectXでって言ったでしょ
103:名前は開発中のものです。
09/01/09 00:31:42 venL3ic3.net
>102
CG板で聞けば?CGの話なんだし
104:名前は開発中のものです。
09/01/09 02:32:56 2uf5nwF0.net
>>102
つ>>96
表示だけならDirectXでもできるぞ。他の人間も指摘してるとおり
データ(モデル・モーション・マテリアル(まぁシェーダーも含むが))を用意できればの話だがな
動きについては物理シミュ用のライブラリ(bulletとかPhysX)でもひっぱってきたほうが楽だな
ただアレの爆発エフェクトを真似るためには簡易なCFDのコードが必要だが、ゲーム用のフリーの
ライブラリでそういう機能を提供してるものがあるのかどうかは知らん
なければ適当に2D格子用意して格子気体法とかCIP法の劣化版みたいなコードを組めばいい
どうせシミュったって何かを厳密に再現する必要はないし、支配方程式が導出できる必要も無い
それっぽい流れ場のアニメーションができればなんでもいい
>で具体的にどうやればあんなクオリティのCGが作れるのか知りたい
つ>>103
データを作る部分の話はCG板で聞いたほうがいいんじゃね
ティーポットとかトーラスとかシリンダに毛とか生やすだけでおkならD3DXでいけるけどな
105:名前は開発中のものです。
09/01/09 03:03:09 xgPo70G1.net
いやだからリアルフォトマティックレイとレーシングでしょ?
モデルとかそういう問題なの?
ただの無地の球体でもレイトレーシングのアルゴリズムで全然違うでしょ
レイトレーシングの仕方なんて聞いてないんだよ
同じ効果をDirectXで高速に描画出来る方法があるのかって話をしてるの
106:名前は開発中のものです。
09/01/09 03:06:00 xgPo70G1.net
あと物理演算の領域はこっちの分野だから君らに教わることはないよ
107:名前は開発中のものです。
09/01/09 03:22:44 2uf5nwF0.net
>あと物理演算の領域はこっちの分野だから君らに教わることはないよ
おかしいな。分かるならCUDAとか使ってるだろうし
GLSLやHLSLでサクサクと俺シェーダー組めてもいいはずだが・・・
リアルタイムなCFDをやる場合って差分スキームはいつもナニ使ってるの?
後学のために教えてください
108:名前は開発中のものです。
09/01/09 08:06:03 xgPo70G1.net
CUDAとシェーダーは別次元の話だな
物理演算をリアルタイム処理する人しかこの世にいないと思ってんの?
109:名前は開発中のものです。
09/01/09 08:10:48 xgPo70G1.net
高速化技法をいくら語られても根幹のアルゴリズムが分からないって話をしてんの
シェーダー分かったらなんなんだ
超リアルなCGが書けるのか?書けないだろ?
110:名前は開発中のものです。
09/01/09 08:22:52 xgPo70G1.net
リトルビックプラネットのCGはフォトリアルスティックレイトレーシングの結果のようなリアルな画像なの
PS3でもさすがにフルHDをレイトレーシングするような能力は無い
君の大好きなCUDAやGLSLを使ってもPCでは到底無理なの
PS3はDirectXベースに作られてるんだから当然同じことがPCでも出来るだろうと思ってるわけ
レイトレーシングはあり得ないのでどうやってんのかを知りたいの
物理演算とか誰も聞いてないから
111:名前は開発中のものです。
09/01/09 08:49:59 9nYZuqdQ.net
自分で解答言ってないか?
112:名前は開発中のものです。
09/01/09 12:20:56 FD9CF3VW.net
なんでコイツ上目線で質問してんの?人格障害でもあんの?
113:名前は開発中のものです。
09/01/09 13:18:37 i9tzRBGb.net
2chに慣れちゃだめだぞ。:アルファルファモザイク
URLリンク(alfalfa.livedoor.biz)
114:名前は開発中のものです。
09/01/09 18:15:29 xgPo70G1.net
明らかに知識が下の人が的外れな回答して偉ぶってるからw
115:名前は開発中のものです。
09/01/09 20:40:58 GzTmK6ph.net
つ鏡
116:名前は開発中のものです。
09/01/10 03:00:31 1Stepbtb.net
(;・∀・)
117:名前は開発中のものです。
09/01/10 17:35:41 mQJ59Fn9.net
ほう、PS3がDirectXとな
で、リアルタイムレイトレーシングが無理だと判ってるなら
工夫して俺シェーダー積み上げるしかないのも判ってるんでしょ
リアルに見せるフェイク処理の引き出しを地道に増やすしかあるまいて
118:名前は開発中のものです。
09/01/10 20:43:58 BBJn1kSx.net
PS3のグラフィックチップはGeForce7800ベースだそうだから、
ハード的にDirectXベースというのは間違いでもないよ。
LBPに関しては、何か特別なレンダリング技術を使ってるわけじゃなく、
単にアートディレクションと、質感の設定が秀逸なだけだと思うけど、
「この部分の質感が」とか「この部分のエフェクトが」とか、
具体的に言わないと誰もわかんないんでは?
119:名前は開発中のものです。
09/01/10 21:37:42 VXNtlD0N.net
>PS3のグラフィックチップはGeForce7800ベースだそうだから、
>ハード的にDirectXベースというのは間違いでもないよ。
間違いを認めず、こういう恥の上塗りをする奴って、
いったい何を考えて生きてるんだろう?
ハッキリ言うが間違い以外の何ものでもない。
120:名前は開発中のものです。
09/01/10 21:47:52 cb8O919u.net
同感。
121:名前は開発中のものです。
09/01/10 21:59:30 6nsF3ORJ.net
さあ詭弁のガイドラインでもみてみよう
122:名前は開発中のものです。
09/01/10 22:06:42 t9/hm2L8.net
なんつうんだろう。
あまり人付き合いがなさそうな人に送る、座右の銘。
「土下座する、勇気」。
退く勇気は、がむしゃらに突撃する勇気よりも、大切なんだよ。
123:名前は開発中のものです。
09/01/10 22:10:51 6nsF3ORJ.net
てか、>>113が貼られてんだから少し落ち着けとw
124:名前は開発中のものです。
09/01/11 20:03:10 X63+5W++.net
PS2はopenGLだったと思ったけど、PS3もOpenGLなん?
125:名前は開発中のものです。
09/01/11 20:09:11 HfT5qRpC.net
GLES1.0+RSX拡張
RSX叩くにはPSGLやlibgcmってライブラリを使う
シェーダ言語はCg
126:名前は開発中のものです。
09/01/12 01:15:34 wGDVqFsB.net
ググってみたのですが、見つからなかったので教えて下さい。
linuxについてるGlineというゲームを、
勉強がてら.netのC#で作ろうと思っているのですが、
できれば得点などのロジックをオリジナルに忠実に再現したいと思っています。
オリジナルのソースもしくは得点ロジックが出ているところってありますでしょうか。
127:名前は開発中のものです。
09/01/12 02:32:32 St/Xi0CE.net
>>126
gnome-gamesってソースパッケージがあるはずだから
yumなりsynapticなりで探せ
その中に含まれてる
どうしてもみつからなかったらもう一度聞いて
128:名前は開発中のものです。
09/01/12 20:19:41 Ucs8+CZO.net
>>125
それを総合してDirectXって言うんだよ。
129:名前は開発中のものです。
09/01/12 20:52:24 XiJ3otEj.net
>>128
お前の言っていることは、
PCがあったら、Linuxが動いていようがFreeBSDが動いていようが、
それを統合してWindowsだと言っているほど間抜けだぞ。
130:名前は開発中のものです。
09/01/12 21:16:19 bD3J7wUJ.net
さすがにネタっぽいな
ファーレンハイトが懐かしいぜ
131:名前は開発中のものです。
09/01/12 21:18:31 sqS0O25/.net
家庭用ゲーム機は全部ファミコンで、携帯音楽プレイヤーは
全部ウォークマンですね。
132:名前は開発中のものです。
09/01/12 21:34:42 tFvWI/5z.net
まぁ、おれの中学時代のあだ名はウォーズマンだけどな。
133:名前は開発中のものです。
09/01/12 21:40:02 17ZETQ9S.net
はて・・・?
PS3の開発環境は既にDirectX対応してなかったけか、PhyreEngineで。
DirectXのAPIも実装済みで、OpenGLとDirectX、どちらでも好きな方を選べるとか。
134:名前は開発中のものです。
09/01/12 22:38:10 bD3J7wUJ.net
組み合わせの選択幅が広過ぎるってんで鳴り物入りで紹介された奴だな
ローレベルライブラリじゃなく、フレームワークにあたるエンジンだ
PC/XBOX版で下層エンジンにDirectXも選べるという構成のようだね
135:名前は開発中のものです。
09/01/12 22:59:42 r1loPmTT.net
GKはどうしてもPS3にDirectXが入っててほしくないようだな
136:名前は開発中のものです。
09/01/13 23:52:00 31cKUcOq.net
フレーワークレベルでDirectXも選べるのと、ハードウェアの公式ライブラリでDirectXが動くのとは相当の違いがw
137:名前は開発中のものです。
09/01/13 23:55:09 IjMcH/Ql.net
そもそもPS3ではDirectXを選択すること自体不可能だから、違い云々以前の問題。
138:名前は開発中のものです。
09/01/13 23:55:48 UVAnUSa6.net
しょうがないから俺も今日からDirectXで動くよ。
ああ、髪が表示されないのは、レンダリングが遅いだけだから。
139:名前は開発中のものです。
09/01/14 00:26:48 Xhrp9vz4.net
東京証券取引所はDirectX
大阪証券取引所はOpenGLで動いているという事実
140:名前は開発中のものです。
09/01/14 09:51:30 ffiL9vPn.net
「WOLF RPGエディター」とは?
・高度なRPG開発が可能な、完全無料のゲーム作成ツールです。
・製作者はなんと「モノリスフィア」やツクール2000で「シルフェイド幻想譚」などを製作した
SmokingWOLF氏だよ。
・雰囲気はRPGツクール2000に近い。RPGツクール2000で自作システムを作りこむ際に
不満だったところがいろいろ解消されていて、かなり自由度が高いです。ただし
その分初心者には難しいかも。すでにツクール2000で自作システムを組むのに
慣れた人や、RPGツクールでは物足りないけどプログラミングはちょっとという方にお勧め。
・作成したゲームは自由に配布したり、コンテストに投稿することも可能。
また本ソフトを持たない人でもプレイ可能!ファイル暗号化も完備してるよ!
・要望、不満点、バグ報告などなど書き込みお願いします。今もどんどん進化中です。
・それとマップやキャラなどのドット素材もじゃんじゃん募集中ですので
一度サイトにお越しくださいませ。
・このツールで作ったゲームをサイトで紹介してるから、ダウンロードしてどういう
ゲームが作れるのか見てみてね。
2ちゃん本スレ
スレリンク(gamedev板)l100
141:名前は開発中のものです。
09/01/16 20:27:23 2P1JjUIA.net
半年ROMれ
142:名前は開発中のものです。
09/01/26 11:18:31 fNy7USfU.net
C + WinAPIでのオフスクリーンの使い方がわからんのだが。。。
HDC off,hdc;
PAINTSTRUCT ps;
hdc = BeginPaint(hWnd, &ps);//hWndは描画先のウィンドウはんどら
off = CreateCompatibleDC(hdc);
<offに対してBitBltやらなんたらかんたら>
BitBlt(hdc, -----, off, 0, 0, SRCCOPY);
EndPaint(hWnd, &ps);
でできると思ったのにうまくいかない。。
どこが悪いか指摘求む|・`)
143:名前は開発中のものです。
09/01/26 11:23:21 jYriVdyp.net
そのoffに対して適切な大きさのbitmapはSelectしてるか?
もししてないならば、1x1ドットのモノクロビットマップになってるんじゃないか。
144:142
09/01/26 14:32:33 fNy7USfU.net
>>143
ありがとう。
BitBltとかする前にCreateCompatibleBitmap(hdc, X, Y)したHBITMAPを
offにSelectObjectしたらできた。
HBITMAPは使用後Deleteしないと危ないってことも身をもって理解した。
145:名前は開発中のものです。
09/01/26 15:12:42 jYriVdyp.net
WM_PAINTごとに作りっぱなしにしたのかw
大きさ変わらないなら、ウィンドウができた時に1つ作っておいて使いまわせる。
ウィンドウサイズが変わったら作り直して、ウィンドウ破棄の時に消す、とかね。
146:142
09/01/27 11:20:58 63/MDkS6.net
>>145
WM_PAINTは無効にして、好きなときに再描画するようにしてるんだが、、まぁいいか)
再描画する関数が呼ばれるたびに作ってDeleteしなかったな。
タスクマネージャー開くとメモリ使用量のグラフがぐーんとのびてた)
1つを再利用する案、使ってみます(`・ω・´)
147:名前は開発中のものです。
09/01/27 11:46:12 g6Z0rQ8m.net
なんでWM_PAINTだと思ったか。
BeginPaintがあったからだよ〜ん
148:名前は開発中のものです。
09/02/06 09:00:05 SU1u5PRJ.net
えっと
複数のエンジンを搭載した宇宙船をエンジンの出力調整で移動させたいのですが
物理に不自由な人間なもんでまったくどうすればよいのやらこまっております
下の図の矢印のようにエンジンがついてると仮定して
←△→
□
←△□△→
↓
左上のエンジンと右下のエンジンの出力を上げると機体が回転するだろうなとはわかりますが
プログラムまでもってけないわけです
一応2Dでの運用を想定しております
複数の速度ベクトルを合成?するのかな
でも回転するとしたらどうすれば…
よくわかりません…orz
149:名前は開発中のものです。
09/02/06 09:32:08 IDvsYi6Y.net
スラスターの再現をすることに何かこだわりがあるなら物理の教科書を読むんだ。
つ Amazon.co.jp: ファインマン物理学 (1): ファインマン: 本
URLリンク(www.amazon.co.jp)
150:名前は開発中のものです。
09/02/06 12:07:05 f9/yfsRC.net
それぞれ回転する中心点の軸をずらして回転行列掛けりゃいいじゃん
151:名前は開発中のものです。
09/02/06 14:12:04 2FMS0uiB.net
こんなの嘘物理でよくね?
中心軸を1点にしておいて、そこを中心に
右上か左下に出力があるときは反時計まわり
左上か右下に出力があるときは時計まわり
移動はすべての出力のベクトルの和
これだけでそれっぽく動きそうな気ガス
152:名前は開発中のものです。
09/02/06 16:59:07 R0I8WLM/.net
中心軸は上の出力で下にずらす
下の出力で上にずらす
両方の出力だと相殺されてずれない
でどう
153:名前は開発中のものです。
09/02/06 19:21:57 IDvsYi6Y.net
お前らそうやってゲームにニセ物理組み込んでるんだな……。俺も俺も
154:名前は開発中のものです。
09/02/06 22:01:45 aGsbwcTW.net
148じゃないけど
静止状態から真空無重力だと148の左上だけ出力した場合回転するんだっけ?w
155:名前は開発中のものです。
09/02/06 22:13:48 d5elOzBE.net
だから、そういう物理を気にしだすと
操作が直感的じゃなくなってプレイヤーのストレスになりかねないから
嘘物理でいいんじゃねって話
156:名前は開発中のものです。
09/02/06 22:52:53 aGsbwcTW.net
>>155
実装はそうだろうけど、知ってた方が、それを基本に考えられるから無駄にはならんと思うがw
148のを自分で組んでみようと思ったら154のが気になって止まったw
で、どうだっけ?w
157:148
09/02/06 23:19:27 SU1u5PRJ.net
>>150
ごめんなさい、回転行列がわかりませんorz
>>151>>152
私も同じような考えにたどり着きました
必死に考え直した結果こうなりました
まちがってるかな?
URLリンク(www.dotup.org)
中心:緑丸
エンジン:青丸
出力方向:紫矢印
エンジンの出力ベクトルを中心点とエンジンを結んだ線とその垂直線を座標としたベクトルに分割し
赤を回転用のベクトル、水色を移動用のベクトルに分ける
あとは回転と移動をそれぞれ計算すればOK?
すいません日本語にも不自由しているようですorz
158:名前は開発中のものです。
09/02/06 23:48:02 T8ShVnXb.net
>>157
それで合ってるよ。もっと正確に言えば、中心点ではなく重心。
あと、そこについてるのがロケットエンジンなら、普通は矢印は逆向きだな。
そこから真面目に回転速度を求めるには、「慣性モーメント」という知識が必要になる。
値は適当にでっちあげでいい。
159:名前は開発中のものです。
09/02/10 15:41:10 eV8ZtmO6.net
.NETかMFCを勉強しようと思うのですが,
ゲーム開発だとどちらが役に立ちますか?
160:名前は開発中のものです。
09/02/10 15:52:39 Xj3fFujS.net
どっちも微妙
言語はC++のみ?
161:159
09/02/10 16:05:56 eV8ZtmO6.net
>>160
微妙ですか;
どの言語で学びたいというのは,特に無いですが,
C++がコード書いてる量多いです.
VBは入門書通して読んだので簡単なアプリケーションなら作れる程度で,
C#はJavaに似てるから読めるってくらいで,書いたことはないです.
162:名前は開発中のものです。
09/02/10 16:12:06 Xj3fFujS.net
C++やってるなら、.NETはC#前提で考えたほうがいいかも。
MFCでゲーム部分で役に立つところは少ないと思うよ。素でAPI呼ぶのとかわらない。
どっちもウィンドウ作ったりイベントハンドラ使ったりするところは楽できるけど
そういうのを生かすゲームを作るのかどうかってとこだね。
言語とライブラリやフレームワークで選んで、それが.NETやMFCを使ってたら
それも覚えるって感じでいいんじゃないかな。
163:159
09/02/10 18:33:00 eV8ZtmO6.net
了解しました.ゲーム開発で使うといっても,
深い部分の機能まで扱う訳じゃないんですね.
一冊買って読もうと思ってましたが,
Webで調べて動かしてみる程度にしようと思います.
ありがとうございました.
164:名前は開発中のものです。
09/02/10 21:26:47 jpQUb+L2.net
>>163
C++にSDKがシンプルで案外楽なんじゃないかな。
描画や音でハードなことやろうとしたらDirectXやOpenGL/OpenAL使えばいいしね。
165:名前は開発中のものです。
09/02/11 12:06:33 4NJho4Vs.net
>>159
ゲーム本体作るなら、C++ + DirectX
ツール作るなら、.NET(C#)だな
166:名前は開発中のものです。
09/02/12 20:13:23 GF7pXsC2.net
3Dゲームには垂直同期とか異方性フィルタといったフィルタ機能が多く存在しますが、
こういったものの具体的なアルゴリズムが書かれてある書籍を教えて下さい。
よろしくお願い致します。
167:名前は開発中のものです。
09/02/12 21:16:01 qYzhx+29.net
君の「アルゴリズム」の定義は、おそらく一般的なそれとは異なっている。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
2464日前に更新/283 KB
担当:undef