Houdiniで橋のモデリングを行いUnityのHDRPでセットアップして表示してみる(Part 4)

はじめに

この記事はシリーズのPart 4です。 目次はこちらです。

モデルの結合

最後に全てをまとめていきます。

Object Mergeノードを作成し、次のように配置します。

2019 12 27 20 35 11

作成したobject_merge57ノードのパラメータを次のように設定します。

2019 12 27 20 39 02

Object Mergeノードを作成し、次のように配置します。

2019 12 27 20 39 15

作成したobject_merge58ノードのパラメータを次のように設定します。

2019 12 27 20 39 28

Object Mergeノードを作成し、次のように配置します。

2019 12 27 20 39 37

作成したobject_merge59ノードのパラメータを次のように設定します。

2019 12 27 20 39 56

Object Mergeノードを作成し、次のように配置します。

2019 12 27 20 40 06

作成したobject_merge60ノードのパラメータを次のように設定します。

2019 12 27 20 40 21

Object Mergeノードを作成し、次のように配置します。

2019 12 27 20 40 29

作成したobject_merge61ノードのパラメータを次のように設定します。

2019 12 27 20 40 45

Object Mergeノードを作成し、次のように配置します。

2019 12 27 20 40 53

作成したobject_merge62ノードのパラメータを次のように設定します。

2019 12 27 20 41 08

Object Mergeノードを作成し、次のように配置します。

2019 12 27 20 41 15

作成したobject_merge63ノードのパラメータを次のように設定します。

2019 12 27 20 41 29

Mergeノードを作成し、次のように接続します。

2019 12 27 20 41 47

すっかり忘れていたのですが、Normalノードを作成し、bottompart0lod2の前に差し込みます。

2019 12 27 20 54 26

Object Mergeノードを作成し、次のように配置します。

2019 12 27 20 42 23

作成したobject_merge64ノードのパラメータを次のように設定します。

2019 12 27 20 42 35

Mergeノードを作成し、次のように接続します。

2019 12 27 20 43 12

Switchノードを作成し、次のように接続します。

2019 12 27 20 43 28

作成したswitch1ノードのパラメータを次のように設定します。

2019 12 27 20 43 57

Object Mergeノードを作成し、次のように配置します。

2019 12 27 20 44 41

作成したobject_merge65ノードのパラメータを次のように設定します。

2019 12 27 20 44 55

Mergeノードを作成し、次のように接続します。

2019 12 27 20 45 10

Switchノードを作成し、次のように接続します。

2019 12 27 20 45 36

作成したswitch2ノードのパラメータを次のように設定します。

2019 12 27 20 46 12

Groupノードを作成し、次のように接続します。

2019 12 27 20 47 36

作成したgroup7ノードのパラメータを次のように設定します。

2019 12 27 20 48 06

指定した角度より大きく曲がっているエッジをUVのシームとしています。

2019 12 27 20 48 58

UV Flattenノードを作成し、次のように接続します。

2019 12 27 20 48 45

作成したuvflatten1ノードのパラメータを次のように設定します。

2019 12 27 20 50 06

UV Layoutノードを作成し、次のように接続します。

2019 12 27 20 53 17

作成したuvlayout1ノードのパラメータを次のように設定します。

2019 12 27 20 55 43

Switchノードを作成し、次のように接続します。

2019 12 27 20 56 02

作成したswitch3ノードのパラメータを次のように設定します。

2019 12 27 20 56 29

Divideノードを作成し、次のように接続します。

2019 12 27 20 56 42

作成したdivide1ノードのパラメータを次のように接続します。

2019 12 27 20 56 50

2019 12 27 20 57 04

nullノードを作成し、lod2と名付け、次のように接続します。

2019 12 27 20 57 21

2019 12 27 21 13 52

Shift+Oでネットワークボックスに囲います。

2019 12 27 20 57 53

lod2のネットワークをコピーしペーストします。

2019 12 27 20 58 10

2019 12 27 20 58 23

Object Mergeのlod2を読み込んでいる部分をlod1に変更します。

2019 12 27 20 58 46

最後のnullノードの名前をlod1へ変更します。

2019 12 27 21 00 28

2019 12 27 21 14 08

lod1のネットワークをコピーしペーストします。

2019 12 27 21 00 41

2019 12 27 21 01 01

