ThreeJSで地形ソリューションを作成しようとしていますが、法線の生成で問題が発生しています。THREE.PlaneGeometryクラスを使用して多数のメッシュオブジェクトを作成することで、この問題に取り組んでいます。すべてのタイルが作成されたら、それぞれを調べて、各タイルが全体の一部を表すようにUVを設定します。また、いくつかの丘を作成するために、頂点Y位置の高さ値を生成します。次に、ジオメトリ関数を呼び出します
geometry.computeFaceNormals();
geometry.computeVertexNormals();
これは、タイルごとにデフォルトの面と頂点の法線を設定するためです。
次に、各タイルを調べて、各コーナーの法線を平均化しようとします。
問題は(私が思うに)法線にありますが、私はこの問題を何と呼ぶべきか本当にわかりません。平面のコーナーの各法線は、作成時に面と同じ方向を指します。これにより、地形は平らな陰影のあるオブジェクトのように見えます。これを防ぐために、おそらく私がする必要があるのは、各頂点の法線(各コーナー)がそのすぐ隣の法線と同じ平均法線を持っていることを確認することだと思いました。IE各タイルの各コーナーには、隣接する平面からのその周囲のすべての直接法線と同じ法線があります。
図A
ここでは、メッシュ上の4つの法線のそれぞれを視覚化しています。各コーナーで法線が同じであることがわかります(互いの上に)
図B
図Cを編集
図Dを編集
すべての頂点が同じ法線を共有している場合を除いて、それでもすべてブロック状になります<:/
これを行う方法がわかりません...何をする必要があるかについての私の理解は間違っていると思います...?
どんな助けでも大歓迎です。