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

アルゴリズム/手順によって生成される情報。これは、記録された情報とは対照的によく使用されます。例としては、サンプラーによって録音されて再生されたばかりの音とは対照的に、シンセサイザーの発振器によって生成される音や、雲のデジタル写真とは対照的に、3Dプログラムのノイズアルゴリズムによって生成される画像があります。

5
Minecraftの洞窟に似た洞窟を生成する方法は?
しばらくの間、3Dプロシージャルワールドに取り組んでいますが、洞窟システムの追加を開始したいと考えています。現在、地形生成に2D / 3D Perlin Noiseを使用し、より滑らかな地形にマーチングキューブを組み合わせています。長い相互接続洞窟に関しては困惑しています。 私はMinecraftの洞窟システムのようなものを手に入れたいと思っています。それらは非常に接続されているようで、ほぼあらゆる方向にランダムに分岐しており、洞窟内のほぼすべてのポイントは、全体的にかなり等しい半径のかなり円形の外観を持っています(最良の言い回しではありませんが、他にどのように置くかはわかりません) 。 私が望んでいるような洞窟を生成するための最大の課題は、その場で世界を生成することです。ワールドは現在、チャンクごとに生成され、プレイヤーがいる場所から始まり、そこから外側に生成されます。私は世界のいずれかを生成し、その後、さまよえるパターン、セルオートマトンなどを使用して洞窟を掘り出したいとは思わないでしょう。 これに使用できる既知のアルゴリズムはありますか?もしそうなら、誰も彼らが似たようなことをする方法を共有したいですか?どんな助けでも大歓迎です。 良い例:

3
芸術的(2D)ツリーをリアルタイム(L-System?)で手続き(作成)する方法
最近、L-systemモジュールをプログラムしました。さらに興味を持ちました。私はPlants vs Zombies junkieでもあり、Tree of Wisdomのコンセプトが本当に好きでした。楽しみのためだけに、同様の手続き型アートを作成して、もっと学びたいです。 質問:アーティスティックツリー(おそらく固定カメラ/視点の2D)を動的に作成するプロセスにどのようにアプローチすればよいですか? 理想的には、植物(葉のある茎のみ)から始め、その構造に対する何らかの影響(入力/ユーザーアクション)を使用して動的に成長させたいと考えています。これらの影響により、さまざまな種類の分岐、分岐の曲線、その広がり、果実の位置、花の色などが生じる可能性があります。:) 植物対ゾンビ:知恵の 木似たような木を動的に成長させるのは素晴らしいことですが、より多くのバリエーションとアニメーションが発生します。 私の経歴:プログラマー、いくつかのゲームエンジン(Ogre3d、cocos2d、unity)を使用しました。実際にopenGLを使用して直接プログラミングしておらず、それを修正しようとしています:)。 かなりの時間を費やす準備ができています。APIについて教えてください。そして、あなたのような専門家はこの問題にどのように取り組むでしょうか? なぜ2Dなのか?2次元のみを考慮して問題を解決する方が簡単だと思います。 芸術的インスピレーション: 果物と葉のある木だけで、下部に低木はありません 大きな木の猿の背後に左に(目に見える枝、緑の葉、花、果物など)、。 PixelJunk's Eden(アートスタイルのインスピレーション)。 フラクタルを使用して手続き的に生成されたアップルツリー あなたが質問を理解するのが簡単だったならば、私に知らせてください、私はさらに詳しく説明するかもしれません。 さまざまなアプローチの議論がすべての人に役立つことを願っています。あなたたちは素晴らしいです。

