タグ付けされた質問 「procedural-generation」

手続き型の生成とは、手動ではなくアルゴリズムと計算に基づいてコンテンツを構築することです。

2
グラフを段階的に生成するにはどうすればよいですか?
テレポーターで接続された手続き的に生成された場所でゲームの世界を構成したいという新しいプロジェクトを始めたところです。少し調べてみたところ、誰が議論しているかによって、「グラフ理論」または「流血複雑」と呼ばれることがわかりました。残念ながら、グラフの生成に関する情報はほとんど見つかりませんでした。私が見たほとんどのツールは、既存のグラフを調べることに向けられています。 用語が正しく整理されていると仮定すると、私の要件はグラフが次のとおりであることです。 シンプル—位置(頂点)にはそれ自体に接続するテレポーター(エッジ)がなく、2つの頂点にそれらを接続する複数のエッジがあるべきではありません。 connected —グラフ内の任意の2つの頂点の間を移動できるはずです(ただし、パスを見つける必要があるとは思いもしません。プレイヤーがパスを選択すれば、パスを見つけることができると知っていれば十分です)。 循環—任意の2つの頂点間に複数のパスが必要です 無向—すべてのエッジはどちらの方向にも移動できます 無限—プレイヤーが望めば、無限に移動できるはずです。探索されていない最も外側の頂点に近づくにつれて、グラフは徐々に生成され続けます。 ローカルで有限—頂点の次数は、プレーヤーが訪問した後は決して変更されません。 安定したラベル—各頂点は、それ自体がシードから手続き的に生成される場所を表します。プレイヤーがそこを移動するために使用したパスや、グラフがどれだけ大きいかには関係なく、同じシードを頂点に割り当てる必要があります。 頂点として2Dパーリンノイズの極大値を使用する(入力xとyをラベルとして使用できるようにする)ことについていくつかのアイデア(まだ実装しようとしていません)がありましたが、それは不格好で複雑すぎます。 このようなグラフを生成するより良い方法はありますか?私はPanda3Dとnumpyを使用してPython 2.6で開発しています。もちろん、この問題を解決するために他のライブラリを含めてもかまいません。 編集する 私は自分の要件のいくつかを説明するのが苦手だったと思うので、それはイラストの時間です!うまくいけば、これは物事を片付けるでしょう。 ラベルが安定しているということは、たとえば、プレーヤーAがたくさんの探索を行って、特に開始位置に戻る循環パスや猫のような山を見つけられるようにしたいということです。彼のゲームは次のようになります(頂点にはシードとエッジがあり、プレイヤーがトラバースした順序で番号が付けられています)。彼は頂点8329(緑)から始め、ハッピーキャットマウンテンは頂点6745(青)にあります。 プレイヤーAの仲良しプレイヤーBは猫のファンなので、彼女に見せたいと思っています。彼は彼女に彼の世界のルートシードと興味のある山へのより短いルートに沿った方向を与えます。彼女のゲームは次のようになります。 私が現在最も苦労している問題は、「彼女の探索が同じ経路をたどっていないときに、プレーヤーBに同じシードを生成するにはどうすればよいですか?」です。 これが、Perlinノイズを使用するアイデアに私を導いたものです。同じルートシードが使用されている限り、最大値は移動しないため、それらの座標は安定した頂点シードとして使用できます。

2
グリッドで川をレンダリングする
ランダムな高さマップを作成したので、川を作成します。私はa *に基づいてアルゴリズムを作成し、川をピークから海に流しました。今では、それらをレンダリングするためのエレガントなアルゴリズムを考え出そうとしています。 これは2Dの正方形のマップグリッドです。川が通過するセルには、次の形式の単純な整数値があります:rivernumber && pointOrder。つまり、10、11、12、13、14、15、16 ... 1 + Nは最初の川、20、21、22、23 ... 2 + Nは2番目の川などです。これは、グリッド生成時間をマップし、ワールドが生成されるときに一度だけ実行されます。 各河川をベクトルとして扱いたかったのですが、同じ河川に枝がある場合(ノイズを入れて枝を生成するため)、点を順番に接続できないという問題があります。 2番目の代替案は、各ポイントを分析し、次が分岐でないかどうかを確認する複雑なアルゴリズムを生成することです。そうでない場合は、分岐を処理する別のアルゴリズムをトリガーしてから、本川に戻ります。非常に複雑で洗練されていません。 おそらく、これらのケースで一般的に使用されているワールド生成アルゴリズムまたはリバーレンダリングアルゴリズムに解決策があり、私にはわかりません。 任意のヒント?ありがとう!!

