[過去ログ] ゲームプログラミング相談室 (986レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
473: 468 02/05/19 20:33 ID:??? AAS
>各優先順位の〜

なるほどです。やってみます。
474
(1): 02/05/20 03:37 ID:??? AAS
優先順位ってどうして必要なんですか?

1 移動
2 衝突判定
3 オブジェクトの生存チェック
4 描画

こういう風に順番を分ければ、処理順が重要になる事って
あまりない気がするんですが・・・
475: 02/05/20 06:46 ID:??? AAS
>>472
外人相手だと何と言えばいい?
476
(1): 02/05/21 01:09 ID:0jVRIemA(1) AAS
>>474
その1〜4の順番分けをすることが、まさに処理の優先順位をつけることだと思うのだが・・・。

もちろん、メインループ内でそれぞれの処理を行う関数を順に呼ぶようにしても作ることは
できるんだけど、その辺をフレキシブルに変更できるようにするための仕掛けがタスクな
わけじゃん。
477: 02/05/21 01:15 ID:??? AAS
>>476
優先順位と言えば優先順位みたいなモノだけど、
474で書いたように呼ばれる順番を保証しないと、
(好き勝手な優先順位で好き勝手に死んだり生まれたり)
安全と最適化を両立しづらくないですか?
478: 02/05/21 01:43 ID:??? AAS
だから、優先度は 決められたヘッダーとかで識別子を宣言するように
チーム内で決めるのがふつうなんじゃないの?
479
(1): 02/05/21 14:08 ID:lOTv7vN.(1) AAS
DirectX8で、3Dモデルを使い、ようやく簡単なアニメーションが
できる様になったのですが、ここではたと詰まってしまいました。

あるアニメーションセットから、別のアニメーションセットに移る時
一般にどのような補間がなされているのでしょうか?

とりあえず自分でも色々試したのですが、一瞬で移行すると場合によっては
不自然だし、現在の位置から移行先の最初のフレーム位置まで
適当に補間をかけてみたら、なんとも奇妙な動きになってしまう始末で(- -;
省3
480
(2): 02/05/21 15:05 ID:??? AAS
ケースバイケースで、つなぎのモーションをかませるとか、
つなぎの姿勢をかませるとか、
そこら辺はノウハウの問題なんじゃないかと思うんですけど
状態遷移図みたいなのを書いて検討してみるしか。
481: 480 02/05/21 15:06 ID:??? AAS
訂正。
しか。→とか。
482
(1): 02/05/21 15:58 ID:??? AAS
D3DXVec4LerpでQuarternionに線形補完を掛けるとか
483
(1): 02/05/21 16:02 ID:??? AAS
AA省
484
(1): 02/05/21 16:04 ID:??? AAS
Σ0<= t <= 1.0 A * t + B * (1 - t)
485: 479 02/05/21 17:14 ID:??? AAS
レスありがとうございます。返事が遅くてすいません。
…勘違いして、ずっと別のスレを監視してました(;´Д`)

>>480
なるほど!後のパターンを増やすのではなく、つなぎを噛ませるのですか。
うー、しかし同じアニメーションからの遷移でも、どのコマから移るかによって
いろいろ考えなきゃなのかな…。しかし完璧を求めるなら、これをやるべきですよね。
>>482
省8
486: 02/05/22 01:58 ID:emKWkvCg(1) AAS
姿勢は QuaternionSlerp 位置は エルミート曲線で補間。
その他、キーワードは Catmull-Rom スプラインかな。
あとは自分で調べてくれ。
487: 02/05/22 16:22 ID:wmr.hUOI(1) AAS
ネット対戦ゲームつくりたいのですが
いいホームページ知りませんか?
ちなみにVISUALBASICで作ろうとおもいます
488: 99 02/05/22 16:35 ID:??? AAS
-------風俗の総合商社・MTTどこでも-------

〇デリバリーヘルス〇デートクラブ〇女性専用ホストクラブ〇
〇ハードSM奴隷クラブ〇レズビアン倶楽部〇ホモ・オカマ倶楽部
〇変態痴女と遊ぶ会〇痴漢・覗き趣味の会〇変態同好会・各種!
●楽しく遊べます! 090-8002-8356番
-----------美男・美女会員など多数在籍中-----------
  外部リンク:www.mttdocomo.jp
省4
489
(2): 02/05/22 17:15 ID:DJLFFQIk(1) AAS
つーかモーションとモーションをブレンドしてるゲームって少ないと思うけど。
普通キャンセルだろ。
490: 02/05/22 17:46 ID:??? AAS
>>489
DOA3
491: 02/05/22 19:15 ID:??? AAS
>>489
今時キャンセルなんてやってるのは時代遅れのメーカーぐらい。
492: 02/05/22 23:37 ID:??? AAS
GCマリオはキャンセルだったかな
493: 02/05/23 14:44 ID:??? AAS
ブレンドすると現実的にはありえない動きをしてしまう罠
494: 02/05/23 16:55 ID:??? AAS
ブレンドしなくても現実的にはあり得ない動きをしてしまう罠。
495: 02/05/23 18:38 ID:??? AAS
キャンセルした方が良いケースと補間した方が良いケースがある。
mouchottoatamatukaouze
496: 02/05/23 20:02 ID:??? AAS
基本的にすべての動作は補完で繋ぐべき
不自然になっちゃうなら補完式を考え直すべき
497
(2): sage 02/05/23 22:57 ID:FUqKSSOQ(1) AAS
現実と照らし合わせれば。
補間もキャンセルとごまかすための手法の一種にすぎないのだが。
だから、どちらが優れているなどないと思われ。
case by case。
一つのことに凝り固まるのは、頭悪いぜ。
498: 02/05/23 22:58 ID:??? AAS
名前をsageちまった。
俺が頭悪かったようです。
逝ってきます。
499: 02/05/23 23:06 ID:??? AAS
>>497 FUCK aSS
500: 02/05/24 00:29 ID:??? AAS
>>497
あんまり、本当の事を言うと話が止まるので
わかっていてもしらんぷりしとけよ(ワラ
501
(1): 02/05/24 01:21 ID:??? AAS
トルネコみたいなダンジョンではなく、女神転生シリーズに近い
通路ばかりのダンジョンをランダムで生成したいのですが、
唯一見つかったアルゴリズムでは綺麗なダンジョンが作れませんでした。
トンネルを掘るようにしてダンジョンを作るアルゴリズムを使うと
綺麗なダンジョンが作れる、と読んだのですが、参考になる
情報などがありましたら教えていただけないでしょうか?
よろしくお願いします。
502
(1): 02/05/24 01:54 ID:??? AAS
外部リンク:members.tripod.co.jp
このページ見た?なんか凄そうだけど。
色々なパターンが紹介されているみたいだし。
503
(1): 416(HSP) ◆HoSW/FCI 02/05/24 03:53 ID:btbuBamk(1) AAS
>>501
 0が通路で1が壁だとすると、まず、n×mの広さを1で全部埋めます。一番外側だけ0にすると範囲チェックしなくて済むから楽かも。
 で、親座標と子座標を用意して、親は左上から右下まで2ステップずつ捜査させます。子は親からランダムに4方向を選んで移動するわけですが、これも2ステップずつ移動させます。子の移動先が壁だったら掘って、またランダムに移動。
 移動予定先が全部通路で選択肢が無い場合は、子の移動は終了して、親を1つ進めます。
そしてまたその親座標から子を移動させて動けなくなるまで掘っていく。これを最後まで繰り返すと解が1つだけの迷路ができます。

 同様の方法で2つの接しない壁を作っていくという方法もありますが、上記のほうがシンプルかも。
504: 416(HSP) ◆HoSW/FCI 02/05/24 04:06 ID:??? AAS
 上記の方法を発展させ、矩形を用いて自由な角度に掘り進んでいく方法も。
 すでに掘った場所には移動しない、という判定自体は同じです。この場合の分岐方法は、掘り進んでいく過程で分岐点を複数置いていく(記憶していく)ことになります。
 記憶しないで矩形の範囲単位で掘れるだけ掘るという方法もありますが、洞窟っぽくはならないでしょう。また、掘っていく過程で矩形の大きさを変えれば、より自然の洞窟に近い迷路ができます。
505: 02/05/24 06:13 ID:??? AAS
>>502
アルゴリズムを作れそうにはないけど
パズル的に楽しませていただきました。

>>503
そのアルゴリズムをベースに作ってみようかと思います。
ありがとうございました。
506: 02/05/24 06:23 ID:??? AAS
完全ランダムで無くて良いのなら n x n のサイズの小さい迷路を
いくつか作っておいて、つながるように並べるのもあり
507: やさしい 02/05/27 01:43 ID:??? AAS
板で協力してゲームを作ろうと思ったので
プログラマを募集してます
われこそはと思うつわものは覗いてください

2chスレ:shar
508: [ ] 02/05/27 22:56 ID:??? AAS
 
509: 02/06/25 01:31 ID:??? AAS
sage
510: オhル艦長 02/06/25 14:18 ID:J1CGzihY(1) AAS
緊急浮上
511
(10): 02/07/24 12:32 ID:??? AAS
VBで敵を誘導させて全滅させればクリア、というゲームを作っています。
敵の番になったら、自分のいるマスにむかって1歩(1マス)近づく、
という感じにしたいのですが、ちょっとなやんでいます。

敵のキャラと自分のキャラの座標を比較して、
敵のx座標が自分のx座標より大きければ1マス分増やす、
y座標が自分のy座標より小さければ1マス分減らす、というかんじです。

ifやSelect Case の入れ子でやってみたんですが、
省4
512: 511 02/07/24 12:49 ID:Ml.IF7uc(1/4) AAS
あげてみたり。。。。
513: 02/07/24 12:54 ID:??? AAS
>>511
どうして長くなったのかわかんないけど、行がなが〜くなったらそれぞれの処理を分割するしかないのでは?
ifの条件文が長い場合はあらかじめ比較するモノを変数に入れておくとか。
if〜endifはつかってるよね?

手法としては、移動する処理自体を1つの関数にしておいて後から高速化するのが望ましいかも。
とりあえず遅くてもゲーム自体はできるから。
514: 02/07/24 12:56 ID:??? AAS
>>511
>敵のx座標が自分のx座標より大きければ1マス分増やす、
>y座標が自分のy座標より小さければ1マス分減らす、というかんじです。

敵のx座標が自分のx座標より小さい場合や
y座標が自分のy座標より大きい場合は考えなくていいのか

俺ならとりあえず移動処理をブラックボックスにしてほっとく
あとからいくらでも高速化できる(かもしれない)からな。
515: 02/07/24 13:08 ID:??? AAS
>>511
このスレどうよ
2chスレ:gamedev
516
(2): 511 02/07/24 13:22 ID:Ml.IF7uc(2/4) AAS
レスありがとうございます。
>ifの条件文が長い場合はあらかじめ比較するモノを変数に入れておくとか。
んと、とりあえずこんな感じにしてみたんです。
select case Npc.x(敵のx座標)
case is > Player.x(自分のx座標)
  if Npc.Y < player.Y then
Npc.X = Npc.X - 32(32はひとますぶんです)
省16
517: 511 02/07/24 14:00 ID:Ml.IF7uc(3/4) AAS
ここに書かせてもらってレスを拝見したおかげで、
ぱにくってた頭が少しすっきりしたみたいです。
移動処理のとこの致命的なミスを発見し、うまくなおせました!
(行の長さは相変わらずながくなっちゃいましたが)
今は敵が死んだときの処理をがんばってます。
518: 02/07/24 17:42 ID:??? AAS
>>516
> そうなんです!パターンのぶんだけif −endif 文がふえてしまって

if 敵のx座標 < 自分のx座標 then 敵のx座標を増やす
if 敵のx座標 > 自分のx座標 then 敵のx座標を減らす
if 敵のy座標 < 自分のy座標 then 敵のy座標を増やす
if 敵のy座標 > 自分のy座標 then 敵のy座標を減らす

コレだけで済むと思うんだが。
省5
519: 511 02/07/24 19:40 ID:Ml.IF7uc(4/4) AAS
レスありがとうございます、書きこみ遅くなってすみません。
>>518
>今の状態では右へ1キャラ分移動するのに32を加えていると思うけど、
>これはそういう風にするんじゃなくて、将棋の「マス」みたいに管理すべき。
>そしてグラフィックを表示するときにx座標とy座標を32倍すればいい。

おお!ということは、移動処理のほうでNpc.X = Npc.X+1にして、線画処理で
BitBlt FrmMain.PicMain.hDC, Npc.X * 32, Npc.Y * 32, 32, 32, FrmMain.PicChara.hDC, 0, 32, vbSrcPaint
省7
520
(1): 02/07/25 01:52 ID:??? AAS
>>516
absとsgn関数をうまく使え

if abs(敵のx座標-自分のx座標) < 1 then 敵のx座標にsgn(敵のx座標-自分のx座標)を加える
Y座標についても同じ
521
(1): 511 02/07/25 02:23 ID:VlAcWhO2(1) AAS
レスありがとうございます。
>>520
>absとsgn関数をうまく使え

今 abs関数とsgn 関数調べてきました!
絶対値、、、中学のときに習ったような、、自分の不勉強さに身がちぢこまります。
理解できてないままソースにコピペではあまりにも恥ずかしいので
いまから紙にかいて考えてみます。
省3
522
(1): 02/07/25 12:19 ID:??? AAS
>>521
お前は効率的な書き方をマスターしたいのかゲームを完成させたいのかどちらだ?と
小一時間(以下略

慣れないうちはきっちり動くものを作り上げてから速度&効率のチューニングをやれYO!
とマジレスもしてみるテスト
523
(1): チューニングなんて後から 02/07/25 12:51 ID:??? AAS
とりあえず作りかける

ちょっと効率のいいアルゴリズム発見

それにあわせて書き直す

さらに効率のいいアルゴリズム発見
省7
524
(1): 511 02/07/25 21:22 ID:??? AAS
レスありがとうございます。激しく反省中の511です。
>>522
>お前は効率的な書き方をマスターしたいのかゲームを完成させたいのかどちらだ?
ゲーム完成させたいです!

>慣れないうちはきっちり動くものを作り上げてから速度&効率のチューニングをやれYO!
そうですね、まだ直さなきゃ行けないとこがいぱーいあるのに
綺麗なソースをかきたいなんて100年早かったです。。反省。。。
省4
525: 02/07/25 22:06 ID:??? AAS
>>524
報告ならここにしろ
■自主製作ゲーム:開発状況報告スレ■
2chスレ:gamedev
526
(1): 西村トオル、ナイスですね〜 02/07/26 20:35 ID:??? AAS
今、DirectX8で3Dのゲーム作っています。
カメラアングルは、女優(対象)を後ろから捉えています。
そこで質問なんですが、
イベント中とかにゲームの動きを止めて
カメラだけを動かして女優(対象)を舐め回すように撮影したいんですが、
(取り合えず、女優を中心に球を想定して、常に女優の方を捉えつつ
その球面上をカメラが移動って方向で)
省2
527: 02/07/26 22:27 ID:??? AAS
>>526
ベジェ曲線みたいにすりゃいいんじゃない?
528
(1): 02/07/28 03:47 ID:??? AAS
>>511
検証もせずに、他人のコード採用してたら、それこそあぼーんだよ。
解決案が必要なのに、エゴに凝り固まって、他人のソース見ることも出来ないのは、もっと重傷だけどね。
まあ、ゲームに関して言えば、コーディング技術云々より、ゲーム全体としてのデザインの方が重要だから、
そんな小さなことにこだわるな、というのが正解かもね。
529: 02/08/15 17:23 ID:??? AAS
>>528
んなこたーない
530
(2): 02/09/15 11:53 ID:??? AAS
おまいらは、リソースの管理はどうしてますか?
基底クラスを書いて、音や絵やその他のデータなんかも
まとめて管理してるんでしょうか?
531
(1): 02/09/15 19:09 ID:??? AAS
>>530
PCの話で良い?

データのI/Oはインタフェースに肉付けしてく形で作ってる。
具象クラス側で生ファイル、圧縮ファイル、ネットワーク、リソース、
各I/O方法にあわせる事が出来るし、プロトタイプ作ってる途中は
生ファイルI/Oだけあればよいし。
532: 530 02/09/17 02:30 ID:??? AAS
>>531
私も同じようなもんですが、ネットワークは別にしてました。
参考になりました。
533
(3): 02/09/19 05:00 ID:N2qPvY6Q(1) AAS
スプライトを管理するクラスが作れません。C++ です。

今は、各々のキャラクタのクラスがサーフェスやアニメーションの情報も持っていて、
なんとなく不細工な感じがするので、見た目の情報を切り分ける事にしたんですが、
それを一元管理するクラスの設計が出来ません。

今動いてる物をいじるんだから、それなりに便利にしようと思い、
確保したサーフェスやアニメーションの情報や、今表示中のスプライトの情報を、
管理クラスの寿命と共に廃棄できるようにしようとしたり、
省5
534: 533 02/09/19 05:03 ID:??? AAS
sage 忘れてました。
すみません。
535
(1): 02/09/19 05:10 ID:??? AAS
普通にリファレンスカウンタ使う
536
(3): 02/09/19 05:14 ID:??? AAS
俺の場合

◆オブジェクトクラス
スプライトへのポインタ(場合によってはテーブル)
各種パラメータ
_______

◆スプライトクラス
対象サーフェスへのポインタ
省8
537
(1): 536 02/09/19 05:18 ID:??? AAS
場合によっては、

スプライトクラスを

◆スプライトクラス
現在位置
スプライト定義クラスへのポインタ
表示しているRECTのindex

◆スプライト定義クラス
省3
538
(1): 02/09/19 05:18 ID:??? AAS
キャラをオブジェクトと見立ててそれぞれで画像を管理するとめちゃくちゃにならない?
私がやったときは、各キャラのデータを保持するクラスを作って
それとは別に「キャラのデータを元に画面を組み立てる」関数を作った。

ハードコーディングでキャラの外見を決める場当たり的な方法だけど、
小規模なら混乱を最小限に防げてプラクティカルだよ。
539
(2): 02/09/19 05:35 ID:??? AAS
スプライトをリファレンスカウンタで管理するってどうよ。
シーン構築時に必要な物をすべて読み込んで、
終了時にまとめて削除する方が速いしスマートじゃね?
540
(1): 533 02/09/19 05:42 ID:??? AAS
>>535-536
早朝からありがとうございます。

リファレンスカウンタは、調べていてる時に見つけて
>>536 さんのような感じにしていたんですが、
管理するクラスと、それに管理されるクラスとの関係を
上手くまとめられませんでした。

ゲーム開始前の時点で、管理クラスにサーフェスやアニメーションなんかの
省5
541: 533 02/09/19 06:08 ID:??? AAS
>>540 を書き込む前に、その間の書き込みを確認してませんでした。

>>537
そうやって定義を分けておくと、同じ種類のキャラクタのスプライトで使いまわせますね。
参考になりました。

>>538
>「キャラのデータを元に画面を組み立てる」関数
が私が最初にとっていた方法だと思います。
省8
542: 02/09/19 12:33 ID:??? AAS
>>539
読み込み失敗時のエラー処理が繁雑になるから、ゲーム開始時点で
まとめて読んでしまった方が良いかも。データ量にも依るけど。
543
(1): 02/09/19 15:44 ID:0CTGoUX3(1) AAS
vertex-shaderってなんですか?
544
(1): 02/09/19 15:57 ID:??? AAS
vertex-shader(頂点シェーダ)ってのは、
トランスフォームやライティングやテクスチャやブレンディングなどの頂点処理機能のこと。

プログラマブル頂点シェーダは、いままで処理系(Direct3Dなど)の
固定機能のみであったのに対して、これらの機能をプログラムできるってやつ。
545
(1): 02/09/19 16:04 ID:39QNxA7D(1) AAS
外部リンク[html]:muvc.net
546: 543 02/09/19 16:38 ID:??? AAS
>>544
サンクス。
禿しくわかりました。
オレイデス(・∀・)つ旦~
547: 02/09/20 02:00 ID:??? AAS
>>545
イイ!
548: 02/09/20 04:38 ID:??? AAS
ここはひどいインターネットでしたね
549
(1): 02/09/22 18:44 ID:lBYio+jt(1) AAS
画角を、視点からの距離に応じて自然に変化させる事はできますか?
普通の人間に近い画角を設定すると、至近距離での物の見え方が
おかしいように感じます。
550
(1): 02/09/22 19:54 ID:??? AAS
その問題は随分昔から色々言われてきて、
今のところ現実的な解決方法が見つかってないと思う。
至近距離のものは、目には歪んで見えているのに真っ直ぐのものを
真っ直ぐと認識できる。これは脳みそが補正しているからです。

至近のものをなんとかして正しくゆがめて表示すると、
それはそれで不自然に感じるはず。
なぜなら、脳が補正しないから。
551
(2): 02/09/22 19:57 ID:??? AAS
もー少し書くと、
最大の問題は、目からディスプレイまでの距離が離れているから、
自然な映像は目からディスプレイよりも近い映像を表示し得ない
のです。

ヘッドマウント式のディスプレイであれば、
正しくゆがめるとちゃんと認識できると思う。
552
(1): 02/09/22 22:18 ID:??? AAS
>>551
HMDは焦点距離を1mくらいに設定してるので、
結局うまく認識できないと思う。
553
(1): [ほんと聞きながしてほしいんだけど] 02/09/22 22:28 ID:??? AAS
それは16Bitでの単色のグラデーションが汚いことより重大な問題なのか?
1-
あと 433 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s