Object Mergeのlod1を読み込んでいる部分をlod0に変更します。

2019 12 27 21 01 25

startpropとendpropにDeleteノードを入れ忘れていたので入れます。

2019 12 27 21 03 43

2019 12 27 21 04 24

それぞれパラメータを次のように設定します。

2019 12 27 21 04 05

2019 12 27 21 04 48

最後のnullノードの名前をlod0へ変更します。

2019 12 27 21 05 06

なんか想定よりもポリゴン数が多いと思ったら、topのノードにミスを発見したので今から修正を行います。

次のようにMergeノードを一つ足してつなぎ直します。

2019 12 27 21 11 28

2019 12 27 21 13 18

lod0にbooleanをしたものが入らないようにします。

2019 12 27 21 14 27

lod0のネットワークをコピーしペーストします。

2019 12 27 21 14 49

2019 12 27 21 15 15

ハイポリにUVは必要ないため、UV計算をしているノードを削除します。

2019 12 27 21 15 29

2019 12 27 21 15 41

Object Mergeのlod0を読み込んでいる部分をhiに変更します。

2019 12 27 21 16 08

最後のnullノードの名前をhiへ変更します。

2019 12 27 21 17 23

2019 12 27 21 17 32

Switchノードを作成し、次のように接続します。

2019 12 27 21 18 14

2019 12 27 21 18 25

作成したswitch12ノードのパラメータを次のように設定します。

2019 12 27 21 19 00

Labs Axis Align (Beta)ノードを作成し、次のように接続します。

2019 12 27 21 19 46

作成したaxis_align2ノードのパラメータを次のように設定します。

2019 12 27 21 20 01

Transformノードを作成し、次のように接続します。

2019 12 27 21 20 13

作成したtransform70ノードのパラメータを次のように設定します。

2019 12 27 21 22 17

Translateのxはch("../parameters/centerx")で、yはch("../parameters/centery")で、zはch("../parameters/centerz")です。

nullノードを作成し、OUTPUTと名付け、次のように接続し、レンダーフラグをオンにします。

2019 12 27 21 23 07

Shift+Oでネットワークボックスに囲います。 Cキーでネットワークボックスに色を付けます。

2019 12 27 21 23 47


sideprops1のmirrorを忘れていたので追加していきいます。

2019 12 28 00 57 11

HDA化する

組み込みのboxノードなどと同じように、作成した橋のノードもsopレベルとgeometryレベルの両方に用意します。

まずはsopレベルのノードを作成します。

ノード全体を選択して、Shift+Cでノードをサブネットに格納します。

2019 12 27 21 24 39

2019 12 27 21 24 59

ネットワーク内部に入ると何故か余計なOutputノードが生成されているので削除します。

2019 12 27 21 27 54

2019 12 27 21 29 40

subnetの名前をbridge_000とします。

2019 12 27 21 29 59

今後、他の橋を作るかもしれないので番号を後ろにつけておきました。

Edit Parameter Interfaceを実行します。

2019 12 27 21 31 39

最初からあるラベルは非表示にします。

2019 12 27 21 32 03

2019 12 27 21 32 19

Edit Parameter Interfaceのウィンドウを開いたまま、bridge_000ノードの内部に入ります。

nullに集約しておいたパラメータを全部ドラッグ&ドロップしてパラメータに追加します。

2019 12 27 21 34 21

2019 12 27 21 34 52

Acceptします。

各種パラメータがサブネット上に現れます。

2019 12 27 21 39 57

bridge_000ノードを右クリックしてCreate Digital Asset...を選択します。

2019 12 27 21 39 21

名前などを適切に設定し、Acceptを押します。

2019 12 27 21 40 40

その後開くEdit Operator Type PropertiesウィンドウでTabキーのパスを指定します。

2019 12 27 21 42 25

ハンドルを設定します。

次の図のCreate HandleからBoundingBoxを選択します。

2019 12 27 21 43 19

2019 12 27 21 43 51

centerx、centery、centerz、sizex、sizey、sizez、uniform_scaleにそれぞれパラメータを次のように割り当てます。

2019 12 27 21 45 41

Acceptします。

bridge_000のノードを選択した状態で、シーンビュー上でEnterキーを押すとハンドルが出てきて、それで操作できるようになります。

つぎにgeometryレベルのノードを作成します。