3
手続き的に生成された世界のチャンクを他の世界のチャンクに一致させる
ロジャー・ゼラズニーの 『アンバーのクロニクル』を読んだことがありますか? 自分が3人称MMOゲームでプレイしていると想像してください。あなたは世界に出現し、さまよい始めます。しばらくして、マップを学習したと思ったとき、あなたはその場所にいること、今まで見たことのないことを悟ります。あなたが知っていると確信していた最後の場所に戻り、それはまだそこにあります。しかし、世界のその他の地域は変化しており、あなたはそれがどのように起こったかにさえ気づきませんでした。 手続き型の世界世代について読んだことがあります。パーリンノイズとオクターブ、シンプレックスノイズ、ダイアモンドスクエアアルゴリズム、構造プレートのシミュレーションと水の侵食について読みました。手続き型の世界生成における一般的なアプローチについて、漠然と理解していると思います。 そして、この知識があれば、上記のようなことをどのように行うことができるかについてはわかりません。私の頭に浮かぶすべてのアイデアは、いくつかの理論的な問題に遭遇します。ここに私が考えることができるいくつかのアイデアがあります: 1)入力としてシード番号といくつかの完全に記述されたチャンク番号を持つ「リバーシブル」世界世代 私はそれが可能でさえあるとは思いませんが、シードを受け取り、チャンクが構築される数のマトリックスを生成する関数を想像します。また、一意の番号ごとに一意のチャンクがあります。そして、この一意のチャンク番号を取得し、この番号を含むシードを生成する2番目の関数。私は下の写真のスキームを作成しようとしました: 2)チャンクを完全にランダムにし、それらの間にトランジションを作成します。 Aracthorが示唆されました。このアプローチの利点は、それが可能であり、魔法の機能を必要としないことです:) 私の意見では、このアプローチの短所は、多様な世界を持つことはおそらく不可能だということです。群島と大陸の両方が1つの数字で表され、隣接するチャンクであるとすると、チャンクのサイズは大陸と等しくなりません。そして、チャンク間で見栄えの良い遷移を行うことができるとは思えません。何か不足していますか? つまり、手続き的に生成された世界を持つMMOを開発しているということです。しかし、1つの世界を持っている代わりに、あなたは多くを持っています。ワールドを生成するためにどのようなアプローチをとり、プレイヤーが遷移に気付かないで、ある世界から別の世界へのプレイヤーの移行をどのように実装しますか。 とにかく、私はあなたが一般的な考えを持っていると信じています。どうしましたか?

4
手続き型の世界をどのように保存しますか?
私は最近、手続き型の世界を作成する方法について読んだことがあります...しかし、どうやって保存するのですか? TerrariaやMinecraftのようなゲームでは、ユーザーはランドスケープを自由に変更できますが、その世界を最初のシードから再作成することはできません。手続き型だが修正可能な世界を保存するためにどのようなテクニックが使用されていますか?

1
手続き型メッシュ:UVマッピング
手続き型メッシュを作成し、テクスチャを適用したいと思います。問題は、私が望んでいるように固執させることができないことです。 アイデアは、メッシュ全体に一度だけテクスチャをペイントして、繰り返しが発生しないようにすることです。それを実現するには、どのようにUVをマップすればよいですか? 私のメッシュは、56個の三角形で構成される単純な平面です。写真を追加して問題を解決しますが、評判が10ポイントを下回っているのでできません。 どんな助けも大歓迎です。 編集(親切な人々は私に投票を与えました、ありがとう): 私のメッシュに会います: そして、テクスチャ化されたとき(テクスチャを繰り返してみました): そして私の質感: 編集2: bummzackの指示はチャームのように機能し、メッシュは私が望んだとおりにテクスチャリングされました。ありがとうございました。


2
2Dキャラクターを通常の斜面に立てる方法は?
Unity3D(2Dモード)でこのキャラクターを持っています...このようなスロープで、 しかし、私はキャラクターが赤い線に沿って立つことを望んでいます。 Unity3dで作成するにはどうすればよいですか? このセットアップがあります。 私は動きに単純なAddforceを使用しています... z位置の制約を削除すると、ローリングなどの奇妙な動きになります。

