宇宙空間を表現

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
はね

宇宙空間を表現

#1

投稿記事 by はね » 16年前

こんにちは。
龍神録を楽しく改造して遊ばさせてもらってます。
改造しながらふと思ったことなんですが
本家龍神録のPhantasmモードを選んだあと、
宇宙空間みたいな世界の画面に飛びますよね?
あれってどうやって遠くからだんだん画面に向かって
近づいているような感じにしてるんですか?
ついでに綺麗なランダムに星が散らばってるのも
気になってます。改造龍神録のボス背景の一つにしてみたいなぁと
考えているんですがどうも実装できなくて困ってます。
誰か実装出来た方がいたらぜひソースを教えてください。
よろしくお願いします。

Dixq (管理人)

Re:宇宙空間を表現

#2

投稿記事 by Dixq (管理人) » 16年前

(出先なので携帯から投稿してます)

背景は3Dで計算しています。
詳しくは龍神録の館の58~60章の辺りをご覧下さい。

はね

Re:宇宙空間を表現

#3

投稿記事 by はね » 16年前

3Dで絵データをランダムに一定の場所に固まることなく散ばせる方法はどうしたらいいのでしょうか?

Dixq (管理人)

Re:宇宙空間を表現

#4

投稿記事 by Dixq (管理人) » 16年前

「乱数をある程度制御する」方法ですね。これについてはまずこの辺をご覧下さい。

http://dixq.net/rp/28.html

様々な方向に飛ばそうと思っても、
単に乱数を使っただけでは、ある角度に集中して偏ってしまうかもしれません。
しかし、乱数の生成範囲を限定してやり、その範囲を自分の思う範囲を制御してやればある程度自分の思い通りの乱数になります。
例えば今、
0~29の乱数を3回生成したいとしましょう。

int Ram;
Ram = rand()%30;
Ram = rand()%30;
Ram = rand()%30;

これでも確かに出来るでしょうが、極端な話、全部同じ値になってもおかしくありません。
しかしこれを

int Ram;
Ram = rand()%10+ 0;
Ram = rand()%10+10;
Ram = rand()%10+20;

こうすることで、少なくとも
 0~ 9の間の数値が1回、
10~19の間の数値が1回、
20~29の間の数値が1回、
出現する事が保証されます。

私は乱数を制御したい時はこうしています。
 

閉鎖

“C言語何でも質問掲示板” へ戻る