0

この質問については、次のドキュメントを参照してください: BabylonJS JSON ファイル形式

「vertexData」ノードでは、頂点、法線ベクトル、および uv が 3D オブジェクトの構築のために宣言されます。リンクされているドキュメンテーション ページの下部にある .babylon ファイルの例のように、次の「ジオメトリ」ノードを参照してください。

"geometries": {
    "boxes": [{
        "id": "BoxPrimitive",
        "size": 2,
        "canBeRegenerated": true,
        "tags": "Box Primitive Cube CanBeRegenerated"
    }],
    "vertexData": [{
        "id": "CubeGeometry",
        "updatable": false,
        "positions": [ 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1],
        "normals": [0.5773, -0.5773, 0.5773, 0.5773, -0.5773, -0.5773, -0.5773, -0.5773, 0.5773, 0.5773, 0.5773, 0.5773, -0.5773, 0.5773, 0.5773, 0.5773, 0.5773, -0.5773, 0.5773, 0.5773, 0.5773, 0.5773, -0.5773, -0.5773, 0.5773, -0.5773, -0.5773, 0.5773, 0.5773, -0.5773, -0.5773, -0.5773, -0.5773, -0.5773, -0.5773, -0.5773, -0.5773, 0.5773, -0.5773, -0.5773, -0.5773, 0.5773, 0.5773, 0.5773, 0.5773, 0.5773, -0.5773, 0.5773, -0.5773, 0.5773, 0.5773, -0.5773, -0.5773, -0.5773, -0.5773, 0.5773, -0.5773, 0.5773, 0.5773, 0.5773, 0.5773, 0.5773, -0.5773, 0.5773, -0.5773, -0.5773, 0.5773, 0.5773, -0.5773, -0.5773, 0.5773, -0.5773, -0.5773, 0.5773, 0.5773, -0.5773, -0.5773, 0.5773, 0.5773, -0.5773, 0.5773, -0.5773, -0.5773, 0.5773, -0.5773, 0.5773, 0.5773],
        "uvs": [0.5, 0.5, 0.5, 0, 0, 0.5, 0.5, 1, 0, 1, 0.5, 0.5, 0.5, 1, 0, 0.5, 0.5, 0.5, 0.5, 1, 0, 0.5, 0.5, 0.5, 0.5, 1, 1, 0.5, 0.5, 0.5, 0.5, 0, 0, 0.5, 0, 0, 0, 0.5, 0.5, 1, 0, 1, 0, 0.5, 0.5, 1, 0, 1, 1, 1, 1, 0.5, 0.5, 0, 0, 0, 0, 0.5],
        "indices": [0, 1, 2, 3, 4, 5, 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 17, 2, 4, 18, 5, 19, 20, 21, 22, 23, 10, 12, 24, 25, 26, 27, 28]
    }]
}

このオブジェクトには、「位置」で 3 つの float のグループとして宣言された 29 個の (しばしば冗長な) 頂点があり、参照された「位置」頂点を接続することによって描画される三角形を表す 3 つの整数のグループである「インデックス」によって配置されます。 .

各「位置」頂点には、単位ベクトルに標準化された単純な位置ベクトルである法線ベクトルが宣言されています。これの目的は何ですか?なぜ含まれているのですか?また、それなしで 3D モデルを生成できますか?

さらに、「UV」とは何ですか。各頂点には 2 つの UV のペアがあります。これらはどういう意味ですか?

4

1 に答える 1

1

UVフィールドが呼び出さTexture Coordinatesれ、メッシュで使用するテクスチャの部分が示されます。

Uand のV値は、2D 画像内のXand の位置に似ています。Y実際、誤解を避けるためだけに呼び出されたわけではありませんが、同じ種類のデータを表していますU/VX/Yこれらは正規化されているため、0値は「開始」および1「終了」を意味します (テクスチャの解像度に関係なく、レンダリングを中断することなくテクスチャのサイズを変更できます)。

三角形をレンダリングする場合、基本的に 3 つの頂点があり、それぞれに独自のUV値があります。これらの値をX/Y2D 画像のようにマークすると、レンダリングと同じテクスチャの部分を使用して三角形が得られます。

このトピックに関する別の回答は次のとおりです。https://stackoverflow.com/a/21909471/1479630

于 2016-03-30T14:46:46.813 に答える