新しく/obj階層でGeometryノードを作成し、bridge000geoと名付けます。

2019 12 27 21 49 49

bridge000geoのノードの内部に入って、Bridge 000ノードを新たに作成します。

2019 12 27 21 50 37

/obj階層に戻って、bridge000geoノードのEdit Parameter Interfaceを実行します。

2019 12 27 21 51 33

フォルダを追加し、Bridge 000と名付けます。

2019 12 27 21 52 07

bridge000geoノード内部に入り、bridge_000ノードからパラメータをドラッグ&ドロップします。

2019 12 27 21 53 12

2019 12 27 21 54 10

Acceptします。

bridge000geoノードにBridge 000のタブが増えてコントロールできるようになりました。

2019 12 27 21 54 23

bridge000geoノードを右クリックしてCreate Digital Asset...を実行します。

2019 12 27 21 55 08

適当に名前を決めてAcceptします。

2019 12 27 21 55 52

場合によっては警告が出るかもしれませんがとりあえずNo Changesします。

2019 12 27 21 57 47

先程のsopレベルのノードのときと同様にしてTABキーのパスとHandleを設定します。

2019 12 27 21 58 45

2019 12 27 21 59 59

Acceptすると警告が出るかもしれませんがNo Changesで。

これでHDAの作成は完了です。


作成した.hiplcファイルです。

bridge_000.hiplc


引き続き、Unityに持ち込むためのシーンの構築とテクスチャの作成に移りますが、Apprenticeの方はテクスチャ作成用に必要となる頂点カラー付きのモデルを出力する手段がないと思うのでここまでです。 お疲れさまでした。 Apprenticeでもobj書き出しなどはできた気がするのでそういったことを試してみても良いかもしれません。

Indie以上の方は続きへと進みます。

シーンを作成し配置してfbx出力をする

新しいHoudiniのシーンを開きます。

まずは橋を配置する周辺のオブジェクトを作成します。

geoノードを作成します。backgroundと名付けます。

2019 12 27 23 17 11

Boxノードを作成し配置します。

2019 12 27 23 18 15

作成したbox1ノードのパラメータを次のように設定します。

2019 12 27 23 20 23

PolyExtrudeノードを作成し、次のように接続します。

2019 12 27 23 20 40

作成したpolyextrude1ノードのパラメータを次のように設定します。

2019 12 27 23 21 11

PolyExtrudeノードを作成し、次のように接続します。

2019 12 27 23 21 32

作成したpolyextrude2ノードのパラメータを次のように設定します。

2019 12 27 23 21 56

2019 12 27 23 22 02

Mirrorノードを作成し、次のように接続します。

2019 12 27 23 23 10

Gridノードを作成し、次のように配置します。

2019 12 27 23 23 20

作成したgrid1ノードのパラメータを次のように設定します。

2019 12 27 23 23 49

Mergeノードを作成し、次のように接続します。

2019 12 27 23 24 06

Normalノードを作成し、次のように接続します。

2019 12 27 23 24 17

2019 12 27 23 24 25

Transformノードを作成し、次のように接続します。

2019 12 27 23 26 49

作成したtransform1ノードのパラメータを次のように設定します。

2019 12 27 23 27 19

2019 12 27 23 27 35

これで背景は完成です。 ひとつ上の/obj階層に戻ります。

2019 12 27 23 25 02

Bridge 000のジオメトリを作成します。

2019 12 27 23 27 52

2019 12 27 23 27 57

bridge000geo1を選択した状態でシーンビューでエンターキーを押し、ハンドルを出して良い感じの大きさに調節します。

2019 12 27 23 29 50

2019 12 27 23 29 57

Generate UVのチェックを入れておきます。

2019 12 28 00 26 49

fbxを出力していきます。 /out階層に移動します。

2019 12 27 23 30 42

Filmbox FBXノードを作成し、outputbackgroundfbxと名付けます。

2019 12 27 23 31 52

作成したoutputbackgroundfbxノードのパラメータを次のように設定します。

2019 12 27 23 35 38

シーンのhipファイルを適当な場所に保存します。

その後、Sace to Diskを実行するとfbxが保存されています。

2019 12 27 23 35 56

2019 12 27 23 36 11

2019 12 27 23 36 32

同様にして各LODのbridgeを出力してもよいのですが、せっかくなのでPDG/TOPsを使ってみることにします。

