2

David Brackeen によるJava でのゲームの開発を読んでいます。私は今まで本に書かれていたことをすべて理解しました。Wavefront オブジェクト ファイルで、コマンドの機能は理解できますが、vコマンドが理解できませんf。例えば:

# OBJ - Wavefront object file
# The javagamebook loader only understands these commands:
#   mtllib <filename>    - Load materials from an external .mtl
#                          file.
#   v <x> <y> <z>        - Define a vertex with floating-point
#                          coords (x,y,z).
#   f <v1> <v2> <v3> ... - Define a new face. a face is a flat,
#                          convex polygon with vertices in
#                          counter-clockwise order. Positive
#                          numbers indicate the index of the
#                          vertex that is defined in the file.
#                          Negative numbers indicate the vertex
#                          defined relative to last vertex read.
#                          For example, 1 indicates the first
#                          vertex in the file, -1 means the last
#                          vertex read, and -2 is the vertex
#                          before that.
#   g <name>             - Define a new group by name. The faces
#                          following are added to this group.
#   usemtl <name>        - Use the named material (loaded from a
#                          .mtl file) for the faces in this group.

# load materials
mtllib textures.mtl

# define vertices
v 16 32 16
v 16 32 -16
v 16 0 16
v 16 0 -16
v -16 32 16
v -16 32 -16
v -16 0 16
v -16 0 -16

g myCube
usemtl wall1
f 1 3 4 2
f 6 8 7 5
f 2 6 5 1
f 3 7 8 4
f 1 5 7 3
f 4 8 6 2

fコマンドはここで何をしますか?

4

2 に答える 2

5

立方体には、v (頂点の v) によって定義される 8 つのコーナー (頂点または点で示される) があります。面 (f) は、コーナーの座標 (v) によって定義されるサーフェスです。図については、Polygon_meshを参照してください。

    v1+-----------+  v2
     /            /
    /     f1     /
   /            /
v4+------------+v3
  |            |
  |            |
  |     f2     |
  |            |
  |            |
v6+------------+v5

つまり、面 f1 は v1、v2、v3、および v4 によって定義されます。v4、v3、v5、v6によるf2。

于 2012-06-09T16:11:05.357 に答える
4

はモデルのf面を示します(たとえば、三角形または四角形)。数字は頂点リストへのインデックスであり、面を形成するために頂点リストを結合する方法を示します。

投稿されたobjファイルで最初fに見つかったのは、面が頂点#1、#3、#4、および#2を持つクワッド(4つの頂点があるため)によって形成されていることを示しています。

重要:後で法線計算の問題や非多角形(自己交差)形状の問題を回避するために、指定された順序で頂点を結合する必要があります。

于 2012-06-09T16:19:08.893 に答える