SlideShare a Scribd company logo
1 of 44
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
Houdini
.OBJ から .ABC へ
2014/5/12
Side Effects Software Inc.
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
今回の目的
1. 他アプリケーションで作られた
データを Houdini に読み込み
、Alembic 出出力することによ
り、Data Tree を用いて、ライ
ティング & レンダリング ワー
クフローに組み込めるようにす
る。
2. 必ずしも Houdini に持ち込む
ことを想定していない ファイ
ルへの対処方法を理解する。
3. カメラ・ライト・マテリアルの
作成&編集は、
http://slidesha.re/1iBNOB0
の2-4 (カメラの追加) からを
参照のこと。
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
基本的な流れ
1. OBJ ファイルを読み込む。
2. ファイル内のグループ情報を引き継ぐ形で、Alembic (.abc) に渡すグ
ループ情報を定義。
• Name ノードを使って Primitive (面) 単位のアトリビュートにする。
• 元のグループ情報を編集したい場合は、Group ノードを使用して、排他的
な(複数グループにまたがらない) グループを定義。これには、Deleteノー
ドとの組合せが必要。
3. Alembic で出力。
4. #3 の Alembic を (新たな) シーンに読み込み、Packed Edit ノードを
使って、グループ情報を抽出。
5. Data Tree ビューを使って、マテリアルとライティングを定義。
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
今回使用する OBJ ファイル
• www.3drender.com にある
Challenge #1: Fruit Bowl (.OBJ)
をダウンロードして使用。
• これを使うことで、必ずしも
Houdini に持ち込むことを想定し
ていない ファイルへの対処方法を
理解する。
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
このOBJファイルの問題点
梨 (Pear) の 実の部分と 軸の部分
が同じグループになっている (画
面)。
リンゴ、バナナ、ブドウのオブジェ
クトが、nurbsToPoly[1-122]
で名付けられていて、判別が面倒。
ちなみに、
• nurbsToPoly23 = リンゴの実
• nurbsToPoly40 = リンゴの軸
• nurbsToPoly64 = リンゴの葉
• nurbsToPoly121 = バナナ1(下)
• nurbsToPoly122 = バナナ2(上)
となっているが、ブドウの実と軸は
ランダム。
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
このOBJファイルの問題点
• このファイルをそのまま
Alembic に変換して、Data
Tree に渡せば、122の
nurbsToPoly を扱わなければな
らなくなる。
• これは面倒。
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
2つの解決方法
1. Houdiniのノードネットワークですべて対処
nurbsToPoly[1-122]のうち、リンゴグループ3
つ、バナナ2つのグループ名を Houdiniの
Group ノードで置換、残りは、ビューポート
選択によってグループを再編成。
• 利点
• テキスト編集する必要がない
• 難点
• ノードネットワークが冗長になりやすい。
2. .OBJ ファイルをテキスト編集
.OBJ ファイルで定義されたグループのう
ち、簡単に変更できる部分をテキストエディ
タで置換する。
• 利点
• 時間短縮。ノードネットワークが単純にな
る。
• 難点
• テキスト編集を間違うとデータが読めなくな
る可能性あり。
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
今回は テキスト編集 (#2) を使用
• .OBJ で定義されたグループのうち、
次を以下のように編集した。
nurbsToPoly23 -> apple
nurbsToPoly40 -> applestem
nurbsToPoly64 -> appleleaf
nurbsToPoly121 -> banana1
nurbsToPoly122 -> banana2
• 編集を加えたのが
fruit_renamed.obj。
編集していないのが fruit_v2.obj。
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
1. Geometry ノードの配置
ジオメトリデータを扱うための大元
となる Geometry ノードを作成。実
際の編集作業はすべてこのノードの
中で行う。
1. ネットワークビューのScene ビ
ューで、TAB->Geometry とし
て、Geometryノードを配置す
る。
2. ダブルクリック、またはEnter
キーを押す、または 'i' キー
を押し、中に入る。
3. Geometry ノード (geo1) の中
に入ると、File ノード
(file1)があるはず (次ペー
ジ)。
1
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
2. OBJ ファイルの読み込み
file ノードを使って、OBJ ファイ
ルを読み込む。
4. ファイルノードの Geometry
File の部分に、.obj ファイル
(fruit_renamed.obj) を指定。
四角で囲われたアイコンをクリ
ックすることで、ブラウザを開
いてファイルの場所まで到達、
ファイルを選択可能。
5. #4が終了すると、ビューポート
上にオブジェクトが現れる (画
面はカメラをタンブルした結果
)。
4
3
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
3. Name ノードの追加
Nameノードを追加することで、OBJ
ファイルにあるグループ情報を
Houdiniの面単位でのアトリビュー
ト値に変換することが可能。
6. file1 ノードから TAB -> Name
として Name ノードを追加。
7. パラメータビューの Attribute
を name (デフォルト)から
abcname
Class は Primitive (そのまま
)
8. Name from Group を ON
9. #8 の結果表示された Group
Mask を "piece*" から "*" に
変更。
10. Number of Namings を 1 から0
にするか、右画像で囲われた
'X' アイコンをクリックして削
除 (結果画像は次ページ)。
7
8
9
10
6
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
4. Details View による確認
Details View により現在のデータの
様子を確認可能。
11. Details View をクリック。
12. Primitives アイコンをクリック
して面単位でのアトリビュート値
を確認。
13. abcname のカラムに、OBJファイ
ルから取り込まれたグループ情報
が面単位で存在していることがわ
かる。
ここには、apple などテキスト編
集したのもあれば、
"nurbsToPoly*" なども混在。
14. shop_material は、OBJファイル
内で定義されているマテリアル情
報。これは必要ないので、削除可
能 (次ページ)。
11
12
13 14
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
5. Attribute ノードによるデータ削除
OBJから取り込んだシェーディング
情報は使わないので削除できる(し
なくとも良い)。
15. file1 ノードから、TAB ->
Attribute として、Attribute
ノードを作成、name1 ノードと
の間に挿入する。
16. Primitive タブに行く。
17. Delete Attribute の部分、三角
形のアイコンをクリックして、
shop_materialpath を指定。
name1 ノードのディスプレイフ
ラグがオンになっていれば、
Details Viewで、
shop_materialpath のカラムが
削除されたことが確認できる。
file1をハイライトすれば、元デ
ータが確認可能。
15
16
17
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
ここから3つに場合分け
ここから先、扱うデータを次の3つの場合に分けて操作していく。
1
グループ名がそのま
ま使えるもの
グループ名が nurbsToPoly* と梨 (Pear) ではないもの。
そのまま Name ノードに通す。
2 Pear (梨) 実の部分(Pear)とヘタ(Pearstem)の2つにグループ分け。
3 nurbsToPoly*
nurbsToPoly というグループ名をすべて削除、扱い易いグル
ープ3つ (grape1, grape2, stems) に再編成。実の部分
(grape1とgrape2)は、2回に分け手作業で選択。残りを一つ
のグループ(stems)にまとめる。
それぞれのグループ化には、 Delete ノードを使用。
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
6. グループ化 1 (そのまま通すもの)
18. attribute1 から、TAB ->
Delete として、Delete ノード
を作成。
19. Group に
nurbsToPoly* Pear
と二つのノード名をスペースで
分けて挿入。
Operation は Delete Selected
のまま。
name1 ノードを選択して、Details
View を見れば、abcname 以下に、
Big_Stem, Plate, apple,
appleleaf, applestem, banana1,
banana2, cherry_grp_1,
cherry_grp_2, orange, shee1,
sphere[2-7] が確認できる。
20. delete1をothers と名称変更し
ておくと後々わかり易い(次ペー
ジ)。
18
19
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
7. グループ化 2 (梨): Delete ノード作成
21. 再び attribute1 ノードから、
TAB -> Delete として、Delete
ノードを作成。
22. Group に Pear と名前を挿入。
23. Operation を
Delete Non Selected
に変更。
これにより、Pear オブジェクトが
他から分離された。
20
22
21
23
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
7. グループ化 2 (梨): 選択モードの変更
24. 右画面上、箱で囲われた
Geometry Selection Mode アイ
コンを右マウスボタンでクリッ
ク。
25. Modeは Primitives。
26. Select Connected Geometry を
オンにする。
#26により、形状の面どこか一箇所
を選択すれば、つながった面がすべ
て選択できるようになる。
24
25
26
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
7. グループ化 2 (梨): 面の選択、グループの作成
ネットワークビューで、delete2 ノ
ードがハイライト(選択)されている
ことを確認し、
27. ツールボックスで選択ツールを
起動。
28. ビューポート上で、梨のヘタの
部分どこか一箇所を選択すると
、ヘタ全体がハイライト選択さ
れる。
29. この状態、ビューポート内で、
TAB
-> Group として グループノー
ドを作成する。
選択結果を作成するノードに直接渡
すために#29は、必ずビューポート
内で行う。
30. これにより、group1 ノードが
27
28
29
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
7. グループ化 2 (梨): グループ編集1
31. Group Name のチェックボックス
がオンになっていること(デフォ
ルト) を確認の上、名前を
Pearstem とする。
Pearstemの'P' は、のちほど
Pear*で両方選択できるように、
大文字。
30
31
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
7. グループ化 2 (梨): グループ編集2
32. 同じ group1 ノードの Combine
タブに行き、
33. 左のGroup 名に Pear (プルダ
ウンから選択可能)
34. 画面で箱で囲われたアイコンを
クリック、
35. 右の Group名に Pearstem (プ
ルダウンから選択可能)を挿入
。
こうすることで、梨の実とヘタの部
分が排他的にそれぞれ別のグループ
となった。
36. この group1 は pear と名前を
変更しておくと後々わかり易い
(次ページ)。
32
34
33 35
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
8. 結果のマージ
ここでグループ化1の結果とグループ
化2の結果を一度まとめておく。
37. others ノードを選択し、TAB ->
Merge で Merge ノードを作成。
38. 出来たノード (merge1)を name1
との間に挿入。
39. pear ノード (#36で名称変更)を
merge1 に接続。
これにより、二つのグループが一緒
になった。
ここまでの作業を保存しておく良い
。
(obj2abc_begin.hip)
3637
38
39
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
9. グループ化 3: nurbsToPoly* その1
40. 再び attribute1 ノードから、
TAB
-> Delete として、Delete ノー
ドを作成。
41. Group に nurbsToPoly* とノー
ド名を挿入。
42. Operation を
Delete Non Selected
に変更。
これで、nurbsToPolyではじまる名
前のオブジェクトが分離された。
43. このノードを nurbsToPolyG と
名前を変更しておく (画面は次
ページ)。
40
41
42
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
9. グループ化 3: nurbsToPoly* その2
ここでは、Group のプルダウンリス
トに羅列される nurbsToPoly1 …
nurbsToPoly120 までのグループ名
を削除し、これから作るグループ名
へのアクセスを容易にする。
44. ネットワークビューで
nurbsToPolyG (#43で名称変更)
から、TAB -> Group として
Group ノードを一つ作成。
45. できた group1 ノードの Group
Name パラメータの左横にある
チェックボックス (作成時はオ
ン)をオフにする。
これにより新しいグループ名が
追加されるのを防ぐ。
43
44
45
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
9. グループ化 3: nurbsToPoly* その3
45. #44 で作成した group1 ノード
の Edit タブに行く。
46. さらにその中の Delete タブに
行く。
47. 削除する Group 名として、
nurbsToPoly*
を入力。
これにより、group1 以下に今後作
成されるノードから nurbsToPoly*
グループを参照することは出来なく
なり、現在ビューポートに表示され
ているオブジェクトは特にどのグル
ープにも属さない (よってこれから
作る)。
48. このノードを groupRemoved と
名前を変更しておく (画面は次
ページ)。
45
46
47
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
9. グループ化 3: nurbsToPoly* その4
49. groupRemoved (#48で名称変更)
が選択されているのを確認して
から、ビューポート画面右側の
大きな房のぶどうの実を、「7.
グループ化 2 (梨): 選択モード
の変更」 (#24~26)の手順を使っ
て一つずつ選択。
カメラビューをタンブルする際には
、SPACE + G キーを押すと、ビュー
のピボットが選択物の中心となる。
50. 全部選択すると、Primitivesの
選択数が、25,380となる。
51. この状態、ビューポート内で、
TAB
-> Group として グループノー
ドを作成する。
52. これにより、group1 ノードが作
成された (次ページ)。
49
50
51
48
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
9. グループ化 3: nurbsToPoly* その5
53. #52によって、作成された Group
ノードの Group Name を grape1
と変更する。
54. ノード名も grape1 とする。
52
54
53
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
9. グループ化 3: nurbsToPoly* その6
55. ネットワークビューで、grape1
から、TAB -> Delete として、
Deleteノードを作成する。
56. Group に grape1 を追加
57. Operation を Delete Non
Selected とする。
58. この Delete ノードを
grape1_x と名前を変更し、
merge1 ノードに接続する。
このように Delete ノードを経由し
てマージすることで、grape1 で定
義した面情報だけを merge1 以下に
渡すことが出来る。
56
57
55, 58
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
9. グループ化 3: nurbsToPoly* その7
#49 ~ #52 の手順を数の少ないブド
ウの実の方でもおこなう。
59. grape1 をネットワークパネル
で再度選択、ビューポート画面
左側に残ったぶどうの実を、
#24 ~ 26の手順で一つずつ選択
。
60. 全部選択すると、Primitivesの
選択数が、5,940となる。
61. この状態、ビューポート内で、
TAB
-> Group として グループノー
ドを作成する。
62. これにより、group1 ノードが
作成された (次ページ)。
63. この group1 を grape2 と
Group, Group Nameの2箇所で改
59
60
61
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
9. グループ化 3: nurbsToPoly* その8
64. #63 で改名した grape2 が、
grape1 と grape1_x をつなぐ線
からは外れていることを確認。
65. もし間に挿入されているのであれ
ば、ノードを選択、左右に振って
外し、groupRemoved とあらため
て接続。
64-65
63
63
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
9. グループ化 3: nurbsToPoly* その9
#55 ~ #58 で行ったことを繰り返し
、grape2 も Delete ノード経由で
merge1 ノードに接続する。
66. ネットワークビューで、grape2
から、TAB -> Delete として、
Deleteノードを作成 (右画面で
は #69により既に改名)。
67. Group に grape2 を追加
68. Operation を Delete Non
Selected とする。
69. この Delete ノードを
grape2_x と名前を変更し、
merge1 ノードに接続する。
このように Delete ノードを経由し
てマージすることで、grape2 で定
義した面情報だけを merge1 以下に
渡すことが出来る。
67
68
66
69
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
9. グループ化 3: nurbsToPoly* その10
残ったヘタをグループ一つにまとめ
る。ここでの手順は、grape1,
grape2 とは逆。
つまり、Delete、Group の順で作成
。
70. grape2 をネットワークパネル
で選択、TAB -> Delete として
、Deleteノードを作成。
71. Group に grape1 と grape2 を
追加。
72. Operation は Delete Selected
のまま。これにより、軸の形状
だけが抽出される。
73. このノードを stems と改名。
71
72
70
73
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
9. グループ化 3: nurbsToPoly* その11
74. stems をネットワークパネルで
選択、TAB -> Group として、
Group ノードを作成。
75. Group Name を stems とする。
76. このノードを stems_g と改名
。
77. stems_g を merge1 に接続。
これで、すべてのグループ化が終了
。
75
74
76
77
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
10. グループ化終了: まとめ
78. merge1 ノードを選択、パラメー
タビューには、このノードに接続
されているノード名が表示される
。
79. ディスプレイフラグもこのノード
にすると、ビューポートにはすべ
てのジオメトリが表示され、総
primitives 数は、106,986 と入
力と同じになっている(はず)。
もし数値が異なるのであれば、ど
こかで間違えている。
80. また、name1 を選択し、 Details
View (Primitives) をみれば、す
べての面にグループ名が入ってい
る(はず)。
空白があれば、どこかで間違えて
いる。
78
79
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
11. ROP Alembic の追加
81. ディスプレイフラグを name1 に
設定。これは非常に重要。
82. ここまでシーンファイルを保存
していないのであれば、保存
(File->Save) を実行する
(obj2abc_completePartitions.h
ip)。
これにより $HIP (シーンファイ
ルのあるディレクトリ)が決定/
更新され、Alembicファイルの書
き出される場所がわかり易くな
る。
83. name1 から、TAB -> ROP
Alembic Output を選択。
81
83
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
11. ROP Alembic の設定 その1
84. Alembic file の名前を設定す
る。拡張子 (.abc)を忘れない
こと。
84
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
11. ROP Alembic の設定 その2
右横のスクロールバーを使って パ
ラメータビューの下の方に進み、
85. Partition Mode を
Use Attribute Value
に変更する。
86. Partition Attribute を
abcname
に設定 (#7 で定義した)。
87. 再びパラメータビュー上部に戻
り、Render ボタンをクリック
し、ファイルを出力。
85
86
87
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
12. Alembic の読み込み: その1
88. Scene View に戻り、今まで作業
をしてきた geo1 のディスプレ
イフラグを(右端の青い部分)を
クリックしてオフにし、非表示
にする。
ビューポートからジオメトリが
消える。
89. TAB -> Geometry で新しく
Geometry ノード (geo2) を作成
。
88 89
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
12. Alembic の読み込み: その2
90. #89 で作成した geo2 ノードの
中に入る。ここに file1 ノー
ドがあるが、使わないので、削
除しても無視しても構わない。
91. TAB -> Alembic を実行し、
Alembic ノードを作成。
91
90
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
12. Alembic の読み込み: その3
92. File Name に先ほど (#84) で
書き出した ファイル名を指定
。
93. alembic1 ノードのディスプレ
イフラグがオンになっていれば
、ビューポートにジオメトリが
表示される。
92
93
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
13. Packed Edit + Data Tree
94. alembic1 ノードから TAB ->
Packed Edit を実行。
95. #94 によって作成された
packededit1 にディスプレイフ
ラグを設定。
96. パネルタブの右端にある'+' ボ
タンを押してメニューを表示。
New Pane Tab Type-> Data
Tree (下から5番目)を選択。
96
94-95
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
14. Data Tree
97. 表示された Data Tree パネル
で Object Appearance を選択
。
右図のように、定義した名前がすべ
て表示され、これを元にライティン
グおよびシェーディングの編集が可
能。
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
ここまで
• 続き (カメラ、ライト、マテリアル追加・設定)は
http://slidesha.re/1iBNOB0
の2-4 (カメラの追加) からを参照。
• 基本的な考え方は、他のファイルフォーマットでも同じ。
• やり方は一通りではなく、いくつもある。
• 自分の好みの方法があればそのアプローチを取って構わない。
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
ftp://ftp.sidefx.com/public/sidefx_jp_obj2abc.zip (17MB)
• Houdini 13.0.401 で作成。
1 fruit_out.abc この手順通りに出力した Alembic ファイル
2 fruit_plain_output.abc
fruit_v2.obj をそのまま、NurbsToPoly に修正を加えず
に Alembic ファイルとして出力した結果 。
3 fruit_renamed.obj
fruit_v2.obj にテキスト編集を加えたファイル (8ペー
ジ参照)。
4 fruit_v2.mtl, fruit_v2.obj
オリジナルの .OBJ ファイルとマテリアルファイル
(.mtl)
5 obj2abc_begin.hip 「8. 結果のマージ」 (21ページまで行ったもの)
6 obj2abc_completePartitions.hip 「11. ROP Alembic の追加」 (#81まで行ったもの)
7 obj2abc_final.hip 「14. Data Tree」 (41ページまで行ったもの)
8 simpleout.hip #1 の fruit_out.abc を出力したシーンファイル
9 simpleout_in.hip
#7 のファイルから、#1の.abc ファイルをさらに読み込
んだもの。
シーンファイル
Copyright © Side Effects Software Inc. 2014 All Rights Reserved.
この項終了
質問は info-jp@sidefx.com まで。

More Related Content

What's hot

db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!Masayuki Ozawa
 
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1Y Watanabe
 
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...Insight Technology, Inc.
 
Sql server これだけはやっておこう 最終版
Sql server これだけはやっておこう 最終版Sql server これだけはやっておこう 最終版
Sql server これだけはやっておこう 最終版elanlilac
 
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門Takashi Takizawa
 
Process Scheduler and Balancer in Linux Kernel
Process Scheduler and Balancer in Linux KernelProcess Scheduler and Balancer in Linux Kernel
Process Scheduler and Balancer in Linux KernelHaifeng Li
 
一人でもNFC開発
一人でもNFC開発一人でもNFC開発
一人でもNFC開発Hirokuma Ueno
 
心拍数IoT完全に理解した.pptx
心拍数IoT完全に理解した.pptx心拍数IoT完全に理解した.pptx
心拍数IoT完全に理解した.pptxminoruakahori1
 
도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편Sam Kim
 
10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!bitter_fox
 
Debianの修正はどのように出荷されるか
Debianの修正はどのように出荷されるかDebianの修正はどのように出荷されるか
Debianの修正はどのように出荷されるかHideki Yamane
 
MySQLからPostgreSQLへのマイグレーションのハマリ所
MySQLからPostgreSQLへのマイグレーションのハマリ所MySQLからPostgreSQLへのマイグレーションのハマリ所
MySQLからPostgreSQLへのマイグレーションのハマリ所Makoto Kaga
 
Pythonのシグナル処理
Pythonのシグナル処理Pythonのシグナル処理
Pythonのシグナル処理Atsuo Ishimoto
 
P4 membangun hotspot menggunakan mikro tik rb941 2nd
P4 membangun hotspot menggunakan mikro tik rb941 2ndP4 membangun hotspot menggunakan mikro tik rb941 2nd
P4 membangun hotspot menggunakan mikro tik rb941 2ndKarya Gunawan
 
HTTP and 5G (fixed1)
HTTP and 5G (fixed1)HTTP and 5G (fixed1)
HTTP and 5G (fixed1)dynamis
 
OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築Daein Park
 
LinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみたLinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみたHiraku Toyooka
 
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介オラクルエンジニア通信
 

What's hot (20)

db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
 
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
 
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
 
Sql server これだけはやっておこう 最終版
Sql server これだけはやっておこう 最終版Sql server これだけはやっておこう 最終版
Sql server これだけはやっておこう 最終版
 
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門
 
Process Scheduler and Balancer in Linux Kernel
Process Scheduler and Balancer in Linux KernelProcess Scheduler and Balancer in Linux Kernel
Process Scheduler and Balancer in Linux Kernel
 
一人でもNFC開発
一人でもNFC開発一人でもNFC開発
一人でもNFC開発
 
心拍数IoT完全に理解した.pptx
心拍数IoT完全に理解した.pptx心拍数IoT完全に理解した.pptx
心拍数IoT完全に理解した.pptx
 
도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편
 
10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!
 
Debianの修正はどのように出荷されるか
Debianの修正はどのように出荷されるかDebianの修正はどのように出荷されるか
Debianの修正はどのように出荷されるか
 
MySQLからPostgreSQLへのマイグレーションのハマリ所
MySQLからPostgreSQLへのマイグレーションのハマリ所MySQLからPostgreSQLへのマイグレーションのハマリ所
MySQLからPostgreSQLへのマイグレーションのハマリ所
 
Pythonのシグナル処理
Pythonのシグナル処理Pythonのシグナル処理
Pythonのシグナル処理
 
P4 membangun hotspot menggunakan mikro tik rb941 2nd
P4 membangun hotspot menggunakan mikro tik rb941 2ndP4 membangun hotspot menggunakan mikro tik rb941 2nd
P4 membangun hotspot menggunakan mikro tik rb941 2nd
 
HTTP and 5G (fixed1)
HTTP and 5G (fixed1)HTTP and 5G (fixed1)
HTTP and 5G (fixed1)
 
OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築
 
Oracle Database Vaultのご紹介
Oracle Database Vaultのご紹介Oracle Database Vaultのご紹介
Oracle Database Vaultのご紹介
 
LinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみたLinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみた
 
Ad設計
Ad設計Ad設計
Ad設計
 
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
 

Viewers also liked

Houdini Mantra レンダリングのチューニング
Houdini Mantra レンダリングのチューニングHoudini Mantra レンダリングのチューニング
Houdini Mantra レンダリングのチューニングKen Taki
 
Houdini Mantra チューニング (ファイル作成)
Houdini Mantra チューニング (ファイル作成)Houdini Mantra チューニング (ファイル作成)
Houdini Mantra チューニング (ファイル作成)Ken Taki
 
Practical use of game engine in CG and Robotics
Practical use of game engine in CG and RoboticsPractical use of game engine in CG and Robotics
Practical use of game engine in CG and RoboticsNaoji Taniguchi
 
Houdini Alembic を使ったライティングワークフロー
Houdini Alembic を使ったライティングワークフローHoudini Alembic を使ったライティングワークフロー
Houdini Alembic を使ったライティングワークフローKen Taki
 
Houdini 12 5_overview_jp
Houdini 12 5_overview_jpHoudini 12 5_overview_jp
Houdini 12 5_overview_jpKen Taki
 
Houdini 製品概要
Houdini 製品概要 Houdini 製品概要
Houdini 製品概要 Ken Taki
 
CEDEC 2015 Houdini for Game VFX
CEDEC 2015 Houdini for Game VFXCEDEC 2015 Houdini for Game VFX
CEDEC 2015 Houdini for Game VFXKen Taki
 
Sakuma presen
Sakuma presenSakuma presen
Sakuma presenshuichi
 
BlenderのAlembic状況(2016/6/26)
BlenderのAlembic状況(2016/6/26)BlenderのAlembic状況(2016/6/26)
BlenderのAlembic状況(2016/6/26)Kazuma Hatta
 

Viewers also liked (9)

Houdini Mantra レンダリングのチューニング
Houdini Mantra レンダリングのチューニングHoudini Mantra レンダリングのチューニング
Houdini Mantra レンダリングのチューニング
 
Houdini Mantra チューニング (ファイル作成)
Houdini Mantra チューニング (ファイル作成)Houdini Mantra チューニング (ファイル作成)
Houdini Mantra チューニング (ファイル作成)
 
Practical use of game engine in CG and Robotics
Practical use of game engine in CG and RoboticsPractical use of game engine in CG and Robotics
Practical use of game engine in CG and Robotics
 
Houdini Alembic を使ったライティングワークフロー
Houdini Alembic を使ったライティングワークフローHoudini Alembic を使ったライティングワークフロー
Houdini Alembic を使ったライティングワークフロー
 
Houdini 12 5_overview_jp
Houdini 12 5_overview_jpHoudini 12 5_overview_jp
Houdini 12 5_overview_jp
 
Houdini 製品概要
Houdini 製品概要 Houdini 製品概要
Houdini 製品概要
 
CEDEC 2015 Houdini for Game VFX
CEDEC 2015 Houdini for Game VFXCEDEC 2015 Houdini for Game VFX
CEDEC 2015 Houdini for Game VFX
 
Sakuma presen
Sakuma presenSakuma presen
Sakuma presen
 
BlenderのAlembic状況(2016/6/26)
BlenderのAlembic状況(2016/6/26)BlenderのAlembic状況(2016/6/26)
BlenderのAlembic状況(2016/6/26)
 

Similar to Houdini .OBJ から .ABC へ

ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発
ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発
ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発Takashi Yoshinaga
 
DIGITSによるディープラーニング画像分類
DIGITSによるディープラーニング画像分類DIGITSによるディープラーニング画像分類
DIGITSによるディープラーニング画像分類NVIDIA Japan
 
ハンズオン セッション 1: DIGITS によるディープラーニング入門
ハンズオン セッション 1: DIGITS によるディープラーニング入門ハンズオン セッション 1: DIGITS によるディープラーニング入門
ハンズオン セッション 1: DIGITS によるディープラーニング入門NVIDIA Japan
 
Flashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3DFlashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3DKatsushi Suzuki
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Takako Miyagawa
 
ハンズオン1: DIGITS によるディープラーニング入門
ハンズオン1: DIGITS によるディープラーニング入門ハンズオン1: DIGITS によるディープラーニング入門
ハンズオン1: DIGITS によるディープラーニング入門NVIDIA Japan
 

Similar to Houdini .OBJ から .ABC へ (8)

ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発
ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発
ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発
 
Eon Tutorial
Eon TutorialEon Tutorial
Eon Tutorial
 
DIGITSによるディープラーニング画像分類
DIGITSによるディープラーニング画像分類DIGITSによるディープラーニング画像分類
DIGITSによるディープラーニング画像分類
 
Flashup 8
Flashup 8Flashup 8
Flashup 8
 
ハンズオン セッション 1: DIGITS によるディープラーニング入門
ハンズオン セッション 1: DIGITS によるディープラーニング入門ハンズオン セッション 1: DIGITS によるディープラーニング入門
ハンズオン セッション 1: DIGITS によるディープラーニング入門
 
Flashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3DFlashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3D
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
ハンズオン1: DIGITS によるディープラーニング入門
ハンズオン1: DIGITS によるディープラーニング入門ハンズオン1: DIGITS によるディープラーニング入門
ハンズオン1: DIGITS によるディープラーニング入門
 

Houdini .OBJ から .ABC へ

  • 1. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. Houdini .OBJ から .ABC へ 2014/5/12 Side Effects Software Inc.
  • 2. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 今回の目的 1. 他アプリケーションで作られた データを Houdini に読み込み 、Alembic 出出力することによ り、Data Tree を用いて、ライ ティング & レンダリング ワー クフローに組み込めるようにす る。 2. 必ずしも Houdini に持ち込む ことを想定していない ファイ ルへの対処方法を理解する。 3. カメラ・ライト・マテリアルの 作成&編集は、 http://slidesha.re/1iBNOB0 の2-4 (カメラの追加) からを 参照のこと。
  • 3. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 基本的な流れ 1. OBJ ファイルを読み込む。 2. ファイル内のグループ情報を引き継ぐ形で、Alembic (.abc) に渡すグ ループ情報を定義。 • Name ノードを使って Primitive (面) 単位のアトリビュートにする。 • 元のグループ情報を編集したい場合は、Group ノードを使用して、排他的 な(複数グループにまたがらない) グループを定義。これには、Deleteノー ドとの組合せが必要。 3. Alembic で出力。 4. #3 の Alembic を (新たな) シーンに読み込み、Packed Edit ノードを 使って、グループ情報を抽出。 5. Data Tree ビューを使って、マテリアルとライティングを定義。
  • 4. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 今回使用する OBJ ファイル • www.3drender.com にある Challenge #1: Fruit Bowl (.OBJ) をダウンロードして使用。 • これを使うことで、必ずしも Houdini に持ち込むことを想定し ていない ファイルへの対処方法を 理解する。
  • 5. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. このOBJファイルの問題点 梨 (Pear) の 実の部分と 軸の部分 が同じグループになっている (画 面)。 リンゴ、バナナ、ブドウのオブジェ クトが、nurbsToPoly[1-122] で名付けられていて、判別が面倒。 ちなみに、 • nurbsToPoly23 = リンゴの実 • nurbsToPoly40 = リンゴの軸 • nurbsToPoly64 = リンゴの葉 • nurbsToPoly121 = バナナ1(下) • nurbsToPoly122 = バナナ2(上) となっているが、ブドウの実と軸は ランダム。
  • 6. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. このOBJファイルの問題点 • このファイルをそのまま Alembic に変換して、Data Tree に渡せば、122の nurbsToPoly を扱わなければな らなくなる。 • これは面倒。
  • 7. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 2つの解決方法 1. Houdiniのノードネットワークですべて対処 nurbsToPoly[1-122]のうち、リンゴグループ3 つ、バナナ2つのグループ名を Houdiniの Group ノードで置換、残りは、ビューポート 選択によってグループを再編成。 • 利点 • テキスト編集する必要がない • 難点 • ノードネットワークが冗長になりやすい。 2. .OBJ ファイルをテキスト編集 .OBJ ファイルで定義されたグループのう ち、簡単に変更できる部分をテキストエディ タで置換する。 • 利点 • 時間短縮。ノードネットワークが単純にな る。 • 難点 • テキスト編集を間違うとデータが読めなくな る可能性あり。
  • 8. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 今回は テキスト編集 (#2) を使用 • .OBJ で定義されたグループのうち、 次を以下のように編集した。 nurbsToPoly23 -> apple nurbsToPoly40 -> applestem nurbsToPoly64 -> appleleaf nurbsToPoly121 -> banana1 nurbsToPoly122 -> banana2 • 編集を加えたのが fruit_renamed.obj。 編集していないのが fruit_v2.obj。
  • 9. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 1. Geometry ノードの配置 ジオメトリデータを扱うための大元 となる Geometry ノードを作成。実 際の編集作業はすべてこのノードの 中で行う。 1. ネットワークビューのScene ビ ューで、TAB->Geometry とし て、Geometryノードを配置す る。 2. ダブルクリック、またはEnter キーを押す、または 'i' キー を押し、中に入る。 3. Geometry ノード (geo1) の中 に入ると、File ノード (file1)があるはず (次ペー ジ)。 1
  • 10. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 2. OBJ ファイルの読み込み file ノードを使って、OBJ ファイ ルを読み込む。 4. ファイルノードの Geometry File の部分に、.obj ファイル (fruit_renamed.obj) を指定。 四角で囲われたアイコンをクリ ックすることで、ブラウザを開 いてファイルの場所まで到達、 ファイルを選択可能。 5. #4が終了すると、ビューポート 上にオブジェクトが現れる (画 面はカメラをタンブルした結果 )。 4 3
  • 11. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 3. Name ノードの追加 Nameノードを追加することで、OBJ ファイルにあるグループ情報を Houdiniの面単位でのアトリビュー ト値に変換することが可能。 6. file1 ノードから TAB -> Name として Name ノードを追加。 7. パラメータビューの Attribute を name (デフォルト)から abcname Class は Primitive (そのまま ) 8. Name from Group を ON 9. #8 の結果表示された Group Mask を "piece*" から "*" に 変更。 10. Number of Namings を 1 から0 にするか、右画像で囲われた 'X' アイコンをクリックして削 除 (結果画像は次ページ)。 7 8 9 10 6
  • 12. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 4. Details View による確認 Details View により現在のデータの 様子を確認可能。 11. Details View をクリック。 12. Primitives アイコンをクリック して面単位でのアトリビュート値 を確認。 13. abcname のカラムに、OBJファイ ルから取り込まれたグループ情報 が面単位で存在していることがわ かる。 ここには、apple などテキスト編 集したのもあれば、 "nurbsToPoly*" なども混在。 14. shop_material は、OBJファイル 内で定義されているマテリアル情 報。これは必要ないので、削除可 能 (次ページ)。 11 12 13 14
  • 13. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 5. Attribute ノードによるデータ削除 OBJから取り込んだシェーディング 情報は使わないので削除できる(し なくとも良い)。 15. file1 ノードから、TAB -> Attribute として、Attribute ノードを作成、name1 ノードと の間に挿入する。 16. Primitive タブに行く。 17. Delete Attribute の部分、三角 形のアイコンをクリックして、 shop_materialpath を指定。 name1 ノードのディスプレイフ ラグがオンになっていれば、 Details Viewで、 shop_materialpath のカラムが 削除されたことが確認できる。 file1をハイライトすれば、元デ ータが確認可能。 15 16 17
  • 14. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. ここから3つに場合分け ここから先、扱うデータを次の3つの場合に分けて操作していく。 1 グループ名がそのま ま使えるもの グループ名が nurbsToPoly* と梨 (Pear) ではないもの。 そのまま Name ノードに通す。 2 Pear (梨) 実の部分(Pear)とヘタ(Pearstem)の2つにグループ分け。 3 nurbsToPoly* nurbsToPoly というグループ名をすべて削除、扱い易いグル ープ3つ (grape1, grape2, stems) に再編成。実の部分 (grape1とgrape2)は、2回に分け手作業で選択。残りを一つ のグループ(stems)にまとめる。 それぞれのグループ化には、 Delete ノードを使用。
  • 15. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 6. グループ化 1 (そのまま通すもの) 18. attribute1 から、TAB -> Delete として、Delete ノード を作成。 19. Group に nurbsToPoly* Pear と二つのノード名をスペースで 分けて挿入。 Operation は Delete Selected のまま。 name1 ノードを選択して、Details View を見れば、abcname 以下に、 Big_Stem, Plate, apple, appleleaf, applestem, banana1, banana2, cherry_grp_1, cherry_grp_2, orange, shee1, sphere[2-7] が確認できる。 20. delete1をothers と名称変更し ておくと後々わかり易い(次ペー ジ)。 18 19
  • 16. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 7. グループ化 2 (梨): Delete ノード作成 21. 再び attribute1 ノードから、 TAB -> Delete として、Delete ノードを作成。 22. Group に Pear と名前を挿入。 23. Operation を Delete Non Selected に変更。 これにより、Pear オブジェクトが 他から分離された。 20 22 21 23
  • 17. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 7. グループ化 2 (梨): 選択モードの変更 24. 右画面上、箱で囲われた Geometry Selection Mode アイ コンを右マウスボタンでクリッ ク。 25. Modeは Primitives。 26. Select Connected Geometry を オンにする。 #26により、形状の面どこか一箇所 を選択すれば、つながった面がすべ て選択できるようになる。 24 25 26
  • 18. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 7. グループ化 2 (梨): 面の選択、グループの作成 ネットワークビューで、delete2 ノ ードがハイライト(選択)されている ことを確認し、 27. ツールボックスで選択ツールを 起動。 28. ビューポート上で、梨のヘタの 部分どこか一箇所を選択すると 、ヘタ全体がハイライト選択さ れる。 29. この状態、ビューポート内で、 TAB -> Group として グループノー ドを作成する。 選択結果を作成するノードに直接渡 すために#29は、必ずビューポート 内で行う。 30. これにより、group1 ノードが 27 28 29
  • 19. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 7. グループ化 2 (梨): グループ編集1 31. Group Name のチェックボックス がオンになっていること(デフォ ルト) を確認の上、名前を Pearstem とする。 Pearstemの'P' は、のちほど Pear*で両方選択できるように、 大文字。 30 31
  • 20. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 7. グループ化 2 (梨): グループ編集2 32. 同じ group1 ノードの Combine タブに行き、 33. 左のGroup 名に Pear (プルダ ウンから選択可能) 34. 画面で箱で囲われたアイコンを クリック、 35. 右の Group名に Pearstem (プ ルダウンから選択可能)を挿入 。 こうすることで、梨の実とヘタの部 分が排他的にそれぞれ別のグループ となった。 36. この group1 は pear と名前を 変更しておくと後々わかり易い (次ページ)。 32 34 33 35
  • 21. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 8. 結果のマージ ここでグループ化1の結果とグループ 化2の結果を一度まとめておく。 37. others ノードを選択し、TAB -> Merge で Merge ノードを作成。 38. 出来たノード (merge1)を name1 との間に挿入。 39. pear ノード (#36で名称変更)を merge1 に接続。 これにより、二つのグループが一緒 になった。 ここまでの作業を保存しておく良い 。 (obj2abc_begin.hip) 3637 38 39
  • 22. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 9. グループ化 3: nurbsToPoly* その1 40. 再び attribute1 ノードから、 TAB -> Delete として、Delete ノー ドを作成。 41. Group に nurbsToPoly* とノー ド名を挿入。 42. Operation を Delete Non Selected に変更。 これで、nurbsToPolyではじまる名 前のオブジェクトが分離された。 43. このノードを nurbsToPolyG と 名前を変更しておく (画面は次 ページ)。 40 41 42
  • 23. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 9. グループ化 3: nurbsToPoly* その2 ここでは、Group のプルダウンリス トに羅列される nurbsToPoly1 … nurbsToPoly120 までのグループ名 を削除し、これから作るグループ名 へのアクセスを容易にする。 44. ネットワークビューで nurbsToPolyG (#43で名称変更) から、TAB -> Group として Group ノードを一つ作成。 45. できた group1 ノードの Group Name パラメータの左横にある チェックボックス (作成時はオ ン)をオフにする。 これにより新しいグループ名が 追加されるのを防ぐ。 43 44 45
  • 24. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 9. グループ化 3: nurbsToPoly* その3 45. #44 で作成した group1 ノード の Edit タブに行く。 46. さらにその中の Delete タブに 行く。 47. 削除する Group 名として、 nurbsToPoly* を入力。 これにより、group1 以下に今後作 成されるノードから nurbsToPoly* グループを参照することは出来なく なり、現在ビューポートに表示され ているオブジェクトは特にどのグル ープにも属さない (よってこれから 作る)。 48. このノードを groupRemoved と 名前を変更しておく (画面は次 ページ)。 45 46 47
  • 25. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 9. グループ化 3: nurbsToPoly* その4 49. groupRemoved (#48で名称変更) が選択されているのを確認して から、ビューポート画面右側の 大きな房のぶどうの実を、「7. グループ化 2 (梨): 選択モード の変更」 (#24~26)の手順を使っ て一つずつ選択。 カメラビューをタンブルする際には 、SPACE + G キーを押すと、ビュー のピボットが選択物の中心となる。 50. 全部選択すると、Primitivesの 選択数が、25,380となる。 51. この状態、ビューポート内で、 TAB -> Group として グループノー ドを作成する。 52. これにより、group1 ノードが作 成された (次ページ)。 49 50 51 48
  • 26. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 9. グループ化 3: nurbsToPoly* その5 53. #52によって、作成された Group ノードの Group Name を grape1 と変更する。 54. ノード名も grape1 とする。 52 54 53
  • 27. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 9. グループ化 3: nurbsToPoly* その6 55. ネットワークビューで、grape1 から、TAB -> Delete として、 Deleteノードを作成する。 56. Group に grape1 を追加 57. Operation を Delete Non Selected とする。 58. この Delete ノードを grape1_x と名前を変更し、 merge1 ノードに接続する。 このように Delete ノードを経由し てマージすることで、grape1 で定 義した面情報だけを merge1 以下に 渡すことが出来る。 56 57 55, 58
  • 28. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 9. グループ化 3: nurbsToPoly* その7 #49 ~ #52 の手順を数の少ないブド ウの実の方でもおこなう。 59. grape1 をネットワークパネル で再度選択、ビューポート画面 左側に残ったぶどうの実を、 #24 ~ 26の手順で一つずつ選択 。 60. 全部選択すると、Primitivesの 選択数が、5,940となる。 61. この状態、ビューポート内で、 TAB -> Group として グループノー ドを作成する。 62. これにより、group1 ノードが 作成された (次ページ)。 63. この group1 を grape2 と Group, Group Nameの2箇所で改 59 60 61
  • 29. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 9. グループ化 3: nurbsToPoly* その8 64. #63 で改名した grape2 が、 grape1 と grape1_x をつなぐ線 からは外れていることを確認。 65. もし間に挿入されているのであれ ば、ノードを選択、左右に振って 外し、groupRemoved とあらため て接続。 64-65 63 63
  • 30. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 9. グループ化 3: nurbsToPoly* その9 #55 ~ #58 で行ったことを繰り返し 、grape2 も Delete ノード経由で merge1 ノードに接続する。 66. ネットワークビューで、grape2 から、TAB -> Delete として、 Deleteノードを作成 (右画面で は #69により既に改名)。 67. Group に grape2 を追加 68. Operation を Delete Non Selected とする。 69. この Delete ノードを grape2_x と名前を変更し、 merge1 ノードに接続する。 このように Delete ノードを経由し てマージすることで、grape2 で定 義した面情報だけを merge1 以下に 渡すことが出来る。 67 68 66 69
  • 31. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 9. グループ化 3: nurbsToPoly* その10 残ったヘタをグループ一つにまとめ る。ここでの手順は、grape1, grape2 とは逆。 つまり、Delete、Group の順で作成 。 70. grape2 をネットワークパネル で選択、TAB -> Delete として 、Deleteノードを作成。 71. Group に grape1 と grape2 を 追加。 72. Operation は Delete Selected のまま。これにより、軸の形状 だけが抽出される。 73. このノードを stems と改名。 71 72 70 73
  • 32. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 9. グループ化 3: nurbsToPoly* その11 74. stems をネットワークパネルで 選択、TAB -> Group として、 Group ノードを作成。 75. Group Name を stems とする。 76. このノードを stems_g と改名 。 77. stems_g を merge1 に接続。 これで、すべてのグループ化が終了 。 75 74 76 77
  • 33. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 10. グループ化終了: まとめ 78. merge1 ノードを選択、パラメー タビューには、このノードに接続 されているノード名が表示される 。 79. ディスプレイフラグもこのノード にすると、ビューポートにはすべ てのジオメトリが表示され、総 primitives 数は、106,986 と入 力と同じになっている(はず)。 もし数値が異なるのであれば、ど こかで間違えている。 80. また、name1 を選択し、 Details View (Primitives) をみれば、す べての面にグループ名が入ってい る(はず)。 空白があれば、どこかで間違えて いる。 78 79
  • 34. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 11. ROP Alembic の追加 81. ディスプレイフラグを name1 に 設定。これは非常に重要。 82. ここまでシーンファイルを保存 していないのであれば、保存 (File->Save) を実行する (obj2abc_completePartitions.h ip)。 これにより $HIP (シーンファイ ルのあるディレクトリ)が決定/ 更新され、Alembicファイルの書 き出される場所がわかり易くな る。 83. name1 から、TAB -> ROP Alembic Output を選択。 81 83
  • 35. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 11. ROP Alembic の設定 その1 84. Alembic file の名前を設定す る。拡張子 (.abc)を忘れない こと。 84
  • 36. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 11. ROP Alembic の設定 その2 右横のスクロールバーを使って パ ラメータビューの下の方に進み、 85. Partition Mode を Use Attribute Value に変更する。 86. Partition Attribute を abcname に設定 (#7 で定義した)。 87. 再びパラメータビュー上部に戻 り、Render ボタンをクリック し、ファイルを出力。 85 86 87
  • 37. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 12. Alembic の読み込み: その1 88. Scene View に戻り、今まで作業 をしてきた geo1 のディスプレ イフラグを(右端の青い部分)を クリックしてオフにし、非表示 にする。 ビューポートからジオメトリが 消える。 89. TAB -> Geometry で新しく Geometry ノード (geo2) を作成 。 88 89
  • 38. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 12. Alembic の読み込み: その2 90. #89 で作成した geo2 ノードの 中に入る。ここに file1 ノー ドがあるが、使わないので、削 除しても無視しても構わない。 91. TAB -> Alembic を実行し、 Alembic ノードを作成。 91 90
  • 39. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 12. Alembic の読み込み: その3 92. File Name に先ほど (#84) で 書き出した ファイル名を指定 。 93. alembic1 ノードのディスプレ イフラグがオンになっていれば 、ビューポートにジオメトリが 表示される。 92 93
  • 40. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 13. Packed Edit + Data Tree 94. alembic1 ノードから TAB -> Packed Edit を実行。 95. #94 によって作成された packededit1 にディスプレイフ ラグを設定。 96. パネルタブの右端にある'+' ボ タンを押してメニューを表示。 New Pane Tab Type-> Data Tree (下から5番目)を選択。 96 94-95
  • 41. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. 14. Data Tree 97. 表示された Data Tree パネル で Object Appearance を選択 。 右図のように、定義した名前がすべ て表示され、これを元にライティン グおよびシェーディングの編集が可 能。
  • 42. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. ここまで • 続き (カメラ、ライト、マテリアル追加・設定)は http://slidesha.re/1iBNOB0 の2-4 (カメラの追加) からを参照。 • 基本的な考え方は、他のファイルフォーマットでも同じ。 • やり方は一通りではなく、いくつもある。 • 自分の好みの方法があればそのアプローチを取って構わない。
  • 43. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. ftp://ftp.sidefx.com/public/sidefx_jp_obj2abc.zip (17MB) • Houdini 13.0.401 で作成。 1 fruit_out.abc この手順通りに出力した Alembic ファイル 2 fruit_plain_output.abc fruit_v2.obj をそのまま、NurbsToPoly に修正を加えず に Alembic ファイルとして出力した結果 。 3 fruit_renamed.obj fruit_v2.obj にテキスト編集を加えたファイル (8ペー ジ参照)。 4 fruit_v2.mtl, fruit_v2.obj オリジナルの .OBJ ファイルとマテリアルファイル (.mtl) 5 obj2abc_begin.hip 「8. 結果のマージ」 (21ページまで行ったもの) 6 obj2abc_completePartitions.hip 「11. ROP Alembic の追加」 (#81まで行ったもの) 7 obj2abc_final.hip 「14. Data Tree」 (41ページまで行ったもの) 8 simpleout.hip #1 の fruit_out.abc を出力したシーンファイル 9 simpleout_in.hip #7 のファイルから、#1の.abc ファイルをさらに読み込 んだもの。 シーンファイル
  • 44. Copyright © Side Effects Software Inc. 2014 All Rights Reserved. この項終了 質問は info-jp@sidefx.com まで。

Editor's Notes

  1. 右側 25,380
  2. nurbsToPoly* がなければ、手数半分で終わっていたはず。