Filmbox FBXノードを作成し、outputbridgefbxと名付けます。

2019 12 27 23 38 51

作成したoutputbridgefbxノードのパラメータを次のように設定します。

2019 12 27 23 39 47

@lodnameはTOPsから与えるものです。

/tasks階層に移動します。

2019 12 27 23 37 43

topnet1の名前をoutput_fbxと変更します。

2019 12 27 23 40 49

2019 12 27 23 41 03

output_fbxの内部に入ります。

Wedgeノードを作成します。

2019 12 27 23 41 35

作成したwedge1ノードのパラメータを次のように設定します。

2019 12 27 23 43 23

1つ目のTarget Parameterは/obj/itsuki_bridge_000_geo1/lodです。

ROP Fetchノードを作成し、次のように接続します。

2019 12 27 23 44 19

作成したropfetch1ノードのパラメータを次のように設定します。

2019 12 27 23 45 02

もう一つROP Fetchノードを作成質疑のように配置します。

2019 12 27 23 45 53

作成したropfetch2ノードのパラメータを次のように設定します。

2019 12 27 23 46 11

Wait for Allノードを作成し、次のように接続し、Outputフラグを立てます。

2019 12 27 23 46 38

TasksのGenerate Static Work Itemsを実行してみます。

2019 12 27 23 47 35

staticなタスクのドットが表示されました。

2019 12 27 23 48 35

TasksのCook Output Nodeを実行します。

2019 12 27 23 49 01

2019 12 27 23 50 07

Cookが終わるとすべてのLODのfbxが出力されています。

2019 12 28 00 59 59

2019 12 28 01 00 15

今回はLOD違いを出すためにTOPsを利用しましたが、パラメータ違いのバリエーションを出力して確認したい場合などに便利な機能ですね。


このシーンとTOPsの.hiplcファイルはこちらです。

bridge000testscene.hiplc

Substance PainterでのLOD0のテクスチャの作成

次はテクスチャの作成に移ります。 今回は出力したfbxに対してSubstance Painterでテクスチャを作ります。

頑張ればSubstance Designerでテクスチャ作成のノードを作ればフルプロシージャルにテクスチャまで行けそうな気もしますが、今回はSubstance Painterで手作業でテクスチャを作成します。 Substance Painterのパーティクルブラシを使いたいので……。 Substance Designerを使ったフルプロシージャルのマテリアルの構築は読者への課題とするということで。

newしてLOD0のモデルをSubstance Painterで読み込みます。

2019 12 28 13 37 50

2019 12 28 13 38 20

HDRPのMaskMapのためにTEXTURE SET SETTINGSからBlending maskを追加しておきます。 今回は使いませんが……。

2019 12 28 13 39 01

2019 12 28 13 39 21

Bake Mesh Mapsを実行します。

2019 12 28 13 40 20

Output Sizeを適当に変更し、high Definition Meshsにハイポリのfbxを指定します。

2019 12 28 13 41 19

ベイクしようとしたら次のようにエラーを起こしてしまいました。

2019 12 28 13 44 04

2019 12 28 13 43 48

不正なメッシュが混ざっているとこういう事になりがちです。 ベベルが爆発していたりnon manifoldが含まれていたりなどなど。

normalにnanが含まれている可能性があるので、次のようなVertex Wrangleのノードを作って接続して調べてみます。

2019 12 28 15 36 13

vector n = v@N;
int flag = isnan(n.x) || isnan(n.y) || isnan(n.z);
setdetailattrib(geoself(), "NaN", flag, "max");

Geometry SpreadSheetのDetailを見てみるとNanが1になっていてNormalにnanが含まれていることがわかります。

2019 12 28 15 36 41

../bottom_hiのObject MergeにつなぐとNaNなNormalは含まれていないようです。

2019 12 28 15 36 58

2019 12 28 15 37 03

top_hiのノードにはNaNなNormalが含まれているようでした。

2019 12 28 15 37 40

2019 12 28 15 37 45

このようにしてノードをつなぎ直していくと、polybevel1が問題だったことがわかりました。

2019 12 28 15 38 41

2019 12 28 15 38 47

2019 12 28 15 38 58

2019 12 28 15 39 03

polybevel1ノードのパラメータを次のように修正します。

2019 12 28 15 39 32

2019 12 28 15 39 49