1
手続き型ジオメトリの生成
私は最近、OS XのSceneKitを調べて、次のような幾何学的形状を作成するファクトリーメソッドがいくつかあることに気づきました。 ボックス、カプセル、コーン、シリンダー、平面、ピラミッド、球、トーラス、チューブ。 このようなプリミティブシェイプをレンダラーに追加することに興味がありますが、手続き型生成の理解を集めるための適切なソースを見つけるのに苦労しています。理論を詳しく説明しているリソースはいくつかありますが、それをバックアップするための適切なソースコードがありません。 SceneKitは、そのような形状の属性を動的に設定できるファクトリメソッドを提供します。ボックスの場合、各面を分割する幅、高さ、および深さのセグメントの数に整数値を指定できます。 理論は理解していますが、目的の効果を実現するためにジオメトリ面を細分割し始める知識がありません。 各形状の頂点は、単純なループで生成するのが非常に簡単です。私が困惑しているのは、面の作成方法、つまり各面の適切なテクスチャ座標を知っていることです。法線は面ごとに計算できるため、自分がやりたいことを達成できると確信しています。 誰でも手続き型ジオメトリの詳細を提供できますか?私が本当に必要なのは、情報を収集するためのソースコードです。私はチュートリアルを求めて高低を検索しましたが、これまでにいくつかの妥当なサイトまたはブログしか思いつきませんでした。優れた本、チュートリアル、ブログ、研究論文をいただければ幸いです。 コメントに基づいて編集 基本的な形状の頂点を作成する方法を知っていることを明確にしておく必要があります。これらのほとんどは、おそらく単純なループで実現できます。私が理解していないのは、生成された頂点の配列から面を作成する方法です。どうやら順序付けられていないように見える頂点の配列から三角形ストリップを作成するにはどうすればよいですか? このポイントを通過すると、各面から法線を作成できると思います。これについてはまだ詳しく説明していませんが、これへの多くの参照があり、実装するのは簡単です。 理想的には、SceneKitが提供する方法など、特定のプロパティセットからジオメトリを生成できるようにしたいと考えています。SceneKitがそれを実行し、BlenderやMayaなどで同様のことができることを考えると、私は不可能を実装しようとしているのではないと思います。 最後の側面は、テクスチャの適用です。繰り返しますが、これは私が実装したものではありませんが、要件を読んで認識しています。 ここでの主な問題は、私が達成したいことはわかっているが、前述のプリミティブの実装方法を解読するのに苦労していることです。ソースコードを使っていくつかの知識の類似点を見つけることができると期待していましたが、今のところ適切なものに出会ったことはありません。

3
ランダムマップの生成-ランダムノードの分散/クラスタリングの戦略
私は、単純な4Xストラテジーゲームを空間で実行しています。各ノードは、目的点(惑星、小惑星など)です。 マップをランダムに生成するには、以下の手順に従います マップが持つ各ノードのタイプの数を決定します(たとえば、5つの地球のような惑星、10の不毛の惑星など)。 各タイプのノードをマップに配置します。 ステップ2では、各ノードタイプを均等に分散させたいと思います。したがって、たとえば、私はすべての地球のような惑星を配置することから始めます。単純にrand(map.width、map.height)を実行して位置を決定すると、すべての地球に似た惑星が一緒にクラスター化し、その領域から開始するプレーヤーにメリットをもたらす可能性があります。 さまざまなグラフ関数やノイズ関数を使用するなど、相互に広がる一連の(x、y)座標を生成できる方法はありますか?同様に、互いに近い座標を生成する方法はありますか?

1
Starcraft 2がマップをレンダリングするのに使用するテクノロジーは何ですか?
実行時に手続き的に生成されるマップがあり、現在このマップをレンダリングする方法を調査しています。私はStarcraft 2の外観に興味を持っており、それを実現するために採用されている方法についてアドバイスをお願いします。第二に、可能であれば、チュートリアル、記事、さらにはソースコードの例を見たいです。 いくつかアドバイスをお願いしたいのですが、私に役立つ他のことをお気軽に提案してください。 スナップ可能なタイルセット-典型的なスタークラフトマップは、一緒にスナップして崖、スロープ、その他の高所の地形を作成できるモデルのタイルセットで構成されているようです。自然に見えるようにするためにどのような方法を採用していますか?つまり、繰り返しを見つけるのは非常に難しいということです。 地形テクスチャ-地形テクスチャは非常に多様でダイナミックです(Zergクリープ)。これにはどのような方法が使用されますか? ありがとう。

