glTF の書き出し
Houdini 20.5 時点での glTF フォーマットの書き出し方法 Export (ROP)
https://gyazo.com/65127b8af95b44da54bb15dbda2641e7
glTF ROP.iconglTF ROP で root node となる OBJ Node を指定する /obj 内での connection がそのまま Hierarchy として glTF に保存される
Export (SOP)
つまり, 単一 Scene, 単一 Mesh になる
Mesh の分割
内部で attribute などで分割することはできない
マテリアルの定義 (Submesh の分割)
-.icon
📖 glTF 用語 / アセット構造
https://gyazo.com/51b3018aaeab9a13b0b563a35ec6ecc4
https://gyazo.com/98829faf6edcebcc3f7c1f6917236c3c
USD の Stage
asset
code:json
"asset":{
"version":"2.0",
"generator":"Houdini GLTF 2.0 Exporter"
},
gltf ファイルそれ自身のこと
最初に version やらコピーライトやらを書き込む
scene
Rendering する RootNode が定義される
RootNode は1つ以上が配列で定義される
Houdini では scene 自体はあまり細かくいじることができない (1Scene に 全ての Node が入る)
node
https://gyazo.com/4e01f5f926a8d9588653fd1c47c0bd8f
code:json
"nodes":[
{
"children":[1
],
"name":"Root"
},
{
"children":[2
],
"name":"grid_a",
"mesh":0
},
{
"matrix":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,1.47768033,1
],
"name":"grid_b",
"mesh":1
}
]
Hierarchy (親子関係) や transform(matrix) 情報が保存される
mesh
一つの node に複数の mesh を含めることはできない (0 か 1つ)
1つ以上の primitive の配列で表現される
primitive (mesh primitive)
code:json
"meshes": [
{
"primitives": [
{
"attributes": {
"NORMAL": 23,
"POSITION": 22,
"TANGENT": 24,
"TEXCOORD_0": 25
},
"indices": 21,
"material": 3,
"mode": 4
}
]
}
]
ユーザー定義の attribute も保存できる (_foo のようにアンダースコアが先頭に必ず入る)
書き出し時に uv (TEXCOORD_0) と NORMAL から MikkT による TANGENT の計算が発生する -.icon
📖 pbrMetalicRoughness
-.icon
Refs