[過去ログ] 物凄い勢いで誰かが質問に答えるスレ@ゲーム製作技術 (1001レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
632(1): 名前は開発中のものです。 [] 02/05/15 22:39 ID:NnWbsCpI(1) AAS
>>625625(2): 名前は開発中のものです。 [age] 02/05/14 14:48 ID:??? AAS
DirectXの3Dゲームで、人のアニメーションてどうやるんですか?
(たとえばお辞儀したり手を振ったり)
足とか腕とかのパーツごとに分割して保持しておいて、
自前で回転させたりとか?
アニメーションは3Dソフトで作る。
コードからは使いたいアニメーションを呼び出すだけ。
633: 625 [sage] 02/05/16 02:33 ID:??? AAS
>>626-627
私へのレスですか?
とりあえず買ってみるです。
ありがとう。
>>632
なるほど、わかりました。
とりあえずフリーのツールや試用版などで試してみようと思います。
MilkShapeでできるかな〜ドキドキ。
634(1): 名前は開発中のものです。 [] 02/05/16 23:53 ID:kQwZG8gI(1) AAS
質問です。
進みたい距離(移動距離)とかかる時間(フレーム)が判っていて、
初速度は0の時、加速度はどうやって求めるのでしょうか?
例.
速度が V だとして、(初速度は0だから V0 は 0)
V には毎フレーム加速度が加算されるとします。
加速度が A だとして、
V += A;
です。
次に、毎フレームごとに距離に速度が加算されるとして、
距離が X だとします、
X += V;
です。
では、
100 (単位は何でもよし)進みたい、
かける時間は 60 フレーム、
としたら加速度はいくつになるのでしょうか?(初速度は 0 )
635: 名前は開発中のものです。 [sage] 02/05/17 00:29 ID:??? AAS
V = 100 / 60 / 61 * 2
636: 名前は開発中のものです。 [] 02/05/17 00:47 ID:yCU7BAXU(1) AAS
Σ(n=0...60) n・A = 100
を解けばよろしいのではと愚考いたしますが。
637(3): 名前は開発中のものです。 [sage] 02/05/17 01:04 ID:??? AAS
static DWORD delta = 0;
DWORD t = ::timeGetTime();
if (g_pD3DDev->BeginScene() == D3D_OK) {
static float f = 0;
f += 1.0 * delta / 1000;
省略
g_pD3DDev->EndScene();
g_pD3DDev->Present(NULL, NULL, NULL, NULL);
}
delta = ::timeGetTime() - t;
1秒間で1.0進むのを表現するのに、上のようにしたのですが、
フレームレートが700fpsとか、非常に高いときdeltaが0になってしまい、
カクつくんですけど、どうしたらいいんでしょうか?
638: 名前は開発中のものです。 [sage] 02/05/17 01:06 ID:??? AAS
>>637
if (delta < .001f) delta = .001f;
639: 名前は開発中のものです。 [sage] 02/05/17 01:11 ID:??? AAS
>>634
60A_____
/|
/ |
/ |
/ |
/ |
/ |
0~~~~~60(frame)
この三角形の面積が100だと俺の算数的直感は継げております。
640: 名前は開発中のものです。 [age] 02/05/17 09:37 ID:??? AAS
>>637
static DWORD t_old=-1; // 前フレの時間
static float = 0;
if (g_pD3DDev->BeginScene() == D3D_OK) {
DWORD t = ::timeGetTime(); // 今回の時間
if(t==-1)
{
delta=0;
} else {
delta=(t-t_old)/1000.f // 経過時間
}
f += delta;
t_old = t;
省略
g_pD3DDev->EndScene();
g_pD3DDev->Present(NULL, NULL, NULL, NULL);
}
こんな感じかと。
そもそも、floatをインクリメントするなと小一時間問い詰めたい。
あと、fは何やってるか解らんかったので適当に書いといた。
あんまり考えずに書いたので間違いがあればゴルァしてくれ。
641: 637 [sage] 02/05/17 09:47 ID:??? AAS
そうだね、インクリメントするのはよくないね
ってことで、下のように直しました。
range = 1.0f * normalize(delta) / 1000.0f;
#normalizeは0〜1000に正規化
概ねマトモに動いてますが、たまにカクつくことがあります。
これはdeltaを掛けている以上仕方がないことなんでしょうかね。
フレームレートを固定して、ドット単位で動きを扱う方が見た目綺麗なんですけど。
642(3): 名前は開発中のものです。 [] 02/05/22 04:47 ID:.tzvBhgU(1) AAS
外部リンク:www.scej.jp
外部リンク[html]:www.level5.co.jp
ダーククロニクルの輪郭線と背景の陽光表現(グレア?)が
どうなってるのかサッパリ。なんか既存の手法とは違うっぽいんだけど…
643(1): 642 [sage] 02/05/22 04:49 ID:??? AAS
画像リンク
とくにこの画像の左手の指に輪郭線がかかれていないのが不思議。
644(1): 名前は開発中のものです。 [sage] 02/05/22 04:51 ID:??? AAS
>>642
この辺?
外部リンク[html]:homepage1.nifty.com
645(4): 名前は開発中のものです。 [sage] 02/05/22 04:57 ID:??? AAS
>>643
Zバッファに一定値以上の差がある部分を黒くしているのでは。
ジオメトリベースではなくイメージベースの輪郭線抽出手法。
646(1): 642 [sage] 02/05/22 05:21 ID:??? AAS
レス早っ。感謝。
>>644
あ、それいいかも。無茶苦茶綺麗ー。
ゲームの方より綺麗かも。
>>645
2D的な処理ってことでしょうか?
あまり見かけない手法ですけど
メリットはあるんでしょうか。
647(1): 名前は開発中のものです。 [sage] 02/05/22 07:32 ID:??? AAS
>>645
見た感じ、素で輪郭抽出だけじゃなくて、パーツ単位で抽出してますね。
背景がいいんだよなぁ、このゲーム。
648: 名前は開発中のものです。 [] 02/05/22 09:10 ID:cVo.KTwk(1) AAS
>>647
確かに、これってスキンをパーツごとに
輪郭線つけたい部分で分割してるように見える。
つまり手法としては別段特別な事はやってないって認識でOK?
649(1): 名前は開発中のものです。 [] 02/05/22 10:31 ID:YoyxbZGY(1) AAS
自分でつくったフォントを使ってノベルゲー作れるツールってある?
650(1): 名前は開発中のものです。 [sage] 02/05/22 10:34 ID:??? AAS
>>645とちょっと違って
パーツごとにIDを振って、IDが異なってる部分を
黒くしているようにも思える。
651: 名前は開発中のものです。 [age] 02/05/22 11:02 ID:??? AAS
>>645
これってステンシル使って効率よく実現できないかなぁ。
具体的な方法は思いつかないけど、ステンシルシャドウの
やり方を応用してなんとかなりそうな・・・(かなり無責任発言スマソ)
652: 名前は開発中のものです。 [sage] 02/05/22 11:06 ID:??? AAS
>649吉里吉里2/KAG3
653: 名前は開発中のものです。 [age] 02/05/22 11:11 ID:??? AAS
(´-`)。oO(642以降の話題は本来なら出し惜しみスレでやるべきなんだが、荒れてるしなぁ。
654: 名前は開発中のものです。 [sage] 02/05/22 14:07 ID:??? AAS
THE386BOOKって以降のペンティアムやセレロンで
アセンブルする時のニ−モニックやレジスタの参考書になり得る??
TOWNS持ってた時に使ってたやつなんだけど、資料として
古すぎかな?
655: 名前は開発中のものです。 [sage] 02/05/22 14:20 ID:??? AAS
その手の本はたまにハンドアセンブルするときに命令フォーマットを見るのに便利じゃない?
656: 名前は開発中のものです。 [sage] 02/05/22 14:31 ID:??? AAS
ハンドアセンブル……懐かしい響きだ。
上下前次1-新書関写板覧索設栞歴
あと 345 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.023s