ホームページ >ウェブフロントエンド >jsチュートリアル >フライトシミュレーターの再考:当時と今
この記事では、Webベースのフライトアーケードで現実的な大規模な地形の作成に焦点を当てたフライトシミュレーションの進化を調査します。
フライトシミュレーションにおける重要な開発:
https://www.php.cn/link/291925ddbc6e2d194d0c22d268e0f865
heightmaps:シンプルでありながら強力なテクニック この記事では、高さマップの使用が3D地形を作成することを詳しく説明しています。 黒は最も低いポイントを表し、白は最高で、グレースケールは中間標高を示しています。この簡単なアプローチは、飛行アーケードに十分な詳細を提供しますが、より複雑なアプリケーションはフルカラースペクトルをより正確に利用する可能性があります。 高さのマップは、コンパクトなサイズと画像操作ソフトウェア内での編集の容易さにより、従来の多角形のメッシュよりも利点を提供します。
(インタラクティブデモが利用可能) Photoshopで作成されたフライトアーケードハイツマップは、太平洋島のチェーンに基づいています。 画像は、滑走路と村の「フラット」エリアをはっきりと示しています。
(フライトアーケードのheightmap)
(3Dメッシュにマッピングされたテクスチャ)
heightmapからbabylon.js Babylon.jsは、高さの画像の変換を3Dメッシュに簡素化します。 (高さのデコードとワイヤーフレームのテクスチャアプリケーションを示すコードスニペットは簡潔に省略されていますが、元の記事で入手できます。)
webglシェーダーでテクスチャの詳細を強化する
大きなテクスチャ画像(最初は4096x4096、後に2048x2048に縮小)が使用されましたが、特に近距離では詳細を改善するために、カスタムシェーダーが実装されました。 このシェーダーは、ベーステクスチャとノイズテクスチャをブレンドし、よりリアルな外観を作成します。
(シェーダーアプリケーションの前後)シェーダーは、GLSLで記述された頂点とフラグメントシェーダーで構成されています。 頂点シェーダーは標準のテクスチャマッピングを処理し、フラグメントシェーダーはベースとノイズテクスチャをブレンドし、カメラからの距離に基づいて霧の効果も組み込まれています。
を使用して3Dメッシュまで
subdivisions
パラメーターは詳細レベルを制御し、頂点数に大きく影響します。 ワイヤーフレームのテクスチャは、高さからメッシュへの変換プロセスを視覚化するのに役立ちます。
(頂点とフラグメントシェーダーのコードスニペットは簡潔にするために省略されていますが、元の記事で入手できます。)
結論
以上がフライトシミュレーターの再考:当時と今の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。