6
生きている生き物のラグドール:誰かがすでにそれを実装していますか?
死んだ生き物が現実的に落下するのは退屈だと思います。 筋肉の力と手足の速度に応じてモデルが動くアニメーションシステムを実装したゲームはありますか? ロードされて順次読み取られるだけの確定したアニメーションデータを使用する方がはるかに高速ですが、非常に「静的」に見えます。 手続き型の生成データについてよく耳にするので、骨の重さに応じて独自のアニメーションでボディを生成できます。 骨が立っている実際のロボットシミュレーションについて話しているのではなく、バランスを保つためにいくつかの角度を自動調整していますが、より中間的でより事前に計算されたものについてです。 力はステップ間でわずかに異なります(フロート上でランダムに変化するため、プラスまたはマイナス10%で変化します)。そのため、四肢の軌道はステップ間で異なります。 多くの調整と事前設定が必要になりますが、確定性ははるかに低くなります。

1
海底/水中地形の手続き的生成
海抜高度の地形に関しては、手続き型コンテンツの生成に利用できるリソースがたくさんあります。 海軍シミュレーションの場合、海面下の手順で地形を生成する必要があります。私の最初のアイデアは、標準的な手法(フラクタルなど)を使用することでしたが、おそらくこのトピックに関する優れたリソースを誰かが知っていますか? ありがとう。