PolyBevel、爆発しやすいので嫌になっちゃいますね。

hdaを変更したら、ノードを右クリックからSave Node Typeを実行します。

2019 12 28 13 46 24

橋を配置したシーンファイルを開き、output_fbxのタスクをDirty Allしてfbxを消去してから実行します。

2019 12 28 13 49 35

もう一度、Substance Painterのプロジェクトを作り直します。

2019 12 28 13 51 59

再度、ハイポリのベイクを行います。

2019 12 28 14 05 30

ベイク時にAverage Normalsのチェックを外したほうが良い感じに焼けました。

2019 12 28 15 47 04

無事にベイクができました。

2019 12 28 15 49 05


マテリアルを割り当てていきます。

コンクリートのマテリアルを適当に選んっでレイヤーにドラッグ&ドロップします。

2019 12 28 15 50 14

2019 12 28 15 50 43

スケールを8倍にします。

2019 12 28 15 51 42

Color Selectionなマスクを追加します。

2019 12 28 15 52 06

コンクリートにしたい部分を選択します。

2019 12 28 15 52 33

2019 12 28 15 53 06

コンクリートのダメージ部分に割り当てるマテリアルを追加します。

2019 12 28 15 53 51

こちらもColor Selectionマスクを追加します。

2019 12 28 15 54 38

同様にして次々とマテリアルを割り当てていきます。

2019 12 28 16 01 28

フォルダを追加します。

2019 12 28 16 03 46

フォルダにプラスチックのマテリアルを2個割り当てました。

2019 12 28 16 04 24

プラスチックの色を黄色と黒にします。

2019 12 28 16 05 04

上川のプラスチックにblackマスクを追加します。

2019 12 28 16 06 12

マスクを選択した状態でadd fillを追加します。

2019 12 28 16 06 24

AlphasからLine Stripesをドラッグ&ドロップします。

2019 12 28 16 06 59

StripeのHeightを1にします。

2019 12 28 16 07 16

Scaleを16にしました。

2019 12 28 16 07 50

2019 12 28 16 08 06

フォルダにColor Selection Maskを追加します。

2019 12 28 16 08 40

Fillレイヤーを追加します。

2019 12 28 16 10 43

colorとroughだけを出力し、適当に暗い値にします。

2019 12 28 16 10 56

BaseColorとRoughのレイヤー合成モードをMultiplyにします。

2019 12 28 16 11 41

2019 12 28 16 11 52

Fillレイヤーにブラックマスクを追加し、add paintします。

2019 12 28 16 13 01

2019 12 28 16 13 15

ParticlesのLeaksを使って塗っていきます。

2019 12 28 16 13 31

2019 12 28 16 18 33

2019 12 28 16 18 15

Smart Maskなどを使って汚しを加えていきます。

2019 12 28 16 23 22

2019 12 28 16 25 13

次の記事のとおりに、HDRP用のテクスチャとLOD1、LOD2のベイクで使うテクスチャを出力します。

UnityのHDRP向けのLOD対応背景アセットのテクスチャを作る | 測度ゼロの抹茶チョコ

2019 12 28 16 29 05

Substance DesignerでLOD1、LOD2のテクスチャの作成

次の記事を参考に、LOD1とLOD2のテクスチャを作成します。

UnityのHDRP向けのLOD対応背景アセットのテクスチャを作る | 測度ゼロの抹茶チョコ

2019 12 28 17 07 15

UnityのHDRPで表示する

プロジェクトの作成

Unityの新しいHDRPのプロジェクトを作成します。

2019 12 28 17 10 17

Package Managerを開いてUpdate to 7.1.7をクリックします。

2019 12 28 17 43 11

Project SettingsのEdtirからEnter Play Mode Settingsのオプションをオンにします。 これでだいぶプレイモードへ入るのが早くなります。

2019 12 28 17 56 52

fbxのインポートとLODの設定

fbxとテクスチャをUnity上にインポートします。

2019 12 28 17 16 21

何故かHoudiniからエクスポートしたfbxをUnityで読み込むと100分の1のスケールになっているので、インポートしたfbxのscaleを100に変更します。

2019 12 28 17 16 04

インポートしたNormalとBent NormalマップのTexture Typeを Normal Mapに変更します。

2019 12 28 17 13 02

インポートしたMask MapのsRGBのチェックを外します。

