08/02/14 19:42:16 pSsqRNS4.net
あ、閃いた。
進行方向へレイを飛ばしてメッシュとの当たり判定をすればいいだけか!
なんか難しく考えすぎていたかも。
420:名前は開発中のものです。
08/02/15 07:11:09 K/laBkuB.net
>>419
ブログはどこにあるんですか?
421:386
08/02/15 21:30:12 3FV8glr2.net
>>420
まだあんまり書いてないけどここです。URLリンク(mmodev.seesaa.net)
ファイル2Gまで置けるのはいいけど、重いし広告が多くて微妙
今の移動方式だとFF10のような2.5Dなゲームにしかならなさそう。
キー入力による移動先とワールド座標が固定されているため、視点移動ができないから。
視点が変わっても↑キーを押したら画面の奥へ進んで行かせたいけど、どうしたらいいのか分からない。
422:386
08/02/15 23:08:34 3FV8glr2.net
FPSみたいな移動方式ならFPS・格ゲ・MMORPGなど、いろいろ流用が効く気がする。
でも、WASDで移動はいいとして視点移動のキーや動かし方がどうなっているのか、FPSをやったことがないのでよく分からない。
423:名前は開発中のものです。
08/02/17 01:32:56 hrNIpN4n.net
一般的なFPSだとWとSで前進&後退、AとDで左右へカニ歩き、視界はマウスで制御してコレが進行方向(&射撃方向)に連動って感じかな
マウス使わないDOS時代のヤツとか視界と進行しないタイプ(戦車ゲーとか)なんかだとQとEに左右旋回が割り当てられてたりもするね(カニ歩きとは別に)
操作を単純にしたければWとSで前進&後退、AとDで左右旋回だけ(カニ歩きは無し)でもいいかもね
キャラの移動についてはキー入力で直接座標を増減させるんじゃなくて、
キャラの進行方向をべクトルで持たせておいて、べクトルの各成分に応じてキャラの座標を増減させればいいんでない?
そんでカメラを固定すればバイオハザードみたいな操作感になるし、べクトルの旋回に合わせてカメラも回り込ませれば>>421で言ってる様な状態になるよ
加えてキャラの位置にカメラを置けばFPS風表示の出来上がり、と
あとは三人称視点ならキャラは前後左右の4方向移動(別に8方向でもいいけど)で、それとは別にカメラ回転キーを割り当てるとか
この場合はカメラの向きからべクトル生成してワールド座標上のキャラ位置の増減に反映させるワケね
これだと場所によってカメラ回転を禁止したり制限したりしてもプレイヤーが操作に戸惑いにくいので割とオススメw
424:名前は開発中のものです。
08/02/17 01:36:41 hrNIpN4n.net
あ、ごめん、ちょっと抜けた
>視界と進行しないタイプ
は、視界と進行方向が連動しないタイプ、ね
425:386
08/02/17 15:40:08 m9cs8RL8.net
べ、べくとる・・・
ちょっとよく分からないので調べてみます。
426:386
08/02/18 22:29:41 yEKh3+K1.net
だめだ全然分からない。3回目くらいの壁かも
とりあえずできたところまでまとめ
・構造体を使ってキャラクターとカメラの座標・進行方向をまとめる→できた
・進行方向をベクトルで表す→(0,1,0)とかで表すと思うけど、その数字の取得方法・使用方法が分からない
・キーが押されたらカメラを回転させる→
カメラ.方向.x = cos(3.14*2*30/360);
カメラ.方向.y = cos(3.14*2*30/360);
とやってるけど、ピクッとしかカメラが動かない。+=にすると動きが明らかにおかしいし。
たぶんこれが方向ベクトルだと思うんだけど。
キャラクターも回転させなければいけないし、とか考えてたら混乱してきた
427:名前は開発中のものです。
08/02/19 01:30:15 mFUUBIv+.net
えーと、カメラ回転させるならまずカメラの方向を放り込んでおく変数を一個作んないとね
0~255までの単精度整数とかで充分、デフォルトが0で、256で一回りね
ここでは便宜上cam_rとでもしとこうか。勿論構造体ん中に組み込んじゃってもおkだけど
で、このcam_rをカメラ回転キーが押されたらテキトーに増減させるワケよ
そんで描画する際のカメラ位置を
( myx+5.0f*sin(6.28*cam_r/256), myy+5.0f, myz-5.0f*cos(6.28*cam_r/256) )
てな感じでカメラ方向のsinからx位置、同じくcosからz位置を求めれば良し
見る場所についても考え方は基本的におんなじ
キャラを挟んでカメラのちょうど反対側になるのでプラマイ逆転させるだけ
これで取り敢えずカメラは回転できるようになるハズ
キヤラ移動方向の連動を考えるのはここまでできてからでも遅くないとオモ
428:386
08/02/19 23:36:04 lcDwM3j2.net
>>427
できました!ありがとうございます!
ついでに向いた方向への移動と、キャラクターの回転と横の当たり判定までできました!
ソース
URLリンク(mmodev.up.seesaa.net)
実行ファイル
URLリンク(mmodev.up.seesaa.net)
Wで前進、Sで後退、A,Dで方向転換
なんかプログラミングしているというより、数学をやっているような感じ
ベクトルがよく分からなくてsin、cosでプログラムを書いた。
それっぽく動いてるけどベクトルは分かってない。
今後の目標
・NPC実装
・当たり判定をもう少し丁寧に
・ソースが酷いことになってきたので綺麗に
429:386
08/02/19 23:57:18 lcDwM3j2.net
マウスで視点を動かす機能を忘れてた。
建物の角をかすめるように進んでから建物の中心へ方向転換すると完全に建物の内部へ侵入してしまって、
建物内部にいる場合は後退処理してるせいで、前進しているはずなのに長距離後退してしまう現象があるようなないような
市販のゲームでも壁へ向かって進むと小刻みに振動するから、この処理で基本的に間違ってないような気がするんだけど
430:386
08/02/20 23:48:31 MXWL13K2.net
なんで3Dなのに、こんなのっぺりしてるんだろ
とりあえず敵のモデリング終了。後は
・敵を配置
・敵に攻撃できるようにする
・メッシュのアニメーション
・体力を設定する
これでとりあえずゲームとしては完成する・・・のかなたぶん
何のゲームだかよく分からないけど
431:386
08/02/21 19:44:11 LLXKH3i1.net
メタセコイアの設定変えたらのっぺり解消したかも。
ネトゲのファイルを開いたりすると、Xファイルなんてカケラも見当たらないんだけど
こういうデータ隠蔽技術?みたいなのはどうやってるんですか?
432:名前は開発中のものです。
08/02/22 02:08:21 Xr90hKPe.net
・単純に拡張子を偽装
単にファイルの拡張子を書き替えただけなのでメモ帳とかに放り込まれるとモロバレ
.xでなくてもファイル読み込む時に拡張子までちゃんと指定してやればX形式のデータとして問題無く使えるハズ
・圧縮ファイルに詰め込んで拡張子を偽装
独自形式で圧縮してる場合もあるかも知らんけど只のzipだったりすることもあるので取り敢えずバイナリエディタでヘッダ確認すべし
自分でやるなら一旦テンポラリに展開するか直接メモリに読み込むかしてくれるライブラリをどっかから拾ってくれはいいんじょない?
・プログラムファイル内に埋め込み
画像とかならアングラ系のツールで無理矢理吸い出すヤツがあるけどX形式のデータに対応してるのってあんのかな?
ゴメン具体的なやり方も知らない、つうか実はC使っとらんのよw
多分リンカでEXEファイルに埋め込むリソースをコード中で指定する方法がなんかあるんだろうと思うんだけどね
ま、気になるなら自分でテキトーに調べて(ひでぇ
大体こんな感じじゃないかなぁ
433:386
08/02/22 19:59:07 zT5RyBhC.net
>プログラムファイル内に埋め込み
これが簡単でそれなりに効果ありそう
WIN32API使って画像ファイルをリソースに埋め込む方法でやればいいんですよね。
434:名前は開発中のものです。
08/02/23 08:26:31 2ON6i3e2.net
市販ゲームの多くは、
> ・圧縮ファイルに詰め込んで拡張子を偽装
だな。
解凍されたくないひとが多いだろうから、
独自形式だろうけど。
435:名前は開発中のものです。
08/02/23 08:27:21 2ON6i3e2.net
> ・単純に拡張子を偽装
これも昔あった、エロゲでw
.ampっていうのが単なる.bmpだったときが
436:386
08/02/23 22:16:17 bz4ZlXXd.net
圧縮ファイルに詰め込むのって、解凍ソフトを作れるくらいの高度な技術が必要そうだから自分には無理かも・・・
437:名前は開発中のものです。
08/02/24 05:49:46 ZSvVUvU+.net
>>436
いや、全然簡単。誰でもできるよ
圧縮ファイルっていっても、自分で使うことだけを考えればいい。
ようは、「圧縮されたファイル」を「1つにまとめる」ようにすればよいだけなんだ。
「1つのファイル」のするのは、オレオレ形式でいいんだ。
A, B, C, Dってファイルがあるとすると、
------ファイル-------
適当な識別のための印("OREOREASSYUKU"とか)、
形式のバージョン番号(互換性のため用意"0.1.0"とか)、
ファイル数(ABCDだから、この場合4)、
Aの位置、Aのサイズ、
Bの位置、Bのサイズ、
Cの位置、Bのサイズ、
Dの位置、Dのサイズ、
Aの中身、
Bの中身、
Cの中身、
Dの中身
---------------------
って感じのファイル構造をつくればいいだけ。
438:437
08/02/24 05:50:11 ZSvVUvU+.net
ながすぎた。
>>436への返信続き
さて、「圧縮されたファイル」だけど、
これは、面倒ならライブラリの zlib でも使えばいいだけ、
上の例でいえば、「Aの中身」「Bの中身」「Cの中身」「Dの中身」を
出力するときに、zlibを通すだけでいいんだ。
どうしても暗号化したいなら、 zlibかましたのを適当にいじくる
あと、極端な話、場合によっては圧縮すらしなくてもいい。
例えば、画像ファイルなら、まーPNGとか大概すでに圧縮されているだろうから、
再度の圧縮の意味はないよね。
解凍ソフトっていうとレベルが高い気がするが、
適当に「圧縮されたファイル」を「1つにまとめる」ツールをでっち上げるのと、
本体にそれの逆をやる処理を入れるだけだよ。
439:437
08/02/24 05:52:04 ZSvVUvU+.net
>>437の構造間違っている orz
> Cの位置、Bのサイズ、
Cの位置、Cのサイズ、
な。
あと、なんで、>>437の構造でいいかっていうのは、
「Aの中身」「Bの中身」「Cの中身」「Dの中身」を
最低限、読み込み時に取り出せる構造だから。
実際にやってみるといいよ。
一回作れば、次からは使いまわせる部分だし
440:437
08/02/24 05:58:15 ZSvVUvU+.net
>>437ができて、
もっと便利にしたければ、後々拡張していけばいいんだ。
例えば、
> Aの位置、Aのサイズ、
以外に
Aの位置、Aのサイズ、
Aのハッシュ(Aの中身が合っているか調べるため)、
Aの形式(圧縮されているか、圧縮されていないか、など)、
などを追加してもいいね。
「形式のバージョン番号」を> >437 に含めたのには、
上のように拡張しても、バージョンで場合分けすれば前の形式も読めるから。
でも、こういう応用はは、>>437-438ができてからでいい、
はっきりいって別にいらない処理でもある
441:386
08/02/24 17:53:35 CFcqCEJR.net
APIを使ってXファイルのサイズを取得
↓
テキストファイルAに書き込む。ついでにXファイルAの中身(メッシュの実体?)も同じテキストファイルにコピペする。
↓
同じように、テキストファイルAにXファイルBの中身もコピペする。
↓
これをXファイルの数だけ繰り返す。
位置っていうのが分からないですが、こんな感じですか?
読み込みが難しそう
442:386
08/02/24 20:36:27 CFcqCEJR.net
アニメーションのデータ作るのが難しい。
ボーンというのを仕込まなければいけないらしいけど、素のメタセコイアではできないっぽい。
Blenderならできるみたいだけど、Xファイルもメタセコイアの.mqoも読み込めないから一から作り直しっぽいし
443:437
08/02/24 22:53:27 ZSvVUvU+.net
>>441
基本はそう。
ファイルの中身のコピペの他に、各種情報を入れたヘッダーがいるわけ
アーカイブ内の生データの位置がわかんないと、読み込み時に任意のほしいファイルが読み込めない。
あと、テキストファイルかどうかは全く関係がない。
基本何でもつっこむので、バイナリで考える。
ちなみに、言語のライブラリにあるであろう、ストリーム入出力などを使うと、
後の拡張(例えば圧縮をかませたり)がしやすい。
444:437
08/02/24 22:56:37 ZSvVUvU+.net
どうしても面倒なら、最初に自分でいっていたように、
zip書庫が扱えるライブラリを使うのも手。
もちろんライセンスが許す場合と、zip対応ソフトで解凍されてもいいって条件つきだが。
最近は、実は中身はzipで、解凍ソフトに放り込むと解凍できてしまうソフトのデータもある。
まあゲームでは見かけないが
445:386
08/02/24 23:59:48 CFcqCEJR.net
zlib以外はなんとなく分かってきました。
位置は[xfile1]とかをXファイルのバイナリの前に書いておいて、ゲームでXファイルを使うときは[xfile1]を文字列検索して
ファイルの大きさぶんだけ読み込めばできそうな感じがします。
zlibの圧縮ですが、解凍って結構時間がかかった気がするんですが、使うたびに解凍するんですか?
446:名前は開発中のものです。
08/02/25 01:17:53 ApwqjhCk.net
このスレみたいな使い方ならmaglog(vector)がいいぞ
もともとそういう使い方想定してるし
447:名前は開発中のものです。
08/02/25 14:18:43 rV9I0vHw.net
>>442
メタセコイアでも辺の作成で点と線を作成できるぞ。
rokdeboneでつなげてボーン作成してXファイル出力。
hgimg3で出力するとXファイルは、なぜか真っ暗になってしまうけど。
448:386
08/02/26 18:05:51 wIVnnbz8.net
>>446
これよさそうですね。時間できたら引っ越してみます。
>>447
HGIMG3が何かよく分からないですけどRokdeBoneでアニメーションファイルたぶん作れました。
再生の方法が分からないので、本当にできているかが謎ですが。
とりあえず今までのとは別のアプリとして、暗号化?したXファイルから読み込んだデータを
アニメーションさせたいけどかなり時間がかかりそう
449:386
08/02/27 22:46:13 GnjCwVFI.net
アニメーション全然分からないなぁ・・・
SDKのサンプルはなぜかコンパイル通らないし、ファイル分割されてると読めない
関数一つで手軽にXファイルからロードできるような物じゃないってところだけは分かった。
450:名前は開発中のものです。
08/02/28 15:42:10 DJkYNGGC.net
SDKには付属のXファイルビューワーがあったような。
451:437
08/03/01 17:07:45 ESvEWD62.net
>>445
だからテキストは関係ねえつったら何度わかるんだw
文字列検索も関係ねえ。
最終的にテキストで扱いたいなら、最後にテキストにするだけ
バイナリファイルは扱ったことない?
452:386
08/03/01 22:12:39 lYAsHlKu.net
>>450
使ってみたら動き出したので、アニメーションつきXファイル自体は作成できているみたいです。
でも、ビューワーのソースがC#しかないみたいで、ビューワーの仕組みが不明・・・
今はとりあえず某所のソースをコピペして、動くかどうか実験しようとしてます
>>451
Win32APIのファイルを扱う関数を使って、バイナリで入出力をしたことはあります。
でもバイナリを直に扱うというか、バイナリの仕組みとか分かってないです。
あ、NOPが1hzぶんSleepっていうのだけ知ってます
453:437
08/03/02 02:35:13 GhRRsOcA.net
世の中には、2つのファイルがある
テキストのファイルと、バイナリのファイルだ
テキスト以外はバイナリだと思ってもらってかまわん。
バイナリファイルは、
int(integer)の数字を書き込んだなら、32bitOSなら、32bit=4バイト書き込まれる。
実際にプログラムから書きこんで、バイナリエディタで見てみればわかる。
同様に、byteやfloatなども書き込んでみて、確認してみるとよい。
BMPや、PNG、JPGなどもこのように書きこまれており、バイナリファイル。
さて、上で「データの位置」と読んでいたのは、
バイナリファイルでのシーク位置のこと。
つまり、「データの位置」が128なら、128バイト目の一から読み込むということだ。
454:437
08/03/02 02:36:14 GhRRsOcA.net
> つまり、「データの位置」が128なら、128バイト目の一から読み込むということだ。
つまり、「データの位置」が128で、「データのサイズ」が64なら
128バイト目の位置から64バイトを読み込むということだ。
455:386
08/03/02 22:50:57 hDaW34Zb.net
!
使ったことないですけど、cの関数を使うんですか?
456:386
08/03/02 23:14:02 hDaW34Zb.net
いろんな所のスキンメッシュのサンプルをコピペしてるけど、未だにコンパイルすら通らない・・・
457:437
08/03/03 09:50:25 IZ1YtIpV.net
コンパイル通らないって・・・w
もう少しC/C++を勉強しろw
458:386
08/03/04 22:11:28 ZRfAoK2V.net
やっとコンパイルが通った
ソースをいじっていきたいところだけど、SDKを2006にしたらパソコンが低スペックなせいか重過ぎる
459:386
08/03/05 20:38:18 rNPfHgdy.net
なんかSDKをアップデートしたら付属サンプルのSkinnedMeshすら動かなくなった。諦めよう。
板ポリゴンに絵を張るところからやり直してみる
460:386
08/03/05 22:31:46 rNPfHgdy.net
べ・・・別にスキンメッシュが分からないからやめる訳じゃないんだからね!
低スペックでも動かなければ意味がないからやめるだけなんだからね!
で、以前どこかのゲーム紹介記事で見た、板ポリゴンにテクスチャを張って3D空間上で動かすってっていうのをやってみようと思う。
1.板ポリにテクスチャを貼る
2.貼るテクスチャを切り替えてアニメーション
物理計算や3Dマップは今まで作ってきた資産が使えるから1.2.ができればすぐにゲームが作れるようになる気がする
461:386
08/03/10 00:04:42 IBohNBCB.net
なかなか時間がとれない
とりあえず調べた所までまとめ
・テクスチャ張替えによる2Dアニメーションも、テンプレートやら何やらで結構難しいっぽい
・SkinnedMeshが再生できない件はフォント関連の不具合というかハードの性能不足?
なので、そのへんをとっぱらえば再生できそうな予感。
・あと、Xファイルから読み込まずにポリゴンを作成するのは最初にやったからできるけど、
その頂点情報をまとめて移動させたりすることができない。
んで、しょうがないのでXファイルから読み込んでるけど、無駄が多い気がする。
462:386
08/03/15 07:00:19 /iXWye2P.net
解説サイト見ながらSkinnedMeshのフォント部分を取っぱらってみようかと思ったけど、
SDKのバージョンが違うせいか、ソースが全く変わってて全然解説になってない
というか、なんでSkinnedMeshのサンプルにわざわざシェーダー?とかいうのを使ってるんだ・・・
463:386
08/03/20 11:29:28 N8WhzwFo.net
おお・・・自力でフォントとっぱらってコンパイルして、再生成功した・・・長かった・・・
今まで一つのファイルにソースをべた書きしたことしかないので、SkinnedMeshのように
大量のファイルに分散して書く意味が分からない。
とりあえず、余分な機能を削って自分用ライブラリっぽいものにしていこうと思うけど
ファイルが複数に分散しているせいでバックアップがとれない状態なので、失敗したら後戻りができない
464:386
08/03/24 20:25:19 e7CsY/T1.net
SkinnedMeshサンプルのコードを30行くらい削減できた
SkinnedMesh.cpp以外の使わない.cppを切り離したいけど、複雑に絡み合っててどうしたらいいのか分からない
465:386
08/04/06 22:30:38 SvFmqoyX.net
タイムリミットが来たのでいったん終了
時間ができたら再開
466:名前は開発中のものです。
08/06/04 20:14:31 xVETCOHb.net
新しい gamedeve一応かきかき
TopPage - game-develop.com wiki
URLリンク(wiki.game-develop.com)
GameDevWikiを何とかするスレ
スレリンク(gamedev板)
467:名前は開発中のものです。
09/03/10 13:43:23 /hTRq8qR.net
マチクタビレタ~
☆ チンチン〃 Λ_Λ / ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < 再開マダー?
マチクタビレタ~ \_/⊂ ⊂_ ) \____
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| | マチクタビレタ~
468:名前は開発中のものです。
09/10/17 19:50:12 J6Fev0B0.net
あああ
469:386
09/11/09 14:12:28 ov/osiZ3.net
休止している間に時代がDirectX11になっている件について
どうせ覚えるのに時間かかるから、再開するならDirectX11にしようと思うけど、
G33オンボードでDirectX11が動くのかかなり怪しい
470:名前は開発中のものです。
12/09/19 20:39:59.49 fSU5XGsf.net
これはアメリカのゲームです。1度やってみてください。
これは、たった3分でできるゲームです。試してみてください。 驚く結果をご覧いただけます。
このゲームを考えた本人は、メールを読んでからたった10分で願い事が
かなったそうです。このゲームは、おもしろく、かつ、あっと驚く結果を 貴方にもたらすでしょう。
約束してください。絶対に先を読まず、1行ずつ進む事。 たった3分ですから、ためす価値ありです。
まず、ペンと、紙をご用意下さい。 先を読むと、願い事が叶わなくなります。
①まず、1番から、11番まで、縦に数字を書いてください。
②1番と2番の横に好きな3~7の数字をそれぞれお書き下さい。
③3番と7番の横に知っている人の名前をお書き下さい。(必ず、興味の
ある性別名前を書く事。男なら女の人、女なら男の人、ゲイなら同姓の名
前をかく)
必ず、1行ずつ進んでください。先を読むと、なにもかもなくなります。
④4,5,6番の横それぞれに、自分の知っている人の名前をお書き下さ
い。これは、家族の人でも知り合いや、友人、誰でも結構です。
まだ、先を見てはいけませんよ!!
⑤8、9、10、11番の横に、歌のタイトルをお書き下さい。
⑥最後にお願い事をして下さい。さて、ゲームの解説です。
1)このゲームの事を、2番に書いた数字の人に伝えて下さい。
2)3番に書いた人は貴方の愛する人です。
3)7番に書いた人は、好きだけれど叶わぬ恋の相手です。
4)4番に書いた人は、貴方がとても大切に思う人です。
5)5番に書いた人は、貴方の事をとても良く理解してくれる相手です。
6)6番に書いた人は、貴方に幸運をもたらしてくれる人です。
7)8番に書いた歌は、3番に書いた人を表す歌。
8)9番に書いた歌は、7番に書いた人を表す歌。
9)10番に書いた歌は、貴方の心の中を表す歌。
10)そして、11番に書いた歌は、貴方の人生を表す歌です。
この書き込みを読んでから、1時間以内に10個の掲示板にこの書き込みをコピーして貼って下さい。
そうすれば、あなたの願い事は叶うでしょう。もし、貼らなければ、願い事を逆のことが起こるでしょう。とても奇妙ですが当たってませんか?
471:名前は開発中のものです。
12/09/19 21:03:12.85 Cm+UcH7p.net
見てます
472:名前は開発中のものです。
13/01/15 01:24:43.58 Odrgn/sW.net
当たっていません
473:名前は開発中のものです。
15/03/01 00:27:15.53 /P+BpwrA.net
腹へった