1
スプラインから3Dレーストラックを生成するにはどうすればよいですか?
形状を表すスプラインの周りに3次元のレーストラックを生成したい。 こちらがビデオの例です。 トラックは、いくつかの障害物が投げ込まれた3Dスプラインに沿ってスイープするエンドレストンネルである必要があります。私のこれまでの最良のアイデアは、スプラインに沿って円形状をロフトすることでした。 また、ジオメトリを管理する方法、つまりロフト操作からジオメトリを作成する方法、メモリ内の「ライフサイクル」を管理する方法、コリジョン、テクスチャリングへのポインタも必要です。

3
不規則なしみのある形状を描くアルゴリズムのアイデアが必要
X、Yグリッドに不規則な形状を描きたいのですが、可能であれば、シンプルで高速な方法を考えたいと思います。これまでの私の唯一のアイデアは、互いに非常に近いランダムなサイズの円の束を描画し、多かれ少なかれ中心座標からランダムな距離で離してから、空白スペースを埋めることです。私はこれが不格好で洗練されていない方法であることを理解しています。うまくいけば、私が撮影している丸みを帯びた、ランダムなしみのある形状の種類の大まかなアイデアが得られるでしょう。これを達成するための方法を提案してください。私はコードにはあまり興味がありません。私はその部分を自分でヌードルにすることができます。ありがとう!

1
可変ボディ形状を実装するいくつかの方法は何ですか?
RyzomやSimsのようなゲームでは、プレーヤーにさまざまな形の人体を持たせることができます。幅が広い、薄い、背が高い、短い、大きな鼻、小さいなどです。メッシュ。 それにはどのような方法がありますか?メッシュはプログラムで定義されていますか?複数の「モーフターゲット」モデルの加重平均ですか? メッシュを決定するために行われる計算がある場合:「ジオメトリシェーダー」で行われますか?それともCPUによって行われますか? 参考:「3dアバターエディターのアートアセットを作成する方法」の質問では、アバターエディターと可変ボディ要素について言及し、一部のゲームではモーフターゲットとグリフ爆撃を使用しています。

2
興味深いパズルレベルのランダム生成?
私は倉庫番のようなゲームを作っています。つまり、プッシュできるクレートがいくつかあるグリッドがあり、レベルに勝つためにクロスでクレートを取得する必要があります(ただし、要素をいくつか追加します)。このスタイルのゲームの興味深い(たとえば、解決するのは簡単ではない)レベルを生成する方法について、一般的なアルゴリズムや参考資料はありますか?倉庫番にはランダムレベルジェネレーターが存在することは承知していますが、アルゴリズムの説明が見つかりません。 難易度で並べ替えて、マシンがたくさんのレベルを生成できるゲームを作ることに興味があります。ゲームのルールを制限して、レベルの生成を簡単にすることもできます(たとえば、グリッドサイズを約7x7に制限します)。私が見てきたように、ここではレベル生成を行ういくつかの一般的な方法があると思います。たとえば、トラフィックジャムのようなゲーム(無料のいくつかのブロックの周りでブロックを移動する必要がある)で、それぞれに固有のソリューションがある1000のレベルがあります。 私が持っていた1つのアイデアは、最終的な状態(つまり、すべてのクレートが十字の上にある状態)でランダムマップを生成し、コンピューターがこれらのクレートを(プッシュする代わりに)引っ張ってレベルを作成することでした。ここでの優れた特性は、レベルが解決可能であることを知っていることです。ただし、レベルが興味深いものであることを確認するには、いくつかのヒューリスティックが必要です。

1
2Dキャラクターのさまざまな部分にさまざまなアクションを適用するにはどうすればよいですか?
Javaで2Dプラットフォームのゲームを開発しています。プレイヤーは毎回手に銃を持っています。彼は歩いて銃で撃つ必要があります(歩くには矢印キー、撃つにはXキー)。ウォークサイクルは6フレームかかり、矢印キーを押すと、スプライトシートをインポートしてシーケンスをアニメーション化できます。しかし、私は銃の動きを追加する必要があります。プレイヤーは銃を上向きに持ち、Xキーが押されると、銃をまっすぐにして発砲します。ウォーク+シュートアクションを実装する方法は?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.