3
進化的手続き生成[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 ゲームのコンテンツの手続き型生成で進化的アルゴリズム(EA)または遺伝的プログラミング(GP)を使用している企業または論文の例はありますか?これは業界に存在しますか? これは私が実際に見つけた唯一の場所です:http : //pcg.wikidot.com/pcg-algorithm : automatic-game-design 私はこれらの質問もチェックしましたが、PCGの回避策を知ってい ます。「手続き型生成」とは何ですか、どのように行われますか? 無限レベル 2d手続き型宇宙生成の手続き型生成

5
2D手続き型地形生成-接続性を保証しますか?
XNAで2Dプラットフォーマーを開発しています。主なデザイン特性になりたいことの1つは、手続き型コンテンツの生成です。その最初のステップは、地形を手続き的に生成することです。だから、私はPerlinノイズを生成し、それを滑らかにし、パラメーターとすべてのジャズをいかにプレイするかについて、たくさんの研究をしました。pcg.wikidot.comにも多くの時間を費やしました。私が抱えている問題は、100%接続されているレベルを生成することです。つまり、キャラクターがレベルの左側から右側に到達する可能性があります。 現在、パーリンノイズを使用して、そのポイントのノイズ値が<0のときにスプライトを生成しています。 これは私が抱えている問題のビデオです(クレイジーなバックグラウンドの問題と、新しいレベルを生成するときにキャラクターが動かなくなるという事実を許してください)。 http://screencast.com/t/uWJsIGLoih ビデオでわかるように、地形は十分に興味深いように見えますが、Perlinノイズがレベルを小さなランダムなチャンバーに区分化しているため、それほど多くのことはできません。 ランダムウォークを実行し、その上にパーリンノイズを重ねようとしたので、左から右へのパスを保証します。その問題を以下に示します。http: //screencast.com/t/ilLvxdp3 だから私の質問は、プレーヤーがレベルの左側から右側に行くことができるようにするには、どうすればよいですか?

1
これらの要件を満たす2Dタイルベースの地形生成に適した手法は何ですか?
夏のプロジェクトとして、フラッシュゲームを作るのは楽しいだろうと思いました。今、私はTerrariaの外観のようなものを探しています。とても楽しかったですが、今日私は思わぬ障害にぶつかりました。私の世界を生成する方法が必要です。可能性としてPerlinノイズを読み上げましたが、私の試みは散発的に見える結果を与えてくれました。これらの2Dタイルベースのワールドを生成するために使用されるいくつかのテクニックは何ですか? 理想的には、山、平原、洞窟を生成できるようになりたいです。

3
シンプレックスノイズで島の地形を生成する(C#/ XNA)
少し質問があります。シンプレックスノイズの動作を示すコードまたはサンプルはありますか?私はそれについて何も見つけることができません...アルゴリズムがどのように機能するかを知らずに、どのようにそれを実装するべきですか?... もう1つの質問は、シンプレックスノイズはアイランド生成に適したアルゴリズムですか?レイヤーが大きく(砂、グラ、石)、エッジがソフトではっきりと見える大きな島(本当に巨大)が必要です。これにより、凹凸のある表面を飛び越えずに水に出入りできます。

2
パーリンノイズのさまざまなバリエーションのコード例はどこにありますか?
私はPCG wikiを見てきました、そしてそれは素晴らしいリソースです。しかし、記事の多くは非常に簡潔であり、特定のものへの良いリンクを見つけるのは困難です。 私は、Perlinのノイズ高さマップを変換して、尾根、川、その他の地形を作成する方法を探しています。また、ゲームに固有のテクスチャ座標やその他の値を計算するためにマップをさまざまな領域に分割する方法に関する記事も見つかりません。私は、さまざまなものを生成できるソフトウェアを詳述しているWebサイトを見つけることができましたが、コードや説明はありませんでした。上記のPerlinノイズを使用する方法についてのコード例/説明の優れたソースはありますか? PS。これはおそらくコミュニティwikiであるべきです。一体どうやって作るのか分からない。

2
三次表面に垂直な表面の向きを決める方法
当面の質問は、HLSLでは、UV空間で生成されたサーフェス法線をどのように方向付けて、立方体の面に適用できるようにするかです。 全体的なプロジェクトは、手続き型の惑星ジェネレータを構築しようとしているということです。私は、各面が四分木である球に投影された立方体を使用しています。中間プロジェクトは、地形の法線マップを生成することです。私がこれを行う(そして私が何をしているかを理解する)ための最良の方法は、最初にキューブバージョンの法線を生成し、次に変換を実行してこれらの法線を球にワープすることです。 理想的には、この方法では、私が作業している面に基づいてコードを分岐する必要はありません(つまり、キューブの上面にいる場合、U = XおよびV = Y)。言い換えれば、私が望んでいるのは、「ああ、地形の法線に立方体の面の法線と何とか何とか何とか何とか」のドット積を掛けるだけのような数学の魔法です。 10/9/20 ETA: 平面の法線を計算する方法を知っています。私のその後の問題は2つあります。 法線マップを回転させて、立方体の各面で正しく方向付けするにはどうすればよいですか? 球をラップするようにフラット法線マップをワープするにはどうすればよいですか? ヤコビ行列を使用するソリューションを1つ見つけましたが、それを機能させることができません。すべての法線がまっすぐ上を向いている場合(つまり、平面)でも、ヤコビアンを含むHLSLコードは照明を完全に乱雑にします。そのため、ソリューションの実装を信頼できなくなります。

3
Procedural CityEngineを使用してリアルタイムでレベルを生成する
誰かが手続き型CityEngineを使用してリアルタイムでレベルを生成しましたか? かなりのオーバーヘッドがあるため、プロダクションまたはプリプロダクションで使用されているようですが、テストまたはゲームでリアルタイムに実行するように調整した人はいますか? 編集:これを行った人またはグループ、それが使用されたゲームまたはテスト、およびそれがどのように行われたかについての簡単な説明を含めてください。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.