2019 12 28 17 13 55

Materialを作成します。

2019 12 28 17 17 17

マテリアルにテクスチャを割り当てていきます。

2019 12 28 17 18 10

2019 12 28 17 18 56

2019 12 28 17 19 46

bridge000LOD0の上で右クリックしてCreateからPrefab Variantを作成します。

2019 12 28 17 21 05

作成したVariantのマテリアルを作成したマテリアルに差し替えます。

2019 12 28 17 21 52

VariantのTransformをrevertします。

2019 12 28 17 23 31

同様にしてLOD1とLOD2のVariantも作成します。

2019 12 28 17 24 08

シーンに空のゲームオブジェクトを配置します。

2019 12 28 17 24 34

作成したGameObjectの名前をbridge_000に変更します。

2019 12 28 17 25 13

bridge_000の子に、作成したVariant3種を配置します。

2019 12 28 17 26 35

bridge_000にLOD Groupコンポーネントをアタッチします。

2019 12 28 17 27 00

ドラッグ&ドロップして各LODにモデルを割り当てます。

2019 12 28 17 27 36

2019 12 28 17 29 21

bridge_000をプロジェクトビューにドラッグ&ドロップしてprefab化します。

2019 12 28 17 41 27

シーンの設定

Settings/HDRenderPipelineAssetを選択します。

2019 12 28 17 31 58

Screen Space ReflectionやScreen Space Shadowなどを有効にします。

2019 12 28 17 33 14

新しいシーンを作成します。

2019 12 28 17 30 04

Global Volumeを作成します。

2019 12 28 17 30 16

newしてプロファイルを作成します。

2019 12 28 17 30 54

Overrideを追加してExposure、Ambient Occlusionを設定します。

2019 12 28 17 34 46

2019 12 28 17 34 54

もう一つGloval Volumeを作成します。

2019 12 28 17 35 27

Sky and Fog Volumeと名付けます。 newして新しいプロファイルを作成します。

2019 12 28 17 36 05

Add OverrideしてVisual Environment、Fog、Gradient Skyを追加し、適当に設定します。

2019 12 28 18 00 21

もう一つGloval Volumeを作成します。

2019 12 28 17 38 45

Post Process Volumeと名付けます。 newして新しいプロファイルを作成します。

2019 12 28 17 40 11

Add Overrideしてポストプロセスを適当に設定します。

2019 12 28 17 55 15

2019 12 28 17 55 23

2019 12 28 17 55 30

backgroundとbridge_000のprefabを配置します。

2019 12 28 17 51 06

Main Cameraの位置を調整します。

2019 12 28 17 51 01

Main CameraにSimpleCameraControllerを追加します。

2019 12 28 17 51 42

Main Cameraのアンチエイリアスを設定します。

2019 12 28 17 52 20

スポットライトを適当に配置します。

2019 12 28 18 01 22

2019 12 28 18 01 16

Areaライトを配置してみます。

2019 12 28 18 04 10

2019 12 28 18 04 27

2019 12 28 18 04 34

プレイモードに入って右ドラッグとwasdキーで移動して見ることができます。

リアルタイムレイトレのセットアップをする

リアルタイムレイトレーシングに対応したグラフィックカードを利用している場合はリアルタイムレイトレのセットアップをできます。

Window/Render PilelineからHD Render Pipeline Wizardを開いてHDRP + DXRからFix Allを実行します。

2019 12 28 18 08 17

エディタをリスタートするように促されます。

2019 12 28 18 09 22

リスタートするとエラーが出ていますが気にせず進めます。

2019 12 28 18 11 28

HD RenderPiplineAssetから、Realtime Raytracigを有効にします。

2019 12 28 18 12 30

Global Volumeから各種レイトレを有効にしていきます。

2019 12 28 18 15 19

2019 12 28 18 15 40

ライトの設定から影のレイトレの設定も行えます。

2019 12 28 18 15 57


一通り設定してみたところ、こんな感じになりました。

おわりに

とても長い記事なりましたが、読んでくださった方はお疲れさまでした。

スクショを大量に撮って貼り付けるのに疲れてしまって、文章の推敲ができていなかったり、VEXなどのプログラム部分の細かい解説などがつけられていません……。 何かわからないことがあったら私のTwitterアカウントまでリプなどをいただければ時間のあるときにお返事できると思います。