シンプレックスがリリースされた後も、なぜパーリンノイズが今日でもそれほど人気があるのか知りたい。シンプレックスノイズはケンパーリン自身が作成したもので、古いアルゴリズムを引き継ぐものと想定されていました。これは、高次元で低速であり、品質が高い(アーティファクトが見えない)ものでした。
シンプレックスノイズは2001年に発表されました。テレインのハイトマップの生成、手続き型テクスチャの作成などに関して、パーリンノイズについて話しているのはこの10年間だけです。
誰かが私を助けてくれますか?シンプレックスノイズのいくつかの欠点はありますか? 1Dと2Dのノイズに関しては、Perlinノイズの方が速いという噂を聞きましたが、それが本当かどうかはわかりません。
ありがとう!
「壊れていない場合は、修正しないでください。」
シンプレックスが優れている理由を教えてくれる人を見つけることができるかどうかを確認してください。 「それはより高速で多次元に拡張されます」と「シンプレックスノイズは高次元のノイズ関数の複雑さを軽減しようとします」と私は見つけました。私たちのほとんどは2次元または3次元で作業します。時間をかけて何かを行うのに十分幸運であれば、おそらく4次元です。
処理するには遅すぎる、Perlinのリアルタイムの使用がほとんどなく、ほとんどの場合、標準のPerlinノイズで十分であると言っても差し支えないと思います。プレレンダリング(映画業界で使用されるような)では、レンダリングがとにかく遅いため、時間はそれほど重要ではありません。リアルタイムシミュレーションでは、進行中の処理の範囲を減らすのに十分な方法があるため、数ナノ/ミリ秒ごとに大量のノイズマップを生成することはほとんどありません。これは、基本的なリアルタイムの最適化です。
単に名前のせいだとしても、私はまったく驚かないでしょう。パーリンノイズとシンプレックスノイズのどちらかを選択する必要があります。後者はより新しく、いくつかの利点があります。しかし、ご存知のように、2つの「シンプル」バージョンのように聞こえます。複雑なものを使用します。ノイズは複雑だと思いませんか?
人々はむしろ不合理な傾向があります。
シンプレックスノイズを使用して同等の出力を取得するために必要な入力パラメーターを見つけるのに必要な時間を費やすのではなく、既知の値を使用して既知の視覚特性をもたらすことができるため、クラシックパーリンノイズが優先される場合があります。
[シンプレックスノイズ]は視覚的特徴が少し異なるため、クラシックノイズを直接プラグインで置き換えるとは限りません。正確なフィーチャサイズ、正確な値の範囲、高次統計など、クラシックノイズの詳細な特性に依存するアプリケーションでは、シンプレックスノイズを使用する場合に見栄えをよくするために、いくつかの変更が必要になる場合があります。
ステファングスタフソンの シンプレックスノイズを解明
ケン・パーリンは彼のシンプレックスノイズアルゴリズムの特許を取得しました。彼の古典的なアルゴリズムは私の知る限り特許を取得していません。
私はまだシンプレックスノイズを処理していませんが、いくつかの理由を考えることができます。
私は率直に質問に答えます、それはパーリンノイズがあなたの頭を動かすのにとても簡単だからです。一方、シンプレックスノイズは、非常に複雑で毛深い獣です。 Perlinの実装を稼働させることは、シンプレックスよりもはるかに簡単なので、より多くの使用法を得られます。シンプレックスの場合、両方がビジュアルで非常に似ている(特に、ノイズを少し操作した後)場合には役立ちません。
ケネス・パーリン自身がハードウェアベースの実装のために simplex アルゴリズムを設計し、これをより簡単にする設計決定を行いました。この一例は、特許からこの定理に見ることができます。
テーブルメモリの必要性:オリジナルのノイズアルゴリズムは、多数のテーブルルックアップに依存していましたが、これはソフトウェア実装ではかなり合理的ですが、ハードウェア実装ではコストが高く、特にノイズ関数の複数のインスタンスが必要な場合はコストのボトルネックになります。並行して。理想的には、Noiseの実装は、サイズの大きなテーブルの存在に依存するべきではありません。
シンプレックスノイズは見た目が悪く、多くの人々は、より高い次元では「ますます悪くなる」と考えています。ほとんどのアプリケーションでパーリンよりもお勧めします。ほとんどのアプリケーションは生のシンプレックスだけを使用するのではなく、そのオクターブはパーリンのオクターブとほぼ同じに見え、オクターブの方が大幅に高速であるためです。