tag:blogger.com,1999:blog-44476045071886213552024-03-20T12:25:50.128+09:00魔法使いの弟子g一般公開版Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.comBlogger92125tag:blogger.com,1999:blog-4447604507188621355.post-29083448422300629612013-02-05T15:02:00.003+09:002013-02-05T15:04:50.629+09:00近況もしかしたら「萌えるCGテクニカル読本」よまれてこのサイトにこられた方も居るかも知れませんが、見ての通り、ここ1年ほどアップデートされないで止まったままです。<br />
<br />
このブログ「魔法使いの弟子」は元々MayaジェネラリストからHoudiniスペシャリストへ転身するために記録と、以下に早く習得するかその手法を編み出すためのメモをかねて書いていたのですが、途中から有料チュートリアルなども参考にし始めました。<br />
さすがに有料で公開されている内容を記載するのはマズイと思い、有料チュートリアルの内容を含む個人バージョンと、含まない「一般公開版」にわけたのですが、なにぶん管理能力のない自分には、二つのブログなど両立できず、なんだかぐちゃぐちゃになってしまったので、そのまま個人バージョンのみのアップデートを続けて時間が出来たら一般公開版を整理しようと思っていました。<br />
<br />
その後はEvernoteを使うようになり、目的のためには編集も容易で検索も早いEvernoteだけになってしまいました。<br />
<br />
<br />
そうこうしているうちに、Houdiniスペシャリストとして仕事をする機会がえられたため、しばらくはそちらへ集中するためにブログの更新はストップしました。<br />
現在も仕事を継続中、一人前になるために自分のことで精一杯。<br />
しかも、そのうち契約切れるので次の仕事をさがさなくてはならず、忙しい状態が続く見込みで更新再開の予定はたっていません。<br />
<br />
<br />
仕事をしている間も様々なノウハウやTIPSをEvernoteには記録し続けてきてはいるのですが、まだ仕事で一人前になるためで精一杯でブログの更新をする余裕はありません。<br />
<br />
でも、いつしかその内容をこのブログデ公開できたらと思っています。<br />
<br />
過去の内容については、このブログの検索でいろいろご覧いただけますので、ご活用下さい。<br />
<br />
またTwitterでは@melonvfxとしていろいろくだらないことつぶやいてますので 、みかけたら声かけて(スルーして)やって下さい。Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com1tag:blogger.com,1999:blog-4447604507188621355.post-85929292445525293632012-02-07T19:01:00.000+09:002012-02-07T19:01:27.453+09:00メモ:Basics : ForEach I (ビデオチュートリアル)by Peter Quint<a href="http://vimeo.com/7361123">Basics : ForEach I</a> by Peter Quint<br />
<br />
<b>foreachSOPの概略<br />
<br />
-ForEach SOP<br />
-For Eachの代わり<br />
-プリミティブグループに対する繰り返し処理<br />
-アトリビュートによる繰り返し処理<br />
-ある操作を複数回繰り返す</b><br />
<br />
FroEachは複雑で、最もデバッグするのが難しいので、できれば使用は避ける方がよい。<br />
同じような効果を、ほかのSOPのパラメータにエクスプレッションを入れることで実現できる。<br />
<br />
<br />
<b style="color: blue;"><<forEachを使わない例>></b><br />
1)gridSOPを作成し中に入る。<br />
2)gridSOPのOutputにPolyExtrude(SOP)を作成。<br />
Translate Z: rand($PR)<br />
<br />
<br />
<b style="color: blue;"><<forEachの使用例>></b><br />
1)gridSOPを作成し中に入る。<br />
grid1(SOP):<br />
Orientation: XY plane<br />
Rows: 2<br />
Columns: 2<br />
これによりPrimitiveは1つになる。<br />
(マス目一つの状態。もしRow3,Coumns3にすると一つのGridが4分割され4マスできる、この場合はPrimitiveは4となる)<br />
<br />
2)grid1(SOP)のOutputにPolyExtrude(SOP)を作成。<br />
PolyExtrude(SOP)<br />
Inset: -1(入力例)<br />
<br />
※このInset値「-1」はAbsolute値となる。<br />
プリミティブのサイズに対するRelative値ではないため複数の異なるサイズプリミティブを、一つのforEachを通して使用するときは危険である。<br />
そのため、forEachを通す前に、バウンディングボックスなどを利用して値をRelative値にしてやると良い。<br />
Inset値: -0.1* max(max($SIZEX, $SIZEY), $SIZEZ)<br />
$SIZEX,$SIZEY, $SIZEZはバウンディングボックスのサイズである。<br />
<br />
maxエクスプレッション:二つの値を比較して大きい方を返す。<br />
<a href="http://www.sidefx.com/docs/houdini11.1/expressions/max">http://www.sidefx.com/docs/houdini11.1/expressions/max</a><br />
使い方:max(value1, value2)<br />
例: max (5,3) = 5<br />
このエクスプレッションではバウンディングボックスの最大値を取得している。<br />
まず$SIZEXと$SIZEYの値を比較し、最大値を取り出し、<br />
さらに、それを$SIZEZ比較し最大値をだしている。<br />
ようするにバウンディングボックスの一番大きな値を取得してそれを-1/10している。<br />
Gridのサイズが10ユニットで、中心から+X側5ユニット、ーX側5ユニットである。<br />
結果的にこのエクスプレッションで「-1」という結果を得るわけだが、<br />
グリッドのサイズが(現在の10x10から)変更して5x5になっても1/10である「-0.5」が得られるようにしている。<br />
スケール比で必ずInsetがGridサイズの1/10になる。<br />
<br />
<br />
3)Polyextrude1(SOP)を選択した状態でPolygonタブからPolysplitをクリック<br />
ビューで右クリックメニューからsnap to perpendicularを選択し、底辺から1/4ぐらいの位置を分割。<br />
右クリックメニューからFinish Splittingをクリック。(Enterでもよい)<br />
Polysplit1(SOP)が作成される。<br />
<br />
ノート:forEachを使うとうことは、Houdini内ではこのフローを毎回繰り返し処理するということである。<br />
ここでフェイス番号を表示すると分割した部分の下の方の番号は「5」であることがわかるが、毎回同じこのフェイス「5」を処理することになる。<br />
<br />
<br />
4)Polysplit1(SOP)のアウトプットにPolyextrudeSOPを作成<br />
Group: 5<br />
Translate: -0.5*max(max($SIZEX, $SIZEY),$SIZEZ)<br />
これでバルコニーの形状ができる。<br />
ーーーーーここまでが複製したい元形状を作るフロー<br />
<br />
5)<br />
Polyextrude1(SOP)<br />
Polysplit1(SOP)<br />
Polyextrude2(SOP)<br />
の3つを選択し「コピー」<br />
<br />
6)<br />
forEach(SOP)を作成。<br />
For: Each Group<br />
foreach1(SOP)の内部に入り「貼り付け」する。<br />
<br />
7)each1のアウトプットをpolyextrude1のインプットに接続する。<br />
<br />
7)Geometryレベルに戻りgrid(SOP)を作成。<br />
gird2(SOP)<br />
Rows: 5<br />
Golumns: 5<br />
Orientation: XY plane<br />
<br />
※ここでのforEachは各「Group」に対して働くので、このプリミティブを個別のグループに分離する必要がある。<br />
<br />
8)grid2(SOP)のアウトプットにpartitionSOPを作成。<br />
Patition SOP:<br />
ユーザーにより用意されたルールに従いポイントやプリミティブをグループ化する。<br />
例えば、各ポイントをそれぞれpt_(ポイント番号)という名前のグループに入れたければ「pt_$PT」とういルールを入力する。<br />
<a href="http://www.sidefx.com/docs/houdini11.1/nodes/sop/partition">http://www.sidefx.com/docs/houdini11.1/nodes/sop/partition</a><br />
<br />
partition1<br />
Rule: face_$PR<br />
これにより各フェイス(プリミティブ)はface_1などの通し番号がつき、それぞれが1グループとなる。<br />
<br />
9)partition1(SOP)のアウトプットをforeach1(SOP)の左端のインプットに接続。<br />
foreach1(SOP):<br />
Group Mask; face*<br />
<br />
※これで各プリミティブにバルコニーが作られる。<br />
<br />
<b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモはビデオチュートリアルを見ての私的なメモで、完全な記録ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-65620463196256916282012-01-25T17:37:00.000+09:002012-01-25T17:37:26.705+09:00ネットワークペインの最大化チュートリアルでよく使われて居るショートカット。<br />
ネットワークペインの最大化: ctrl + b<br />
その右上にパラメータ・ペインを表示: p<br />
(その他の画面の表示は 最大化された画面内で右クリック> Viewing Control で選択できるし、ショートカットも知ることが出来る)<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim0U6uTTthVpu9BpmrGe74ddwyDcizWF-X2todniIeTeq4y9-EemnCgVqnZG1GqfL2T84lPhwFzDR4zpgPdeQgDytr7-UtuPjyi5Pp-MUvhyphenhyphenmLpFocwu7ZSEOP4s3uSDMs4OiNU25wCUXF/s1600/networkMaximize.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim0U6uTTthVpu9BpmrGe74ddwyDcizWF-X2todniIeTeq4y9-EemnCgVqnZG1GqfL2T84lPhwFzDR4zpgPdeQgDytr7-UtuPjyi5Pp-MUvhyphenhyphenmLpFocwu7ZSEOP4s3uSDMs4OiNU25wCUXF/s320/networkMaximize.jpg" width="320" /></a></div>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-14486515539461914972011-12-31T19:25:00.000+09:002011-12-31T19:25:35.320+09:00メモ:Basics : Volumes II (ビデオチュートリアル)by Peter Quint<a href="http://vimeo.com/7049302">Basics : Volumes II</a> by Peter Quint<br />
<br />
<br />
<b>Houdiniのボリュームへの入門、第二部ではVolume Ramp(SOP)をボリュームの値を調整するために使います。<br />
また同様にVOPコードを使うためにVolume VOPを使います。</b><br />
<br />
<br />
--------------<br />
<b style="color: blue;"><<Volume Ramp(SOP)>></b><br />
1)volumeramp(SOP)を作成<br />
2)isoSurface(SOP)を作成<br />
Implicit Function: ($Y+1)*0.5<br />
Build Volume: On<br />
<br />
$Y値に伴う値の変化 <br />
0 > (0+1)*0.5 = 0.5<br />
1 > (1+1)*0.5 = 1.0<br />
2 > (2+1)*0.5 = 1.5<br />
3 > (3+1)*0.5 = 2.0<br />
4 > (4+1)*0.5 = 2.5<br />
5 > (5+1)*0.5 = 3.0<br />
6 > (6+1)*0.5 = 3.5<br />
7 > (7+1)*0.5 = 4.0<br />
8 > (8+1)*0.5 = 4.5<br />
9 > (9+1)*0.5 = 5.0<br />
10 > (10+1)*0.5 = 5.5<br />
<br />
これは下から上に向けての濃度グラデーションで表現される。<br />
<br />
3)iso1(SOP)出力を、volumeramp1の入力へ接続<br />
※iso1からのフローは1つのVolumeしなかいことに注意。<br />
<br />
4)volumeramp1(SOP)<br />
NewName:Cd<br />
Scalar Ramp:適当に二つの山谷を作る。<br />
(谷となったところは透明に山の所は濃くなる)<br />
Use Color Ramp: オン<br />
<br />
「User Color Ramp」をオンにしたことでここからのVolumeは3つになる。<br />
Red、 Green、 Blueのカラーの3つのボリュームになる。<br />
入力されるボリュームはカラースプライン(Color Ramp)にフィードされ、色情報が付加されて出力される。<br />
<br />
--- カラーを確認するにはレンダリングする必要がある。<br />
5)カメラとディレクショナルライトを作成して設定。<br />
6)Material Paletteで「Basic Smoke」マテリアルを作成<br />
7)/objレベルでgeo1を選択<br />
Materialタブ<br />
Material > Chooser > basicsmoke<br />
8)Create Render Node >Mantra<br />
レンダリングしてみる。<br />
<br />
Color Rampの左側の色が下部に右側の色が上部に適用されることがわかる。<br />
<br />
<br />
<b style="color: blue;"><<Volume VOP(SOP)>></b><br />
1)isoSurface(SOP)を作成<br />
Implicit Function: ($Y+1)*0.5<br />
Build Volume: On<br />
<br />
2)isosurface(SOP)のアウトプットに、volumeVOP(SOP)作成<br />
※エラーが起きる。<br />
Warning: Cannnot find primitive attribute 'name' , binding volume as 'density'.<br />
これはisoSurfaceはデフォルトではname(名前)を持っていないからである。<br />
<br />
3)isosurface(SOP)とvolumevop(SOP)の間にname(SOP)を作成<br />
作成した時点でエラーは消える。<br />
Group: 0 (現在入力されるプリミティブは1つで番号は「0」である)<br />
プリミティブ番号「0」に以下のNameをつける)<br />
<br />
<br />
もう一つの方法は、<br />
4)volumevop(SOP)<br />
Volume Bindingsタブ<br />
Autobind by Name オフにする。<br />
Number of Bindings: +ボタンをおして1にする。<br />
primitiveはひとつなので、「0」を入力。<br />
Name : density<br />
<br />
これでプリミティブはDensityにバインドされる。<br />
このDensityをベースに計算が行われ、ボリュームに対してフィードバックされる。<br />
※Autobind by Nameはオンに戻して次へ進む<br />
<br />
5)volumevop(SOP)にダイブする。<br />
parameterノード作成<br />
ノード名:myvol_in<br />
parameter Name: myvol<br />
Invisible: オン<br />
<br />
6)myvlo_inノードをデュプリケート<br />
ノード名:myvol_out<br />
デフォルトでは同じパラメータ名(ここではmyvol)は一つのノード内では使えないので、myvol_outのパラメータはグレイアウトしている。<br />
<br />
Use This Node to Set Parameter Attributes : オンにする。<br />
Export: Never > Alwaysに変更<br />
<br />
7)Turbulent Noiseノード作成<br />
volumevopglobal1のポジション(p)を turbnoise1(Position)に接続<br />
<br />
8)multiplyノード作成<br />
turbnoise1のノイズ(Noise)をMultiply1の入力(inpupt1)に接続<br />
<br />
9)myvol_inのmyvolをmultiply1のinput2へ接続<br />
<br />
10)multiply1の出力(product)をmyvol_outのinputへ接続<br />
<br />
11)volumevopglobal1のdensityとvolumevopoutput1のdensityの接続を解除<br />
<br />
12)ノードの接続をVEXコードで確認<br />
turbnoise1ノードを右クリックして「View VEX Code...」を選択<br />
<br />
View Code画面で<br />
// Code produced by : multipoly1<br />
myvol = noise * myvol;<br />
となっている。<br />
<br />
<br />
<br />
--------------<br />
※ Volume マテリアルのボクセルについては<br />
SideEffectsのMantra Master Classでカバーされている。<br />
<br />
<br />
<b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモはビデオチュートリアルを見ての私的なメモで、完全な記録ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-6111242725258398282011-12-11T16:14:00.000+09:002011-12-11T16:14:31.660+09:00メモ:Basics : Volumes I (ビデオチュートリアル)by Peter Quint<a href="http://vimeo.com/7049140">Basics : Volumes I</a> by Peter Quint<br />
<br />
<br />
<b>HoudiniのVolumeに関する入門<br />
まずVolumeを見ていきます。<br />
- Volume IsoOffset(SOP)を使って作り、それらの値を調整します。</b><br />
<br />
<br />
--------------<br />
<b style="color: blue;"><Volume (SOP)></b><br />
<b>簡単なボリュームの作成</b><br />
1)Geometry(OBJ)ノード作成 <br />
2)file(SOP)を削除<br />
3)Volume(SOP)を作成<br />
Name: myvol<br />
Initial Value X:0.5<br />
<br />
<br />
Rank<br />
どのような種類の値をボリュームで使用するのか<br />
<br />
「Uniform Sampling」はノード中クリックで表示される詳細にある「Volume Resolution」と同じである。<br />
<br />
例:<br />
Volumeのsizeが1,1,1のとき、Uniform Samplingが10のときVolume Resolutionは[10,10,10]となる<br />
Volumeのsizeを1,2,1にして、Uniform Samplingを10にすると、Volume Resolutionは[5,10,5]になる。<br />
<br />
※ようするに最大sizeの分割数がUniformSamplingと同じになる。<br />
<br />
<br />
Rankを「Vector」にすると3つのボリュームをオーバーラップして持つことになる。<br />
それぞれ違う名前をもつことになる。<br />
0:myvol.x<br />
1:myvol.y<br />
2:myvol.z<br />
<br />
<br />
<br />
--------------<br />
<b style="color: blue;"><IsoOffset(SOP)></b><br />
<b>ジオメトリをコンバートしてボリュームを作成する。 </b><br />
1)Sphere(SOP)を作成する<br />
2)isooffset(SOP)を作成する。<br />
デフォルトではサーフェイスを作るだけなのでボリュームにするにはOutput TypeでFog Volume, SDF Volumeを設定する必要がある。<br />
(ここではFog Volumeを選択)<br />
<br />
Fog Volume:オブジェクトの中にある各ボックスは値1、外のボックスは値0となる。<br />
<br />
SDF(Sign Distance Field) Volume:中心から最も近いサーフェイスまでの距離の情報を使う。<br />
サーフェイスから中はネガティブ値になり、サーフェイスから外はポジティブ値になる。<br />
※内部がスフィアの形状に雲がない状態になるので外からはわかりにくい。<br />
<br />
<br />
Offset:入力ボリュームのサーフェイスをオフセットする。<br />
<br />
Laser Scan:カップなどの中がへこんだ形状では正しく計算されない。その場合はこれをOffにしてみる必要があるかも知れない。<br />
<br />
<br />
--------------<br />
<b style="color: blue;"><IsoSurface (SOP)></b><b> </b><br />
<b>インプットジオメトリ無しでボリュームを作る事が出来る方法</b><br />
<br />
実際には、入力ジオメトリを接続することは出来るが、ボリュームサイズは形状を使うことができるがいろいろと問題がある(ヘルプ参照)<br />
例:<br />
1)Isosurface(SOP)を作成<br />
Implicit Function:noise($X,$Y,$Z)<br />
Build Volumeをオンにしてボリュームを表示する。<br />
<br />
<br />
<br />
--------------<br />
<b style="color: blue;"><Volumemix(SOP)></b><br />
ボリュームを変更したり、結合する。<br />
<br />
<b>例1)二つのインプットがあるが1つだけのインプットでもいい。</b><br />
1)先ほどのiso1(SOP)を左のインプットに接続<br />
IsoSurfaceを<br />
Mix Method:User<br />
Value:$V(デフォルト)*0.5<br />
ボリュームのノードを半減させる。<br />
<br />
<b>例2)二つのボリュームを混合することが出来る。</b><br />
isooffset1を右のインプットに接続<br />
Mix Method:Multiplay<br />
<br />
結果としてノイズのボリュームがスフィア内部にだけ存在するようになる。<br />
<br />
<br />
<br />
<b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモはビデオチュートリアルを見ての私的なメモで、完全な記録ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-30119051000985567022011-11-22T15:04:00.001+09:002011-11-22T15:05:02.229+09:00メモ:Basics:選択(Selection) (ビデオチュートリアル)by Peter Quint<a href="http://vimeo.com/5592856">Basic Selection</a> by Peter Quint<br />
<br />
<b>- オブジェクトの選択<br />
- ポイント、エッジ、フェイスの選択<br />
- ループ<br />
- 選択の拡張と縮小</b><br />
<br />
<br />
--------------<br />
grid(SOP)<br />
sphere(SOP) ->polygon<br />
box(SOP)<br />
<br />
box(OBJ)内部に入り<br />
torus(SOP)を作成しtransformで移動、mergeでboxとマージする。<br />
<br />
※ これでビュー上では4つのオブジェクトがあるように見える。<br />
しかしながらHoudiniではboxとtorusは一つのオブジェクトとして認識されており、<br />
<br />
objレベルでこれらを別々に選択する事は出来ない。<br />
<br />
<br />
<b style="color: blue;"><選択></b><br />
選択(Selection)モード(ショートカット:<b style="color: red;">s</b>)<br />
Show Handleモード(現在選択している状態で<b style="color: red;">Enter</b>を押すとこのモードになる)<br />
<br />
<br />
<b style="color: blue;"><選択モードの種類></b><br />
何を選択しているかを決めるのは左端ツールバーの上4つで決められる。<br />
●オブジェクト:Object Select Mode(ショートカット:<b style="color: red;">1</b>)<br />
●コンポーネント:Geometry Select Mode(ショートカット:<b style="color: red;">2</b>(ポイント)、<b style="color: red;">3</b>(エッジ)、<b style="color: red;">4</b>(フェイス)、<b style="color: red;">5</b>(バーテックス)<br />
●パーティクル・システム:Particle Selct Mode(ショートカット:<b style="color: red;">6</b>)<br />
●ダイナミック・オブジェクト:Dynamics Select Mode(ショートカット:<b style="color: red;">7</b>)<br />
<br />
<br />
<b style="color: blue;"><オプション></b><br />
●オプションはこれらのアイコンを右クリックして表示。<br />
●3Dビュー内で右クリックすると選択状態を切り替えるオプションが表示される。<br />
●PreferenceでPopup Menu Selectionを設定する事も出来る。<br />
TreeビューでFilterにオブジェクト名(例:boxを入れて)リストからオブジェクトを選択することも可<br />
<br />
<br />
<b style="color: blue;"><選択方法の違い(オブジェクトモードでの説明></b><br />
オブジェクト選択モード(ショートカット:<b style="color: red;">1</b>)<br />
選択ツール(ショートカット:<b style="color: red;">s</b>)<br />
<br />
※選択ツール・アイコンを右クリックで選択方法のオプションが表示される。<br />
Box Picking: クリックして選択もしくは、ドラッグで矩形を描いて複数選択できる。<br />
選択に追加(Add to Selection): <b style="color: red;">Ctrl + Shift</b> (追加のみ、選択解除不可)<br />
選択をトグル(Toggle Selection): <b style="color: red;">Shift</b> (追加/選択解除可能)<br />
選択から除く(Remove from Selection): <b style="color: red;">Ctrl</b> (選択解除のみ、追加不可)<br />
選択を入れ替える(Replace Selection): (ショートカット無しの通常モード)<br />
<br />
<br />
<b style="color: blue;"><右クリック・オプション(ビュー内)></b><br />
全オブジェクト/ジオメトリ選択(Select All Objects): <b style="color: red;">a</b> または <b style="color: red;">Ctrl+a</b><br />
全オブジェクト/ジオメトリ選択解除(Select No Objects): <b style="color: red;">n</b><br />
オブジェクト選択反転(Invert Object Selection): <b style="color: red;">Ctrl+i</b><br />
境界選択(Select Boundary): <b style="color: red;">Shift + B </b>(選択範囲の境界のみ選択)<br />
選択範囲縮小(Shrink Selection): <b style="color: red;">Shift + S</b> <br />
選択範囲拡張(Grow Selection): <b style="color: red;">Shift + G</b><br />
-- ループ選択機能 --<br />
※エッジ、ポイントを選択すると赤い矢印が現れる。<br />
●矢印の向きを変える: <b style="color: red;">Shift+R</b><br />
●矢印方向の次のコンポーネントを選択: <b style="color: red;">F</b><br />
●ループ選択: <b style="color: red;">L</b><br />
<br />
<br />
<コンポーネント(Geometry Select)モード><br />
<b style="color: red;">2</b>: ポイント<br />
<b style="color: red;">3</b>: エッジ<br />
<b style="color: red;">4</b>: プリミティブ(フェイス)<br />
<b style="color: red;">5</b>: バーテックス<br />
<br />
●コンポーネントは1度に1オブジェクトのコンポーネントのみ選択できる。<br />
●通常、ジオメトリ選択モードの時、オブジェクトレベルでオブジェクトを選択すれば(自動的に)ジオメトリ・レベルへ降りる。<br />
●あるモード(例:エッジ)でコンポーネントを選択した状態で、別のモード(例:ポイント)へ切り替えたとき、選択されたコンポーネントに含まれるものが選択状態になる。(例:エッジ1つ選択状態 →その両端のポイントが選択状態)<br />
<br />
<b>※ フェイス選択モード</b><br />
フェイス・ノーマルをビュー表示すれば、フェイスを直接選択する代わりにノーマル<br />
<br />
をクリックしてそのフェイスを選択することが出来る。<br />
<br />
<b>※</b>一つのオブジェクトコンテナで複数のジオメトリがあるときに一つのジオメトリを<br />
<br />
全選択するには。(例:box(OBJ)内のTorus(SOP)の全ポイント選択)<br />
Select Connected Geometry(ショートカット:<b style="color: red;">0</b>でトグル)<br />
<br />
<br />
(ショートカット:<b style="color: red;">b</b>で切り替え)<br />
Select Front and Back Facing (正面と背面のフェイスを選択)<br />
Select Front Facing Only (正面フェイスのみ選択)<br />
Slect Back Facing Only (背面フェイスのみ選択)<br />
<br />
<br />
<b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモはビデオチュートリアルを見ての私的なメモで、完全な記録ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-89913402065057146762011-11-18T19:20:00.000+09:002011-11-18T19:20:03.338+09:00メモ:Basics: Polygons II (ビデオチュートリアル)by Peter Quint<a href="http://vimeo.com/6190088"><b>Basics: Polygons II </b></a><b> by Peter Quint</b><br />
<br />
<b style="color: blue;"><Subdivde(SOP)の使用></b><br />
1)Box(SOP) <br />
2)フェイスを全選択<br />
3)Facetを適用<br />
Unique Pointsをオン<br />
4)Subdivideを適用<br />
<br />
※各面が分割されるが、平面の形状は保っている。<br />
<br />
5)FacetをOffにする。<br />
<br />
※各面が分割され、球体に近い形になる。<br />
これは元のBoxの頂点がつながったままだからである。<br />
<br />
6)「Override Crease Weight Attribute」をオンにして「Crease Weight」のスライダを動かしてみる。<br />
<br />
※Weightの数値が大きくなると折り目が鋭角になってくる。<br />
<br />
<br />
<br />
<b style="color: blue;"><Consolidate></b><br />
以下の説明で使用されるネットワーク<br />
box(SOP) -- Point(SOP) -- facet(SOP)<br />
Point(SOP): Add Normal<br />
Facet(SOP): Unique Points オン<br />
<br />
<br />
1)Facet(SOP)のUnique PointsをOnにする。<br />
<br />
「Consolidate」の説明<br />
バラバラのポイントを一つにまとめたければConsolidateを使う事もできる。<br />
しかしConsolidateを使うよりは「Fuse(SOP)」を使った方がよい。<br />
<br />
<br />
<br />
<b style="color: blue;"><エッジラインの中程に残ったポイントを削除する></b><br />
以下の説明で使用されるネットワーク<br />
box(SOP) -- Point(SOP) <br />
Point(SOP): Add Normal<br />
<br />
1)EdgeLoopツールを使いboxを分割する。(Polysplit SOPが作成される)<br />
2)選択(Select)モード(sキー)でエッジ二つを選択し、Dissolveツールをクリック<br />
エッジが削除されdissolve(SOP)が作成される。<br />
※エッジの真ん中にポイントが残る。<br />
<br />
3)真ん中のポイントを選択して移動(tキー)する。<br />
edit(SOP)が作成される。<br />
<br />
4)edit1(SOP)が選択された状態で、Facetノードを作成<br />
「Remove Inline Points」をオンにする。<br />
※しかし何も起きない。(ポイントは消えない)<br />
<br />
5)これは角にあるポイントからの閾値が低すぎるからで<br />
Distanceの数値を上げてやるとポイントが削除できる。<br />
※例:0.2<br />
<br />
<br />
<br />
<b style="color: blue;"><ノーマルが反転したフェイスを修正する></b><br />
1)Box(SOP)でトップのフェイスのみを選択し、3DビューでTabメニューから「reverse(SOP)」を作成<br />
※トップのフェイスのみNormalが反転する。(NormalをDisplay表示するとよい)<br />
このフェイスの反転はモデリング時などに時々みかける現象である。<br />
<br />
2)全フェイスを選択する。<br />
※これにより全てのノーマルの方向を比較しどちらの方向を向いているのかを判断できる。<br />
<br />
3)Facet(SOP)を作成し、「Orient Polygons」をオンにする。<br />
※これでノーマルの反転が戻る。<br />
<br />
<br />
<br />
<br />
<b style="color: blue;"><ポリゴンを平面化する></b><br />
※モデリング時に非平面ポリゴンが発生することはよくある。<br />
これを修正する。<br />
1)Box(SOP)で選択モードで一つのポイントを移動して非平面ポリゴンにする。<br />
<br />
2)非平面のポリゴンを選択し、Facetツールをクリックするか、3DビューでTabメニューから「Facet(SOP)」を作成<br />
<br />
3)「Make Planar」をオンにする。<br />
<br />
※ビデオでは、全プリミティブ(フェイス)を選択しているがエラーが起き、フェイスを1つだけ選択しなおしている。<br />
<br />
※複数の平面を選択して平面化するには、Divide(SOP)を使い三角ポリゴンに変えたほうがよい。<br />
<br />
<br />
<b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモはビデオチュートリアルを見ての私的なメモで、完全な記録ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-70259316627009255882011-11-18T17:45:00.000+09:002011-11-18T17:45:49.822+09:00ヘルプ(翻訳): エディット(Edit) SOP<div class="separator" style="clear: both; text-align: center;"><a href="http://www.sidefx.com/docs/houdini11.0/icons/large/SOP/edit.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://www.sidefx.com/docs/houdini11.0/icons/large/SOP/edit.png" /></a></div><br />
<br />
<a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/edit">Edit (SOP)</a><br />
<br />
ポイント、エッジ、フェイスをインタラクティブに編集する。<br />
<br />
Edit(SOP)はカーブ/サーフェイス上のフェイス/エッジ/ポイントをトランスフォームまたはスカルプとさせてくれます。<br />
<br />
他の大半のHoudiniのオペレータと違い、Editは累積的です。<br />
一つのEditノード内で(たくさんの選択肢に対して)複数のEdit操作を実行する事が出来ます。<br />
<br />
Editは作業に当たり二つの主な方法をサポートします。<br />
edit(<a href="http://www.sidefx.com/docs/houdini11.0/guide/handles">マニピュレータ</a>を使用)<br />
sculpt(<a href="http://www.sidefx.com/docs/houdini11.0/basics/brush">ブラシツール</a>を使用)<br />
<br />
<b>Note:</b><br />
<b style="color: #660000;">Editノードはアニメートできません。</b><br />
トランスフォームをアニメートするには、<a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/point">Point</a>, <a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/xform">Transform</a>, <a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/softxform">Soft Transform</a>, <a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/peak">Peak</a>, <a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/softpeak">Soft Peak</a>オペレータや他のタイプのデフォーメーションを使います。<br />
<br />
<br />
<span style="font-size: large;"><b>設定</b></span><br />
● Editがインタラクティブに使えるのはビューワーの中だけです。<br />
● ビューワー・ペインでツールを使っている間もパラメータ・ペインに<b style="color: #660000;">Edit(SOP)のパラメータを見えるようにしておきます。</b>パラメータにはビューワー内でツールの振る舞いを調整するコントロールが含まれています。<br />
<br />
Editモードでは、パラメータは現在の選択肢に影響を及ぼします。<br />
新しいポイント/フェイスを選択したとき、パラメータはリセットされます。<br />
スカルプト・モードでは、これから描かれるストロークに影響します。<br />
<br />
●ポイントを選択する前に、ビューワー・ペインの(ビューワーの右側にある)ディスプレイ・オプション・ツールバーのポイント・アイコンをオンにします。<br />
(もしディスプレイ・オプション・ツールバーが表示されていないときは、ビューワー・ペインの右端にある格納バーをクリックして表示します。)<br />
<br />
<div class="heading" id="id249555"><h2>作業</h2><div class="headingcontent"><table class="tasktable normal"><tbody>
<tr><th class="taskheading" style="background-color: #d0e0e3;">目的...</th><th class="actionheading" style="background-color: #d0e0e3;">行うこ</th></tr>
<tr><td class="taskcell" style="background-color: #fce5cd;">ポイント/フェイスのトランスフォーム</td><td class="actioncell" style="background-color: #fff2cc;"><ol><li>パラメーターで、「<b>Edit</b>」そして「<b>Transform</b>」をクリックする</li>
<li>3Dビューワーの左端にあるツールバーで、セレクション・タイプを設定する。もしくは<b>「Select</b>」 >「<b>Selection Type</b>」サブメニューを使用する</li>
<li>トランスフォームしたいポイント/フェイスを選択する</li>
<li>下記のどれかを行う</li>
</ol></td></tr>
<tr><td class="taskcell" style="background-color: #fce5cd;">ポイントやフェイスをそのノーマルに沿って移動する</td><td class="actioncell" style="background-color: #fff2cc;"><ol><li>パラメーターで、「<b>Edit</b>」そして「<b>Peak</b>」をクリックする。</li>
<li>そのノーマルに沿って選択したアイテムを移動するためにマニピュレータを使う。Editツールに作用させるには上記「ポイント/フェイスのトランスフォーム」を参照</li>
<li><a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/extrude">Extrude SOP</a>も参照の事</li>
</ol></td></tr>
<tr><td class="taskcell" style="background-color: #fce5cd;">ブラシでなでることによりポイントを押したり、引いたり、スムースにする</td><td class="actioncell" style="background-color: #fff2cc;"><ol><li>パラメータで「<b>Sculpt</b>」を選択する</li>
<li>そのタブのコントロールでブラシの機能を制御します。<br />
これらのコントロールはHoudiniの全ブラシ・ツール共通です。<br />
「<a href="http://www.sidefx.com/docs/houdini11.0/basics/brush">ブラシ・ツールの使い方</a>」を参照<br />
</li>
</ol></td></tr>
</tbody></table></div></div><h2> </h2><h2>メモ</h2><a href="http://www.sidefx.com/docs/houdini11.0/icons/medium/KEYS/RMB.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a>●ビューワーで作業しているときにツールオプションのメニューを表示するにはRMBをクリックします。 例えば、マウス・ボタンに異なる機能をアサインする事が出来ます。<br />
<br />
●ポイントをトランスフォームするときに、ポイントの周囲に対して「<b><i>比例修正ツール(Proportional Modification)</i></b>」を行うためにSoft Radiusオプションを使います。<br />
<br />
●Editはリファレンスジオメトリ用に二つ目の入力を持っています。<br />
2つ目の入力が接続される時、Editノード編集するジオメトリとリファレンス・ジオメトリ間の違いに関連付けてトランスフォームを編集します。<br />
<br />
●ジオメトリの一部にある各ポイントやバーティックスの位置を編集するために「<a href="http://www.sidefx.com/docs/houdini11.0/ref/panes/geosheet">Detailペイン</a>」を使う事が出来ます。<br />
<br />
●リファレンス・ジオメトリによって影響されるのは確定された(Committed)編集作業のみです。<br />
「<b>Commit Transform/Peak Changes</b>」ボタンを押すことで編集作業を確定することができます。<br />
現在の編集は新しい編集を始めたとき、もしくはスカルプトの操作を始めたときに自動的に確定されます。<br />
<br />
<div class="section" id="parameters"><h2 class="section">パラメータ</h2><table class="dl"><tbody>
<tr class="defn"><td class="dt " id="group" style="background-color: #cccccc;"><b>Group </b></td><td class="dd " style="background-color: #eeeeee;">編集作業を行うグループ。<br />
ここが空欄の場合は、第一入力にある全てのジオメトリに対して編集が適用されます。<br />
<a href="http://www.sidefx.com/docs/houdini11.0/model/groups">グループを作り</a>、編集をマスクするためにこのパラメータを使うことができます。<br />
その編集は、このグループ内のポイントかフェイスにのみ適用されます。</td></tr>
<tr class="defn"><td class="dt " id="group_type" style="background-color: #cccccc;"><b>Group type </b></td><td class="dd " style="background-color: #eeeeee;">グループ内で使うジオメトリのタイプ。<br />
もしそのグループがたった一つのジオメトリ・タイプしか持たない場合(例えばポイント)は、「Guess from group」を使う事が出来ます。<br />
Houdiniはそのグループの中身からジオメトリ・タイプを推測します。</td></tr>
</tbody></table><div class="heading" id="id248863"><br />
<div class="headingcontent"><div class="heading" id="id248872"><h4><span style="font-size: large;">Edit</span></h4><h4>Transform</h4><div class="headingcontent">このタブにあるパラメータの情報はオンラインヘルプの「<b><a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/xform">Transform SOP</a></b>」を参照して下さい。</div></div><div class="heading" id="id243290"><h4>Peak</h4><div class="headingcontent">このタブにあるパラメータの情報はオンラインヘルプの「<a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/peak"><b>Peak SOP</b></a>」を参照して下さい。</div></div><table class="dl"><tbody>
<tr class="defn"><td class="dt " id="soft_radius" style="background-color: #cccccc;"><b>Soft radius </b></td><td class="dd " style="background-color: #eeeeee;">直接編集するポイント/フェイスに追随する他のポイント/フェイスまでの距離 </td></tr>
<tr class="defn"><td class="dt " id="soft_type" style="background-color: #cccccc;"><b>Soft type </b></td><td class="dd " style="background-color: #eeeeee;">ソフト修正(Soft Modifications)のロールオフ・タイプ。<br />
これは、直接の編集が「Soft Radius」で、他のポイント/フェイスに及ぼす影響を、その距離を元にきめます。<br />
<table class="dl"><tbody>
<tr class="defn"><td class="dt " id="linear" style="background-color: #cccccc;"><b>Linear </b></td><td class="dd ">リニア・ロールオフ:影響力が距離に応じてリニアに減衰します。</td></tr>
<tr class="defn"><td class="dt " id="quadratic" style="background-color: #cccccc;"><b>Quadratic </b></td><td class="dd ">スロー・フォールオフ: 直接の編集はキュービックよりは多くの距離までポイント/フェイスに影響を及ぼします。</td></tr>
<tr class="defn"><td class="dt " id="cubic" style="background-color: #cccccc;"><b>Cubic </b></td><td class="dd ">クイック・フォールオフ: 直接の編集はQuadraticよりは少ない距離までしかポイント/フェイスに影響しません。</td></tr>
<tr class="defn"><td class="dt " id="metaball" style="background-color: #cccccc;"><b>Metaball </b></td><td class="dd ">「<b>Kernal function</b>」パラメータで設定したメタボール密度関数に応じたフォールオフを計算します。</td></tr>
</tbody></table></td></tr>
<tr class="defn"><td class="dt " id="tangent_angles" style="background-color: #cccccc;"><b>Tangent angles </b></td><td class="dd " style="background-color: #eeeeee;">キュービック・ロールオフ関数の接線角度<br />
最初の値はソース・ポイントから最も離れた接線に適用されます。<br />
二番目の値はソース・ポイントに最も近い接線に適用されます。</td></tr>
<tr class="defn"><td class="dt " id="kernal_function" style="background-color: #cccccc;"><b>Kernal function </b></td><td class="dd " style="background-color: #eeeeee;">「Soft Type」が「<b>Metaball</b>」のときに使われる密度関数です。<br />
<br />
<b> Wyvill model<br />
Elendit model<br />
Blinn model<br />
Links model<br />
RenderMan model<br />
Hart model<br />
Exponential Bump</b></td></tr>
<tr class="defn"><td class="dt " id="ignore_point_connectivity" style="background-color: #cccccc;"><b>Ignore point connectivity </b></td><td class="dd " style="background-color: #eeeeee;">直接編集しているポイントに<b><i>つながっている</i></b>ポイントだけがソフトモディファイされる。(<b style="color: blue;">訳注</b>:?)</td></tr>
</tbody></table></div></div><div class="heading" id="id235597"><h3>Sculpt</h3><div class="headingcontent">ブラシ・パラメータについてはオンラインヘルプの「<a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/sculpt">Sculpt SOP</a>」を見て下さい。<br />
<table class="dl"><tbody>
<tr class="defn"><td class="dt " id="use_orient_attribute" style="background-color: #cccccc;"><b>Use Orient Attribute </b></td><td class="dd " style="background-color: #eeeeee;">もし設定されていたら、全ての編集は「Orient」と呼ばれるクォータニオン・ポイント・アトリビュートによって詳述される方向に関連付けられる。<br />
これはオリエント・アトリビュートがWireSolver(SOP)を使ってアニメートされる時に大変便利です。 </td></tr>
<tr class="defn"><td class="dt " id="use_mirror" style="background-color: #cccccc;"><b>Use Mirror </b></td><td class="dd " style="background-color: #eeeeee;">もし設定されていたら、すべてのオペレーションはシンメトリーの平面にそって反映されます。</td></tr>
<tr class="defn"><td class="dt " id="axis" style="background-color: #cccccc;"><b>Axis </b></td><td class="dd " style="background-color: #eeeeee;">反映されるシンメトリーの平面のノーマルを定義します。<br />
<b style="color: blue;">訳注:</b><br />
X:1 の場合はX軸方向に向かうシンメトリ<br />
Z:1 はZ軸方向のそれとなる。</td></tr>
<tr class="defn"><td class="dt " id="origin" style="background-color: #cccccc;"><b>Origin </b></td><td class="dd " style="background-color: #eeeeee;">反映されるシンメトリーの平面の原点を定義します。</td></tr>
<tr class="defn"><td class="dt " id="distance" style="background-color: #cccccc;"><b>Distance </b></td><td class="dd " style="background-color: #eeeeee;">これはシンメトリの原点からのプレーンの距離を示します。<br />
(<b style="color: blue;">訳注;</b>これはOriginの操作と似ている)</td></tr>
<tr class="defn"><td class="dt " id="threshold" style="background-color: #cccccc;"><b>Threshold </b></td><td class="dd " style="background-color: #eeeeee;"><br />
反転されるポイントの位置から反映されるポイントへの最大距離<br />
(<b style="color: blue;">訳注??:以下原文</b>)<br />
This is the maximum distance from a points mirrored position to search for the mirrored point. </td></tr>
<tr class="defn"><td class="dt " id="recompute_point_normals" style="background-color: #cccccc;"><b>Recompute Point Normals </b></td><td class="dd " style="background-color: #eeeeee;">ポイント・ノーマルが存在する時にそれを再計算する。</td></tr>
<tr class="defn"><td class="dt " id="commit_transformpeak_changes" style="background-color: #cccccc;"><b>Commit Transform/Peak Changes </b></td><td class="dd " style="background-color: #eeeeee;">現在の編集を保存し、新しい編集作業を始めるためにパラメータを開始状態に再セットするする。<br />
(<b style="color: blue;">訳注;</b>パラメータとは、Translate、Rotate、Scaleなど。これらがゼロになる。)</td></tr>
<tr class="defn"><td class="dt " id="reset_all_changes" style="background-color: #cccccc;"><b>Reset All Changes </b></td><td class="dd " style="background-color: #eeeeee;">ジオメトリを初期状態にレストアする。<br />
(<b style="color: blue;">訳注:</b>たとえば平面を凸凹にした場合、これをクリックすると変更が全て取り消され、平面に戻る。)</td></tr>
</tbody></table></div></div></div><div class="section" id="inputs"><h2 class="section">Inputs</h2><table class="dl"><tbody>
<tr class="defn"><td class="dt " style="background-color: #cccccc;"><b>Geometry to edit </b></td><td class="dd " style="background-color: #eeeeee;">Editを適用するジオメトリ</td></tr>
<tr class="defn"><td class="dt " style="background-color: #cccccc;"><b>Reference geometry </b></td><td class="dd " style="background-color: #eeeeee;">(任意)入力ジオメトリが接続されているとき、すべての編集はそのジオメトリとこのジオメトリ間の違いに関係する。<br />
(<b style="color: blue;">訳注:</b>ジオメトリの構成(形状ポイント数など)は一致する必要があるようだ。)</td></tr>
</tbody></table></div><h2 class="section">Examples</h2><table class="examplestable"><tbody>
<tr><td class="examplelink" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/examples/nodes/sop/edit/ReferenceGeometry" title="">ReferenceGeometry</a> </td><td class="exampleload" style="background-color: #f4cccc;"><b><a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Load</a></b> | <a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Launch</a> </td></tr>
<tr style="background-color: #eeeeee;"><td class="exampletext" colspan="2"><code>.../examples/nodes/sop/edit/ReferenceGeometry.otl</code><br />
この例は、EditSOPにおけるリファレンスジオメトリの入力が、アニメーションされたジオメトリの編集作業にどのように適用されるかを示しています。</td><td class="exampletext" colspan="2"><br />
</td></tr>
</tbody></table><h3><span style="font-weight: normal;"><span style="font-size: small;">(<span style="color: blue;">訳<b>注:</b>以下の図は、このファイルを開いたもの。</span>)</span></span></h3><h3><span style="font-size: small;"><span style="font-weight: normal;"> </span></span><img alt="" height="322" src="data:image/png;base64,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" width="400" /> </h3><h3></h3><h3><span style="font-size: small; font-weight: normal;"> </span><img alt="" height="190" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfsAAAEuCAIAAAAGGiwZAAAgAElEQVR4nOyd6VNiWZr/6z+aFxkTMW/mRU9HR3fXryNmemqmuqmlqyqzKtPMykwzzXTf931BRVRwV0RQ3PedRRAFRQFxARQUlM09NdVMfy+e8fQtVES4wAX5RkaGItx77jnnfu7Dc57zPF984QuRSCTcD2gnfI/vfQXAJbgmZ4YykAbaQyJC/zhzS14+euTlViH5vH8eltzp7sDj+40K4EtDcmcoA34C4CJv9o8LQ+lD4oOCU8ircqajHwjfb1OAXS/uQ/lgJ8a95KH+cX80fU58pOAs8pKwXXwd7sEB+MKfjX2vjWZwwjgj97sI99EkDvGRghPJUwrC/V4ifhf5fECDc8lJOd9Fnh5QAhIfKTiR3JJjHAQ710kRqpeI+cAmYJOIqRu7yMtjSmTigwJgLnljQF0z9/y6W70mX80/18bUV/KXdvpcvh1T4hMfyY+mk2fH9DoI3DmHX3QoEeTpjvIvvt8mf28/7nIwrEHiOyliTidPTXUvgICAvUlM4dv/AcD32xSo1+WM7jusXu4lfyQ+yOczyiM3rBf47uC83jmXv8u1vvLVyPpQD+RicRlWr3WU/xIfyZuTCuc5TDQK+LwBfiTHfUW0kfWhAq8HPDqynu6rACA+kuf631OUx+FweIuYrSKmsIMY5Ltj+XXPeH9wPXeiQCI+yM1xCd65QejfLXsDPthjTsiPuosgg+uJBgQe8ZGc7y4iDC6xFOwIrO7ke3DqOC9i3mwEQfxtwrFVAUx8pOvdRfDxJYQecte4Nj8eco/dVz6//fwRAbg09SEQH+R340sIPYTOutOEv+/R8GpYwMub96Q/Iv5GuXkJAUz824Y4AAbdqwqwnsKX7w5OgfthA1UeGouAQfxtcu26Aoz49xriQJ0J+Muvu8lXd75fd5r35eYYeeFBTkzd62IDAPfuj/JDmyEuyl/6iFB3vs8b4HdyfuCIM8pEkJOd4KfE99BAByfP3SJa7xCK77eJsA0jrG4cUOIPtM91Z+f4C/G9PNbBGeVIRLCa/fG296/WEkH+O9Y+1209RmTi+3ysgzPtVnmtU/zChHdeAXAJHtWNYx0wo+99Xe80QhGfsLc2AZvke3miRwKM77cpUK/LBTk/3AE/KzwnbL/5nPj+NY7+0k7vyc3ueAh8v1EP7XqR3Bzxhzlb8BKJRPI+8QPgHvfrxuMv5zvigZjwzushdIInRjw4hVzW5aNHXui3QB2ggLwoV3RjFwT57qQCrGe8NujBqeWCkI3vuWfwQxiOh3OltyrId3fk1z3m23EPTrl76bpXx7WuC97soAd0+Tci/qFcvGfkF71HzEc70dpDWN3mx3em64KdfJsCsFucv88D6rK9LgLOGwLy/Tb5Szt9KMcrt3a950dDTxD5cV+5M9h+ecFEkm8njb/f537deE/rzlgd6Lf6+vpg77kjok8/5034ex0Ql7Y9WHmtA/0d8Tcq8K4IF93mxwfKX1ew99wRUaYf7nx3cCIPHfmByEOjE5CIv1EP5DKdFxDfAeJv436wA/1JPrzDgxPFfeH1levBsu8hXzsIXf7lo0fOgz5o8vuHvGbCO98e3zYgAHTfcSTUBCCIHlqH3GjIu0n8IPd9L6Lx/UYRs1V+JwfjS/w5QBAFcC/diHhPEB9xP/D6kIjy03vbv1pLZJGutj744zQgiAKm35yhvIeIj0W/r7shgOQXJrzz8vf2+0rXp0GwJ92XP/bkfRFvJ08QH+Rf3UgUPYS7OiAvCnc5Mw2CPem+/OJec5PySJ7DPRLBe9LHegh8v1EP50qdl2sz4UFNG8+JaPcgXoi3kxeIj0SQniSECDW3fKVgD+D4sA92Ji7yLfc9RHmsvEl8UHBaBvUbPagJ4envcw+qMz0nr3HfC4i3k/eJDwpaJEH9UwE8FbzvsgveWnjJEwOHDugT7Nb7jvhIwckZ1BdfBBD0vY/425rhq1MHmNwfTd8i3k4+Jz4oOD+D8lfjlCCIvy6itcevda8h9rkh70AEIT7ogczPB3KZLor4vUNYxN8ov2ikv8jBuBMW8XYiFPGRAm+K+hclfCyidVAADJ6fNpuYspsPvqbl/URM4oP8fZaSbpGv2+UP8mE3BeqABdK1+ErXEe930Ccy8UH+NUuDlMdNXuu4BzVUAX+B+MpJQ96PuE984iMRdq4GKe9BeaIfH/g4Pcyrdl4u49ub3K+pqampqamrq/vll19++eWXkJCQsLCwV69e/fjjjxERESkpKYmJifHx8ZGRkREREfHx8WlpaTQaLSUl5fLRo5iYmMTExHfv3r158yYqKio5OTkuLi4sLOzZs2e//PLLixcv6urqamtrHz9+/Pe///1vf/sbnLG2traurs47V4cVQeZqkPLek/vdGhyk6wr2A5KThrzzhMLrUH/961///ve/P378+NWrV69evQoPD09LS8vPz8/Pz8/Ozs7IyMjJySGTyWVlZXQ6vbq6mk6nV1VV0Wg0CoVCpVKrqqrq6upqamrodHpFRUVlZSWdTr989IhOp9fU1FRXV9fU1FRUVJSUlJSVldFotOrq6srKSgqFUlhYWFxcXFJSkpOTU1BQQCaT8/LycnJykpOTo6KiYmNj4+Pja2pq3r9///z583/84x/ff/89LtfrQD6ZrkHK+0z37eXgCDmjh9w5nrbH73X8uro6oO3r16/fvn377t278PDwxMREADrQvKqqqrq6mkajlZeXA7KvH8eBGY5eB69O3ZWwb0CvYA9eV1dXVVVVWVlZVVUFx6fT6WVlZaWlpVQqtaysrKioqLCwMCsrKy0t7f379/CMqa2tdfLa7ytPz9gg5Ykix/0eHB6X9UB6zNOIvw1Pdif94x//+PXXX//yyy+hoaExMTFgRBcUFBQWFubn5xcUFFAoFDqdbnec64B2Wfj68aFVtbW1lZWV5eXl8E2ivLy8qKgoKysrOTk5NjYWr5Zjhe+MDVKeuELDEBwbfBWQfegTytvpj3/84//+7/8+efIkLCwsKSmpoKCgoqICyEij0Wg0GjKfvdMej67c1tbWgrMIvg3QaLSSkpK8vLzc3NyIiAg6nU6j0Wpqal68eIHL6dyZtEHKE13BgfG0AqBjfYh4ZIZ/+eWXX3/99ZMnT0JDQ2NjY7Ozs8HPXlVVBZ4ZWHT1GuLt5P1YHXBJVVZWUqlUWDbIy8vLzMxMTk7G6xTOz9sg5YkrB6MSHCTPye/61oeUr62tramp+f3vf//Xv/71xx9/fPXqVUxMTHp6OplMxsId+O6rWBc7+So6E/oKOqG2traqqqqsrKywsDAjIyM+Ph6XU9w2dYOUJ6juNSTBMfOcCH5L+NyQB9/F7373u6+//vr58+cxMTHZ2dkUCgU5NBDffYj4hoaGG1+/fPSoqanJy43BCtstNTU14PTPzc3NysqCcCOIOnXhyG1tbWNjY6SbSkAHQe97uT8YwSH0qAjVvT6kPAg4VVNTU1VV9bvf/Q7C3nNyckpKSioqKrDOax82sqmpicFgMBiM5ubm5uZmBoPR2NjY0NDAZDLb2to6OjpYLNblo0dsNpvJZDY1NTU3NzOZTDab3draymQyG67U3Nzc0tLSgJFHmw3hQCwWq6+vb2pqSiwWt7e3M5nMG+OR7ASUl0qlarU6SHliyUPDEBxRj8pX3etzxGMFuKdSqfn5+V999dX79+9TUlKKiorKy8shjN0LoEfYteNvS0tLZ2dnZ2dnd3f3wMBAX19fd3d3e3t7T0/P0NDQxMQEl8udnJzk8/k8Hu/y0aPBwcGRkREulysQCPh8/tjY2ODgYH9//9DQ0MjIyNDQUG9vb19fX29vb0dHR1tbGzwP2tvbORwOPAagDY2NjY2NjW5eVE9PD5/Pl8vlOp1ub2/v9PT08koXFxe7u7tbW1vV1dV2n3Ke8kHie1Vee9IGB9Wj8s5tg+aJmxDBV7CbqbCw8A9/+MM333wTGhqakpKSl5dXVlbmBYseDHaw3Jubm5uamoCzHA6nv79/bGyMy+WKRCKJRDI7OysWi0Ui0fT0tEgkEgqFMplsdXV1Y2NjY2NjeXlZJpPJ5fLLR49mZmbm5+eXlpa0Wu3S0pJUKhUIBDMzM0tLS6urqyqVan5+XiAQTE9Pz8zMzMzMiEQiHo83NjY2NDTU39/f09PT3t7e0tICXyOgbc6jv6Ghobe3VyAQIMp//vz58iadnp4ajUaj0bi9vU2hUJhM5p2Ux37c+xP4IcqHX6aCI+ppeaKHCYj4+qv9UBBekp+fn5SU9Kc//SkkJCQ2NjY/P59CoVRWVrrsa3asxsZGFovV0dHR0dHR2dnZ09PT1dXV0dHB4XD6+vpGR0f5fP7MzMzCwsLy8rJGo9FqtWtra2trayqVSi6Xy+VytVqtVqu1Wu3Ozs7e3p7FYtna2lKr1UqlUqPRXD56tLq6qtfrDQaDWq3e2NhQqVRzc3MqlWpzc9NoNOp0OqVSOTMzI5PJ1tbWtre3V1dX5+bmeDwel8uF/+FrQVdXF3y36OrqAvP/tuWBxsbG3t7eqakphUKh1+v39/dvRDzS58+fP3z4oNfrtVqtVqs1mUxms9kZyp+fn+/t7cGl3TbZgqBwSz5E/G2N8W0bAlvu9zAxDXk7QVoCKpWanZ0dFRX1//7f/wsLC0tMTMzPz6+oqIAdsDiejsFgtLa2dnd3Dw4Ojo2N8Xg8oVA4NTXF5/P5fL5QKBSJRGKxWKFQaLVag8FgMpm2t7cNBsPW1pZer19fX9fpdDqdTqPRrK+vm0ymo6Oji4uLo6Mji8ViMplMJpNOp1Or1QaD4fLRo4ODg729vc3NTbVabTQa4RvA1taW1WrV6/WA+Pn5+ZWVFYPBoNfrNRqNTCYTCARTU1NTU1M8Hk8gEExOTo5caWhoaGBgoKenp6Ojo7W1lcFg1NfXNzU1gVPeScqDG2d/fx+eT3K5XCqVSiQSiUSi0+lsNtttlIdPGY1GjUajUChmZ2f5fD6Xy/XoNH5AIhTibxQxWxVIuu/QEx/xSLCECPlkEhMT//KXvzx+/DgyMjI9Pb2oqAh2D+ESR9/Q0NDS0tLa2trR0TE0NASW+/z8/MLCglwuVyqVi4uL4IcBS9xgMOzt7e3u7lqtVkT8nZ0dgLLRaLRarTs7Ozab7ezs7OLi4vT0dG9vb3t7e2dnZ3d3F95ms9kuHz06Pz+3WCwbGxtAfKvVajQaj46Otra2tFot/GlpaQkOu7a2tr6+vri4iPxFXC6Xz+cLBAIej8fj8SYmJkZHR4H7w8PDQqFwcXFRrVZvb28fHBw4Q/mDg4Pt7W07XoOwqLHZbMj/8+nTJ/iUVqtVKBQSiQT7KRDu0/ihiPiIvy5/aadfy0En+4UhbycIwqHRaEVFRampqREREf/1X//19OlT2EJVXFxcWVnpfkx9Q0MDOL5ZLFZXV9fg4ODExIRIJJqfn1cqlSqVanl5eXV1VavVrq+vazQawPTHjx9PTk729/ctFovZbDabzdvb20aj0WQyAfQtFsvR0dHx8TG4v61WK/LnGI3G3d1d+NTp6enlo0c7Ozs7OztarVaj0Wxvbx8fH5+dnZnNZo1Gs7q6Cn7z9fV1m80GvqC1tTWFQjEzMzM7OysQCGApGCx94OzExMTY2NjIyMjS0tKdiMfyGigvkUgEAsGNlEcvLi4uGgyGg4MDaLlSqYTlB+7tcn4a+xHZPCJ/RPx1+W/L/UjYGeJ3iMcKNgSVl5cXFBQkJia+efPmL3/5y9OnTyMjIzMyMoqKiqhUKjju3fTdQ0BkS0tLd3f3yMgIn8+fnp6GddS1tTXwy29sbBiNRpvNZrFYjo+PLy4uDg8Pj46ObDYbwBqIv729bTabrVar2Ww+ODg4Pz+/vLw8Pj4GH47BYNje3oYfrFbr/v4+OHkuHz1aW1vT6/VqtRqIf3BwsL+/r9PplpaWVCqVXq/f29szm816vV4ul8tkMqVSCYSdmZnhcrnj4+MAfYFAgIX+wsLCx48fb6P858+fDw8PwSpXKpXOUN5Oi4uLUql0amrKAeVdIP6NkznAFRiIv64AuxyiCTtn8CKvT1RXV4dSBCckJLx8+ZJEIv30009hYWEpKSmwVEun092PzGlqaoLg9+7u7rGxMaFQKJFIFhYWwI5eX1/X6/VbW1vb29u7u7snJyeXl5dnZ2cHBwdms9lms5nNZohd2dnZAXeNxWLZ29vb398/PT3d3d0F81yr1S4vL4MvSKvVbm1tmc3mo6Mjk8m0srJy+ejR3Nzc0tLSysqKRqNRq9XoiwU4kbRardlshjfPzs7CEq5CoZifnxeJRODDGR8f5175dsC9Mz8/b7PZroP+8PAQWeUuUN5luTmrcbxNfnNojxzXifMGKuJvVMBfoDd127TxU+6DzU6n0ykUCsTkhIaGfvfdd99///3r16/j4uKysrIg6L66utp94jc3N4PjfmBgYHR0lMvlzs7OLi4uLi8va7Xazc1NMNsB96enp8fHx3t7ezs7OxBFs729vbm5Ccb79va2yWQC4313d1ev16tUqsXFRYVCoVAogNHA/ZWVFZVKBcgWi8WXjx7xeDxYM5idnRUKhVwuVyAQwOKwVCqVyWSLi4uwisDn86empmZnZ2ERVSAQgMt+bGxsYmICHDtTU1Nzc3N2uIfAyuXlZTur3KOUx4X4dvPczePccFycj3jLWR4O32/Uw7xqXHSvyeNf3Ed7aMvLy8lkclZWVkRExOPHj7/55punT5++f/8+KSkpNze3uLi4vLwcpYZ3+XSNjY3Nzc1sNpvD4bS3twP3BQKBVCpVKBQrKyvr6+vggQF/DizPQiwNuHo2Nzd1Oh2CPolEgoD6hYUFiUTC5XLB2cLHaGJiYnBwsLOzs62tjcVicTicy0ePOBxOT09Pf39/d3c3h8NpbW3t7Ozs6+sbHBzs7e1FIaFoPxfs2BoZGRkeHh4aGoKNWmNjY7CrS6VSWa1WLO5NJtP8/DxaSvUa5XEkvt2UxutoniJREPHXFewH5+Xm5PEX6APxaTRaaWlpfn5+YmLi69evv/vuu5CQkJcvX0ZHR6ekpOTk5IATHxIau0l85NVpa2vjcDhtbW2jo6Pgx8dCf3Nzc2NjA1wua2trKysry8vLyMu/srIil8vn5uaEQuHlo0ckEgl2xsKeWOB1R0cHm81ubm7GNqChoYHBYFw+eoR2SzU2NqIdXtA8eBsImgrJGCCyiMPhdHV19fX1QViOSCTa2tpCoCddBU3y+XyfUN4TxMfeEbgdC5eDBBF/p4Kdc5uwtjmOE9JlOHpByMCvqKgoLi7Ozs6Ojo4OCQkJCQl5/vx5WFhYbGwsIj5UBHRn5RZyEsCyLYvFQsRnsVhcLlcsFiPoazSalZUVpVK5sLCwsLAgk8nA/SIWi4VC4eTkJNjskO0A9t8C92H7650JcNxMnNnc3NzT0yMSiVZXV00mE+kW+YTyWLk/h2+b1fgcyLVzBxHvgoLdBXIAZRxP4Q5cPC1Uva+oqCgtLS0yMvL58+evX79+8eLFu3fvYmNjk5KSMjMzoSgV2mTrZmgmxGW2tra2tray2eyWlhYGgwFJDubn5+VyOXjhZ2ZmIA5ydHR0cHCwu7u7tbXVzmav/22CHSefsq4Rv6WlZWhoSCwWLy8v30b5y8vLra0t2JTrc+E1h2+c1ThQ987PBxGPox5mB97X7vbJSb2p2tpaGo0GKdrT09NjYmLCwsJCQ0OhGGFUVFRiYmJGRkZubi6ZTKZSqbhkTANvfktLC+SlaWpqgvD8iYkJgUAAhvzExMTAwEBnZyebzb5vWuM7O9x54iPKq1QqB5THCvZk+Zr2XK4niW83t936/PXDBRHvIT2QLnUTuARphodUU1NDo9GoVGpBQQEU5YiNjQ0PD4+KioqJiYmMjExISEhKSsrKyiooKCgpKYF64u5suEW+HSaTyWKxWCwW4n5zc3N3d3dfX19nZyeLxUJZjl07kYMOd0x8oPz09LTzlL+8vPzw4cP29jbKvUME4TV1nZzbrn8yiHivKSD72RNsxbFt+DbMHUFJEzqdXlFRUVpaCkX4kpKSoqOjExMTw8PDIyIioqOj4+Li0tPT8/LyUBJ89x07jY2NsCjK4XAgVAalqm9paWGz2cjb42ZW+hsnw3XiM5nMwcHBe1EebafSaDRyuRxSIxAH91wvEh/N7bt5ciPiA49BBJe/dziaP+6g4U7h21qPNtV5wcotOHaKiopycnLS0tISExNjYmLevHkTFhYWGRkZGxubmpqKYjTdKc+EBI4d8OYjuAPxURgPBMm4Y+Yj2fU5EB9RfmlpyXlb/ujoyG47Fe+38jXn/ym8ZqxrM/zen/FMY4K6WX7X4b7iJo7t937jbxRKrlBSUlJQUJCZmZmYmBgREfHmzZuoqChYv01NTYX129LSUlT/xJ2TgpkPxadAjCvBk4DNZrNYLDD8cYF+/RX3BwcHLx89uhflIW3D+vo6yqTPu0W+hvxvhNdcdXmG34MqfgegABDB+9w7hryTwvGKfHshYOPT6XSUYiErKyspKSnqSu/evYuLi4uLi0tLS0Prt+6nW0DefPDhgKUPfAfoM5lMWNp105tfX1/PZDIHBgZEItG9KP/hwwez2QwZNOfm5iBDsmP5mvC/ES5T1H3Z+W/ueKvn2xPUb0S0PicCE29TwFxjbW0tOHYoFEpRUVF2dnZKSkpsbGxcXNy7d+/evXsHC7nJyck5OTlAfNiH5aZjB4VptrW1tbW1tba2wmotg8FAVWdbW1thXfe+xG9ubgbKK5XK/2P6o0fo322gPzk5sVgsOp0OCqQIhcI7KU9A1oPwmp94ySnuEw1AD0Gu+ODwPjthKX9dOF64D6+itrYWip8UFxfn5eWlp6cnJiZGRUWFhoa+efMGET87O7uwsJBCoYBXx/0U+QB9FKYJe6kgjKe1tRXtz4I/3Ql9oLxQKHRAeezmWCSogrK8vAyJ0pykPJFxzyUe8Z1VEPo+kTe73b8Qf10B0A/gyq+oqLBz7ISGhkZGRr59+zY6Ojo5OTkzMzM/P7+kpAQyLrhfAwsyGTQ2NnZ3d3O53NnZ2fn5eUh7gI3dRCkQrkO/ubm5v7/fScojnZ2d2Wy2zc1NLPfvC3oi457rv8T/Igh9H8lz3e53hrwzwrFzvNxycOVDIRSI2MnOzk5OTo6Ojo6IiAgPD3/z5k10dHRCQgLEaBYXF4Mr382Ina6uLi6XK5PJNBqNxWI5OTk5Pz8/PT09PDw0mUzgzW9paUHQR7hHlIdSgk5S/vz8fHd3d3Nzc3V1dWFhYXp6GlHbHe77Guy3Cq8J6RsFoe8T4djtgYf46/LfvqqrqwPHTllZGZlMzsnJSUlJiYmJiY6Ofvv27du3byMjI2HxFojvch5NO8pfXFxcR/Pe3p7NZoNFXfDtwP9DQ0NYyv8f6C8vHVD+4uJib29va2sLKC8Wix2w2wXu+5rqjoTXbPSZgtD3iVx26z8ExN8ofHvea82G2rbl5eXgyk9LS4PNt6GhoeHh4fHx8fHx8RCuU1RURKFQoLj5nWZ+Q0MDeGxkMplWq7VarTdSHung4ABSJVut1rGxMUi6oFKptra2nHTafP78eX9/32AwrK2tLS4uOqa8O9z3NdLvEF7z0JcKQt9XcrLnHyzl7YRvz3unzRCjCZtv8/PzMzIyYB/Wu3fv4uPjo6OjgfjZ2dkFBQXFxcUA/RstfaA8j8dDlP/06ZMDyiNZLBYogLWzs2O1Wi0Wi/Ouedj+qlar5XL5zMzMvSjvAvd9zfO7heMk9JmCxPehbuz8IOIdCMee93QnI1c+ROWDKz81NRXS7MTHx0dERMTHx6ekpGRkZOTl5ZWWllZWVtJoNET8hoaGnp4eHo+3sLAABcGdpPynT5+Q4wWqVqlUKqg9CwVpHVD+6OgIVQZHSQ5w1G3c9zXMnRJe08/HCkLfh4LOD1LeeeHb+Z5urV2MZmZmZnJycnJyckxMTHh4eExMTGJiYlZWFplMhkCduro6sOUR5T9//uwM5T9//nxwcHCj44XP52MpDyu62M/C9letVqtQKCQSCe6Uv5P7via5s8Jx7vlYQeh7WXaID+L+vvLQQOCuurq66upqZObn5uampaUlJCRERkZGRkYmJyenp6cXFBRQqdSOjg6pVLq9ve0M35EODg6MRqNarV5cXLRzvGApD69AuhudTmez2Q4ODqBY+W2pbLwgBH1fk9xZ4TXrCKEg9D0tx3AJQv++8trQuCNIpUmj0SDHTn5+PqTSjI+PT01Nzc7OzsvLo1Ao9fX1EonEScofHh4C5a+7169T/rpkMplSqYTK4J6n+h3iYsrV+prndwjH+UYUBaGPr+7LkSD0XRC+44V78yDdAmzFKi0tLSgoyMnJycrKSk9Pz8/Ph/z4NBptfHz8w4cPjil/2yKqM5QnphBMsU4eHzLdsXCcaQRSEPruCM1a3MERlAPhPoL4Ng85dsrKykpKSshkcmFhIZlMLi4uLi0traio6Ozs1Gq11yl/fHx8PVM8yH8pj3QdqQTnPo7TjFgKQv9e8gQjgs8MF4TvmOLePIjUpNFolZWVVCq1rKysvLy8oqKisbFRKpXamfN6vX5paSnwKI/kAKyE5T6OE4xwCkLfgbxjyAeh74JwH2XcW4hCNqurq+H/yclJbOSMVqvFhtkEEuWRnMErAbmP4+wiooLQx8onvpog9F0TwccdAu0ZDEZfX59AIFhfX0e4Pz8/5wUo5ZHuBVlCcR/HeUVEPXDi+7tHvu5Kdi+i3T12b0DVWWtqauw+YvfK9bN4ov3uC9/JgEuTsPtmf5PH5rd7X33NZA/KNdQShPs4ziiC6qFBn7CIv7NV2Gra33777bfffvv48eMnT558++23X3311ffff//69evo6GhI2fjrr7++evXq3bt3P//887/927/l5eVB8t6IiIjQ0NCnT5/++OOPISEhoaGhVCr15cuXT548+eabb0gkElqBhO/bhhcAACAASURBVErcX375ZU1NDTw/IBVMTU1NdXU1vIjaBgnFfPJgIMLcsMuBcxvlwZ/jayB7Vm4C1+fcx3E6EVeBDX2/MOTBjiaRSH/4wx/+9Kc/ffnll3/5y1/++7//+8cff/zqq6/+9V//NT4+PiYmJioqKjExMTk5OSUlJSsrq6ioiEqlQnJ22PhTWFhYUlJSXFxcUlJSUVFBpVIpFAok8s3NzYUwwfLyclSoLzs7Oz8/n0wmZ2dnZ2Vl5ebm5uXlZWVlZWRkJCQkREREREZGxsTExMTEFBQUvH///tdff33y5Mkvv/wCDx4qlQolPsBb7X7ZbpeF74Rx5oxYyms0GgeURzo7O/M1kD0rvLDrQ+7jOJEIrQCDPvERD5U0Kisrv/766+++++7JkyfPnz9/8+ZNbGxsenp6Tk4ORPWRyWQymQw/oCJK8HgAkx8EtfewdTbAVIf8LQBi+AhEjsP/lZWVKIkj+IIgnByqdkDMSXl5OZwd/s/Ozs7OzoYHA8oM/Pbt29DQ0NevX1MoFIhExPqIampqHLiMcJQX5k9DQwNkLZ6fn3eS8kifPn1yP08ZkYU7fH3CfRxnEdHl19AnMuL/5V/+pb6+vq6ujkajATffvn0bHh4eGRkZFRWVkJAAGVeoVCqAGHGcRqOhlFs3HtkFg/pGvz968fqJ4FmC2lBXV0en08vLyykUCjwYysrKSktLi4qKcnJyMjIyMjIyIiIifv7557/+9a/ffPPN48ePS0tLISm8d8x/3CcVUH5yctIFyp+enlqt1o2NDaVSOTs762sme1CeQ7CXuY/j/MFRnoKzf0GfmJT/93//9y+//PJvf/vbTz/99Pz583fv3qWkpOTl5eXl5eXm5mZnZ6MCeMBB7GeRGU7YlVIQ5AJDqq2tBTdRWVkZlUqFrwUFBQUob3BBQQGkhqfT6dgPesgL5Ilp5jzlP378aLFYNjY2lpaWpFKpT1LZeF8e4i+fz4cfvMZ9fCePm0KX7NlzePDo7omwiP/zn//89ddfP3nyJDQ0NDY2NjMzEyqalpeXwzacsrIyqIMByPN1kz0iFISO4tAhlySkjE9LS3v37h1wHzYolZeXl5eX0+l098t83yhcJpsd4m+j/NnZmdVq1el0KpVqbm6OCKlsvCl8mSsQCKanp4VCoUgkmpqawv7J09zHBVNuCnuN3jull87khIhDeaxx+uc///mrr7764YcfXr58GRUVlZqaWlhYCHnPaTQakB3ABza7r9vuJV2P2AHuw2IyZBLOzc1NT0+HvJJv374tLS0tKyuDxQnc2+PaZLtuy3/xxReXl5d2uD8/P7fZbHq9fnl5eW5uTigU+hq8vhEuqIVDTU9Pz83NLS4uSqVSiUQikUjsiA/yHPc9ALD7zT3fsNe3xCcO4uvr69FS55dffvk///M/P/zww6+//hoeHp6YmJibm1tWVgZkB7ijmEXiu2W8KWxQaUVFBbj+yWQy5JFPSkrKzs4mk8nl5eUeWuB1Zr7dSHmsgPLwp83NzZWVlfn5eZFI5Fva+ly4cJbP5wsEAqFQuLy8rNFoIPX/wsLC7OysQCC47VOe4L7HqOZo7vkM9HZN8fLpCEJ5sFJramp+//vf/+d//ud3330XEhIC5esyMzOLi4vpdDo2QgbFqgcR71jYKH7oYVQmMD09PT4+HiJNYYEXLQ/g5ei/cb7dSXmstra2VlZWZDKZSCSCN/satr4XLpDl8/ngwFEqlTs7OyaTaWNjQ6VSLS4uAvEdnxRf7nsScvbTz/eUt5NHG0QcxIMQX/70pz998803ISEh4eHhycnJeXl5ZWVlNRghEz5IeRdktw24qqoK2fs5OTl5eXlkMrmsrAxiQ8FLBp4x107X2dk5MTEhlUrX1tZcoDxW13n3wKHvPl7hOEKhUCwWLy4uGgyGk5MTs9kM9VucJD4IL+57jnhfEBb0WOHYOHS1uALEXSFb8j/+4z++/vrr58+fx8TEZGVlUSgUtKWIsIhvaGhobGxsbGxswAj9qampicFgMJnMpqYm9Hp9fX1jY2NzczP2leuHdfBXvNTY2AjNg8bUXqmmpiY9PT03N7eoqKi0tJRCoUAIUGVlpZM+n46OjvHxcalUurq66iblsbqReg/W2HeHqiA4ztTUlFgslslkarXaZDLBF6n5+XmpVDo7Ozs9PX29NKODY7rPfbxwd517hAY9Vu40lICIR0IEr66ufvz4cUREBGxhpVAoABdiuuMZDAaLxWppaWlubmYymfBDU1NTY2Mjk8lsa2vr6urq6enp6Ohgs9mtra1sNrulpaW1tbWtrY3FYrW2tra3t7e2tjKZTHhUMBgMeAN6BampqQnfxiPKQ0s4HE5HR0dXV1d3d3dvb29fX19/f39/f//w8HBXVxeDwaioqCgoKIACUsXFxeXl5dgtZlgB5SUSiQPKgyPe5cnsAH8PDfquwRQrOI5AIBCJRDMzM/B4XllZkcvlYrFYJBI5CGm98+DucN/l6XEj+vyG8nZyvt3ENOSvC7abUiiUly9fRkdHp6engxMZnAm+pbydfd3Q0MBisTo6OgCOfX19fX193d3dHR0dHA6np6dncHBwbGxsYmJiYmJicnKSz+dPTEyMjIwMDg4ODQ2Nj4/DrTUxMTE8PNzX19fb29vf3z80NAS/dnd39/X19fT0tLe3s9lsNptt92DAfm+AR8K9Luc2ykPLR0dHuVyuUCicmZmZnZ2VSCRSqVQmk0EFqImJid7eXjabnZaWlpubW1xcTKVSUTSn85THyuW7wDEEH46x7wLf7YQOBcQXCoWzs7NSqRQserv3uNwA17jv8vSwA6Cbx/G9HFyDXyC+/spTT6PRioqK/va3v7148SIuLg6K0oHx6GXQAz0bGxubmprASEfGNYPBQDQfHx8XCAQCgQB9vYWpOTk5KRQKoZbp8vKySqVaWlqSyWTz8/MSiUQsFk9NTUkkErlcvry8LJfLpVKpUCicnJyUSCQymWxxcXFubm5mZgZrTPH5/PHx8eHh4YGBgf7+fniutLW1gWuIwWAwGAzUVMeX5oDyY2NjXC4X7vP5+XmFQgERGjqdTq/X6/X6ra2t7e1tk8m0vr4OW1UnJyfr6uqys7NpNBqHwxkfH5fL5dvb2/8E/eWl411Rl5eX4CN2+RZwhoYBz/17cP0WoUPx+fypqSmY2I7f6c6p78t919gYOKDHCl2PvxjySLAtiE6nl5WV/e1vfwsJCYmJicnJyYHSoyirjBdaAj50NpvN4XBaW1tbWlqQZ4bNZnd1dQ0ODk5MTIhEIuCyXC5XqVSwigUoX1xclMvlcrlcoVBoNJrt7W2bzWY0GtfX1+FLMXw7ViqVS0tLGo1Gr9evr6+vrq4C9KVS6fLyssFg0Ov1KysrCwsL09PTs7OzS0tLKpVKoVDIZLLp6enx8fGJiYmxsbHh4WFAP4fDaWlpYbFY4CxqaWlpbGy0uzTHlOfxeNcpr9frjUaj1Wo9ODg4PT29uLi4uLj4/PkzwvTh4aHBYFhZWYGH0/Dw8I3m/G2Uh+2v8OSQSCQCgcDl+e88FgMV+q4xFyt0KD6fb2fBeFTOc/9ePAxAyiP5F+Kxgip0FRUVhYWFL168iImJyc7OhmRhNBrNC556cK+D86S3t7enp6e/vx/cKfDzxMTE1NTU7OzswsKCSqXSarWbm5t6vX5jY0Or1Wo0Go1Gs7q6Cla8Vqs1GAwGg8Fms52cnOzu7lqtVrPZvLm5qVarV1ZWdDrd9vb25uamyWTa2dlZX1/f2NjQ6/Wrq6sKhWJlZcVoNBoMBiisqlAo4HsAHBbioMViMZfLhXuSy+WC1Q8thzZ3dXVxOBw2mw3rrvAkcEx5mUwGZwfKb29vI8pj+X6j9vb2NBoNlAacnp6+M8kBbH/FJjngY+TyLXAvOAaese8+duE4aCDwOqzzcob7zmAwMEHvd4b8daHMZfn5+SEhIRERESkpKYWFhRUVFW7G/DlWY2NjS0tLe3t7b2/v0NAQgA99gYWfhULh9PS0WCxeWFhYW1sDQFutVpPJtL29vbOzYzAYNjc3AdZGo3Fzc3N9fX1zc9NqtX78+BE2fB4cHJjNZovFsru7C2b+xsaGyWQ6Ojr6+PHj3t7e1taWWq3W6XRms1mv16+trW1vb5vNZnibTqdbXl5eWFhQq9U7OzsbGxtA/JmZmampKew37vHx8dHR0ZGRkZGRkaGhoaGhocHBwf7+/t7e3u7u7s7Ozq6urt7eXkR5kUjkmPKOEW+nw8NDID6XyxWJRFKpdH19/cOHD9j3XFxc2Gw2SHIglUqnpqb4t8jlO8IFSgYM9HEBLhwKi3u8jnwvOeD+nTB0efIQVP6O+HpMWH1VVVVJSUlWVtb3338fFhaWlJSUk5NTWlqKikPhe15w17BYrPb2dvDMCAQCsVgslUoXFhYWFxcXFxdlMtnc3JxUKlUqlWtra2q1Wq/X22y2o6Ojvb09sNaB+GazeWdnB0APfhur1bqzs3N4eIgY9+HDB/DnmM1mQP/m5iZ6z+npqcVi0el0q6urer3eYrHAMff29vR6vVar3d7eNhgMarV6dXXVYDBotVq1Wq1Wq2HJVCQSiUSiyclJuEXhfpicnBwfH4dVYvh1cnIS/sTn85EnSqlUuk95O+Kr1eqZmRlY0hAKhUqlUqfT7ezs2CU5uI3yviI+LyCMfVw4C4eyC7XE5ciu6Ubo38jDgAJ9ACAeK8g4DyndCwoKvvrqq+fPn8fHx2dnZ5eUlKCYS7xwD6usjY2NLBars7MTXBmTk5MQXwyudvCPr6ysqNXqtbU1+MFgMOzt7Z2enp6fn3/48GF/f99ms+3u7losFnDFWCwWoD/4uMFmB9P+4uJif3//6Ohof38f4pfNZvP+/j6Y+fv7+58+fTIYDFardXt7W6vVwhcIq9V6fHz84cMHo9EIDxv44MbGxubm5tbWFiz/grt/dnYWzHwgOw9jlwHieTze9PT0/Pz8wsKCXC5XKpUqlWp1dRX8UQDiw8NDaLD72tvbW1lZEYlE8CgdGhpCuzSdpLwPiQ/yX+7jglcPHdZ92XH/i4D02wQY5ZEA9xUVFSUlJRkZGT/99FNERERaWlp+fn5paSm47PHCPdrf1Nzc3Nra2t3dDUE14I5fXFwEyq+urqrVaohCMRqNRqNxa2vLZrOdnZ1dXl5++vTp5OTk4ODAarVarVZEfHDv7O3twetHR0cXFxfAvpOTE6vVCna91WoFz4/JZNrb2zs8PNzd3T0/P9/a2lpbW9PpdPADwH13d/f4+BjWMMHTAob/1taWxWJZXV2FR9TS0pJcLpdIJFC4Y3x8HBDP5/ORSwpoq1QqNRqNwWCA1u7v7x8fHx8fH5+fn+NCeaxMJpNCoeDz+dDPTCaTw+H09fWNjIzwMH5hIhMf5HfQxwusHjosLiL9VjiS1mcKVMRjVV1dDZX/8vPzExMTQ0JCoqKiMjIyCgoK7HKyu38uwD2sWHZ0dAwMDIC3YXp6WiqVyuVyMOS1Wi144ZEZfnx8fHJyAqw/Ojr68OHD4eGhzWYzmUxAcCC+2Wy22WwHBwf7+/uHh4fA0KOjo8PDQ/C2r6+v6/V6g8EA4Yw7Ozu7u7sfPnz4+PHj5uYmeJBUKpVGowHvCrwTPrW8vCyTyVQq1fr6+s7ODpj5i4uLKGRTLpfPzc2JRCLkwOHxeAKBAHn2hUKhQqHY2tra29v79OkT7ny308XFhU6nm5ubGxsba2tra21tbWxsbGtr6+npGRoa4vkV8Xl+ZezjhVQPHdZ9kW4Rjuz1nm68APdhRzQBxCHssqioKCsrKzo6GgJyYAMt5LbEMdMZ2qTKZrN7enpGR0ex/nqlUrm6urq+vg4mttFo3NnZAY8KgiOsuMJy6+7urtlshqVaWIM1mUwWiwVs9uPj47Ozs4ODg62trY2NDZ1Op9FowP2ytram1Wq1Wi3ylcNK7MLCAp/PF4vFc3NzJBIJwnsg9B6AvrCwAAsJGo1mc3Nzc3NTpVLBLkeJRAKOGolEwufzR0ZGRkdHwbEDxBcKhUKhcHFx0Wg0wtcUTwsi6FUqlVAo7O/vZzAYdDq9vr4eIlmHhoa4VzFFTorH47l8T+EIU+JDHy+qeuiw7ui2ZVvub58BeGDYk3LmMeU+74gjlA+HRqNBhW4ouPHq1au4uDg73OPozGEymRCG2NfXB24cwCtsdFKr1RBRYzQakXMG7HowV09PT/f29mBVFvz1sIIKG45gfdVms8EXAgi2gTQjMpkMVoDn5uYWFhZghUChUCwsLKAtVwKBYHJycnh4GNaNp6enSSQSn8+HyHpYhgUjfXp6emZmRiKRzM7OisVi2KkrEonEYjHQf3JycmhoaHR0dHx8nMvl8vl8IP78/Lxer/cC6z9//ry/vw+OKalUOj4+3t7eXlNTQyaT6+rqWlpaOjs770t8gI7Ltxi+SCWysY8jXj10WBfkAPRI11nq8mzxiFxomfvUI4LscF9QUJCamhoWFvbq1avY2NisrKzCwkLAPY5LtQj37e3tnZ2dkP4F+e5vjEQ8PDw8PT0F7w3yyxuNxo2NDVgyNRgMW1tbW1tbWOhD5AyyzYHjXC6Xx+NhQ8t5PN7IyEhvb29nZyfkzGlra4PUC52dnZCMoauri0Qisdns9vb2np6egYGBgYGBnp4eWGfu7u6GtA2QzWZwcBDiL4eHh4eHh+FXeFQA8ZVK5fr6OlpU8BDoT09PDw4OdnZ2IIGiVCrl8Xh9fX0MBqOkpKSwsLCmpobJZHZ2dg4PD/Oc8+pguePy7eYJthKQ+/hy1kOHdVJYQjrzfjfpSlC5zz7f6kbcv3v37vnz59HR0RkZGbBUW1FRUVVVhWMZ1aamJsg4xuFw2tvbOzo6uru7h4eHuVwuuETAq2MHfYvFAsH1er1ep9PBpipY0QVHP/jiIRZ+aWkJimyAqd7f39/V1QV7miAZDkCcw+FwOJzm5mbUNuRrYjKZDAYD5W9AySmRJwoSVYJg2Rny58C+35aWlra2NngeQO6dkZGRiYkJmUy2u7vrOdB//Pjx8PAQ4ov0er1Go4GugJCh4eHhtra2qqoqGNyamhoWiwUuNa4TNr4d0Vy+cTwHWeJAH3fmeu7IDnQvymN1fdADhPu4ENAnuu7MSU9Pj4iIePbsGRQQz8nJgfyXUFQWL+JD9hsmk8lms9va2jhX6uvrGx0d5fP54MpfXFxcWlpC0Af/O+yYhdQ34FiHcEYIjJmbm4MEUuPj4/39/R0dHZDEBvgLec0gE0NLS8t9k1miXMp2r6NX7BIp19fXo8dAd3d3f38/n89Xq9UIzTD1caH82dnZ0dGRzWbb2dnZ3NyEByF0jlwuR7gfGxvr6upqbGwsKiqKiYkhk8n19fVtbW3Q89y7iH8dai7fNR5FLRGMfdzJ67kjX9d9zfkbddvQBwL33aCfz4TFPSzVZmRkREZGhoSEvHr1Kj4+HmxAyLBYWVmJV3I0wD3Yy1jiAxkhSBw59BcXF5Glv7a2plKpgF/z8/Nzc3PI4c69yl7Q3d3d2toKKMdmKgYL/TqR3RHJuZCt9vZ2Lpcrl8uhQsX/UR6Tx8Zlyp+fnx8fH+/u7ppMJthFjCivUChgYRn2qQHux8fHe3t7W1paKioqUlNTExISKBRKU1NTR0dHf3//ncS/kWsu3zJeYK4PoY8TeO3luSOD3Kc8Vo4ngH9zHy+IeFm1tbV0Op1KpZLJ5KysrLi4uDdv3rx48SIyMjIlJSU7O7uwsBC5dHAJ0cHyF3l1OBxOW1sbJJbp6OiAJURI+YtWViH9GZjwPB5vYmJidHR0aGgI8hJfz0SGTudOa+/UbdBvbW0dHh6enp5WKpV6vf465V227i8uLj58+LC3twf7xdbX1+FBCJSXy+WwGxmeiFAHAxJ/Tk5O9vf3t7a21tbW5uXlRUREZGZmVlRUgBMfiM+73Y9/G9pcvmW8Q14Hxj7/aj+Eg6tzTbjg0pvCF/QgJ6eBH3Pfo2TxhAD35eXlJSUl+fn5aWlpUVFRoaGhYWFh8fHxUDiJTCZDijQcM2JCAD7KCgllRsDZAgmEORzO4OAgl8udmpqCVJRSqVQsFvP5/NHRUXDHQ85hL9SWcl6tra1DQ0NQX/S+lD8/Pz87Ozs/P4dsl3aB+WdnZ7AjzGQyGQyGjY0NtVptR3mIMgLKQ9TQzMzM9PS0UCiE70ADAwMcDqexsZFCoSQlJUVEROTm5tLpdNjyNjQ0BHsF7oV7HuGJD7LjPvbSsHmzcRGO0PSocPHbONC9JoO/ct/XzLmHoFgV+HMKCwszMzMTEhLCw8Nfv34dHR2dkJCAdenQaDSw8XE5NdpyxWKxUP2pJoxg8y1gCGLYAfSdnZ0sFsuFKiKeE6K8QqFwzZY/PT3VarXLy8uwqRi29ULqCLPZbDabIacbJPJEHhu5XA4eG5RcCFFeLBZPT0+LRCJIf8blciE2tLOzs7m5mUajZWdnQ2V5Mpnc2NgILh1Iss+7ifiOAefyzYIjZJ0UiUQCxNsJR+J7Ap34yqOUx8qFKeGX3Pc1gpwS4B6SHoOBn56enpCQEBkZGR8fHxUVlZSUlJmZCcQvKytDy7bunxoVLQE/PhI42e2gz2azoYQILLQ2NzcTAfdsNhtRXqfTIcoj1t9J+YODA5PJtLGxoVQqp6enuVeoBQBBqD54tJB/BgmtYdxIeaFQiPJcAoCggFdPTw+LxaqtrS0qKoqPjw8LC8vKyqLT6RClMzw8jCJW74V7nv8QHy4HhmYKIxSh6/4pPM1Ql+Vpc/5GuTwx/I/7vuXRnaqrq6upqQHiI5dORkZGYmJiZGRkZGRkdHR0cnIyEL+kpATr1XH/7Ij4YOOjuoAQUWNHfBRgg32P+21wQUB5yIiApbydLe8A9EdHRwaDAVLuTE9PT01NQUJNPp8PCRggf/Lw8DAkT4YKi1wul8/nw+5ckUgEW70Q4rGUt9tbwOVyJycnYbNYX18f8uekpaWFhYUlJCSUlJQ0NjZyOBxIa2GX5c15Arp8m7hPWOeFHDjwNCWRSKjTkJnvJvS9RlLn5X3KY+UmRf2M+z6hkvMC6NNoNCqVWlxcnJ+fn5mZmZiYGBcXFxYWFhMTA8u2qC45ROng4sd3vGyLChaiRwLUEMe+wWs2PpvNHhwcFAqFcrncAeXtyI595fj4eHt7W61WQ20srO2MiA/1clGW/IGBAQg3Qpu8hoeHx8bGAMrwQYQqB5wC3KMQ1ebm5srKypycnKioqLCwsJycnKqqKiaT2dXVNTIyAineePfHPc8fiI/FPRKM3X1dWLfJJ0i9Tb4FPRIuIPUb7nsHSe4IiF9WVoaIn5KS8v79+6ioKFi2zcvLKy4uLi8vR2H4OO69slu2BY8NOHaQewe9BxJ+tbS0oM1QnoO+a5THCuIvNRoNVL+6zhQs8flXa9FoOxiEltbW1jY1NbFYLA6Hg/bxAvrB/YKAjsUNAhCy7gcHBzs7O1taWqqrq/Py8qKjo0NCQhISEkpLS+vr69va2sDARxk9XaCey/eIa2y9rxDu7Rz3cJkwmm6ewldIxconfhvHwo+mfsJ9DyEJF9XW1lZXV1dWViLiZ2RkREdHh4WFRUREJCYmZmVlFRQUlJSUlJeX41vfCmx8VNsPLdsybhK8B/s2T/jxsZTf2NhwgfKnp6cmk0mr1UL9E+Qvvg33/Ksi1OPj44ODg5Cngc1mNzU11dTUlJeXl5WVQT5q2JkMG3ehKtbw8DBK3gAPAGwpFS7GmTM0NNTR0QHp0gD3z549e/v2bW5ubnV1dUtLC+yzvZ61/15y+QZxk7NOyhkr3h3o+46oXC5hzPkbhSNLQX7AfXzBhJdQnRPIh1xUVJSTkwOBOhEREdHR0SkpKYj4sPeqqqoKLyc+8uoA9NGSLKI8lv7Nzc1ofyy+Lh0WizU4ODg1NeUy5c/OziwWi1arVSgUUDP2uhxAXyAQwJoqttB5Q0NDVVUVhUJBxIenI4PBQPY+yg8xMDAAORvA4YNsfzDte3p62Gx2XV0dlUrNycmJjo7+5Zdfnj17lpaWRqPRGAxGR0cHembw3AhLd/nucBmyzssx6LFyzdj3FUyJDHokHEGKFdG5jwuecBRatsU68dPS0uLj48GJHxsbe9veK/fPDrhHFQ2xwfgI+ljiw7It8vyAV8fls7NYrIGBgampqcXFxfX1dRcof35+brVa19fXlUol5EC+U7dBn8fjAfEHBgYgfVtrayuDwaiuroZuh7UTKDlZXV1dX1/PYDAgiVtnZyckd4Pcc7DwC8naent7Ozo64OsCnU4nk8np6emRkZGA+7i4uPLy8oaGhra2tv7+fvDgc6/8Oa5R1eVbw7XTOS8nWY/VvaDvZYAS0G/jWDhS9LoIzX33QYmvIDSzsrISDPzc3Ny0tLS4uLj379+Hh4fHxcWlpaWBE59KpeKeDR8lKYPFyfb2dsivAEBHTnz0SEAJGOAN97Xx3af8p0+foMb30tKSRCKx8wW7DH3eFfGHhoaQmQ8eGAiOqqysrKioAA8PrJ/X1NRAkXcIWu3p6ent7YVi6BDDCpnd6uvr6XQ6hULJzc1NTEwMCwt78uRJSEgIZNGpra1FEZkokee9aYqRy/eFOye9Uy7gHuSkse81bvoX5bHCEaG3iaDcdx+U+AqVMywtLS0sLMzJyUlNTY2JiXn16lVERERSUhKkR8bdwAchx3RHR0dHR0d7ezugys63Y7dsC18CbktkZiegvEAgcJnynz9/3t3d1ev1KpVKKpViw/jui3sEfTvu83g88LYj27ytra2xsRG+e5WWlpLJ5KKiosLCwvz8fLSKXl1dDZePPGPQLfDVDcJti4uL4SkeExPz8uXLf/zjHy9evIiLi8vPz6+qqmpuboZU+ODBd4Wmv5XL94X7p75NLuMeyTH3Pc1KvzPnbxSOCHUsInIfL1y6L7T3qry8HIiflZUFlmB479v/MQAAIABJREFUeHh0dHRqampubi6Ky8QrXyYiFPJHg8A4BabDPiygGII+CG3Ruo34LS0tQPmFhQWtVmuz2f4J+stLJ/PY7O/vb25uLi8vz83NXae8y7jHch8Lo8nJyfHxcTDze3t7IWMz2gtdXl5OoVCKi4sLCwuzs7PJZHJ5eTk8DEpLS8vKyqhUKnqluLi4qKgoPz8/Ozs7OTk5Jibm3bt3z549++67716+fBkfH19QUECn08F9j63N4jITkVy+Kdw/9Y1yk/VYXYe+RxEZAJRHwhGeTopw3HeTmLgIQnTodDqKy8zLy0tNTY2Ojg4PD3/37l1cXBxsvCKTybDVFvZeuXY67Aot5MgEH3R3dzeEnUCFkNHRUVhmBDMfCaCPQnpQaCY6fktLS39//82Ux5jzjikPRRChMBakoHEgl1l/Hfo8DPHBmw+hmXY2O5lMTk1NzcnJycvLy8nJyczMTE9PT09Pz8jIyLxSWlpaSkpKUlJSYmJiVFQU5MJ7/PjxDz/88Pr168TERCh7wmAwIDUpRPdz8cA9j5DEx/FoWGPfQ3AMJNAj4UjOe4lY3MeJ2y4KLQNiXTpZWVlJSUmRkZEQl4nWbLFxmfcy8FHZECzlURESwA33Ki+mRCKZm5uDQJfBwUGw5RHx0bIt8uqAR8gZyjsG/eHhIdr+KhKJHFMeR9xjoc+7Ij7wF8x8VH6rubm5pqamuLg4PT09OTk5ISEhLi4uOjo6MjLy/fv3sOICgVWgqKio9+/fv379+unTpz/99NN33333888/w4Ciuobt7e1oey3E5+Ail28HvBqAFb64R/zCHceB4bdxIByx6YIIxH3PAd0ZAfRhbRCF4SckJEDKzISEBNh4BQY+wv2dxL+R8p2dnTdSfn5+Xi6Xq1SqtbU1jUaj1WpXVlYWFhZEItHo6Gh7eztEZKK8+VBLZHR0VCQSAeWtVqsLlD8+PjYajWtra5DkwEnK4457BH0SiQSB88BfyPyMNmE1NDRUVFTAIzktLS05OTk+Pj4mJiYiIuLNmzcRERGxsbExMTFhYWFv3rx5/fr18+fPnzx58t133/3973//8ccff/311/j4+JycHLTTqru7e2BgAAVx4ohFl+8FHNvgCdkhDBc6BzblscKRmS6LEND3BtcdCm28IpPJKEonNDQ0Li7u+pqtAw8+ojzkxrGj/NDQ0I2UV6vVGxsbBoPBZDLt7u7u7+/v7+/v7OzADlWRSAQlO3p6etAR5ufndTrd7u6uC5T/8OEDNsnBfSnvIdxjuQ+3Bw8TqQm7sZhMZk1NDZVKLSkpQQ56WIyNi4uLj48PDw9/9epVSEjIkydPvv/++2+//faHH3549uxZaGhoZGRkenp6SUkJnU5vamqCOE6I3Mcd97wAJf5tIHOB1wFvzt8oHJnppnzPfe8S/p/ChnMgl05ycnJERER4eDjk0oE129LS0hu32jpDeR6PdxvlzWbz/v7+ycmJXfL38/Nzs9msVquRJx0OIpVKXaA8bH9FSQ5cprxHWY+FPiAGzHwold7b2wu5FtAqLpVKLSgoSE9PB0/9+/fvQ0NDX758+erVq9evX4eGhr59+zYyMjIxMTEjI6OgoIBGozU2Nra2tkJmHs/hnvfAiA9yht0PkPJY4QhM9+V7J48PcV9ZWQmWI+TSiY+Pj4iIiIuLi4uLA5cOEB9tta2vr7eLlXSN8p8/f3aA6ZOTE71ev7CwIBQKIT3kvSj/8eNHs9mMkhy4SXmv4R4LfSA+rOJCMhwOhwPJ4+rq6iorK8ELl5ubm5mZmZqampiYmJSUlJycnJKSkpaWBqCnUCh0Or2+vh689r29vZCIDdZpuR7APS8Qie8M0W6j+QMHPRKOtMRLPua+l4mP1myRSycvLw9y4kM5pISEhMzMTCA+ZE+rq6uDzf3YGJu+vj7I4svj8YRC4ezsrMuUt0O2Tqebn5/n8XgCgUAkEonFYhKJZLFYbvvI+fm5xWJZX1+HJAd4Ud7LuEfQh1VcEPj0Yfdse3s7gj48sCHIqqSkpLS0lEKhUKlUqF4AKRng2QxFToaHhxHuPcdHl28BzzXJTTnPNSD7w/TbOBaOqMRXvuS+96FfXV2Ncunk5uaClyA2NjYqKgpy6ZSUlMDGTlg7BdCDLX+d8svLy+5QHiuoAyWRSFCaF1in3dzcPD8/R2+7uLiwWq1QSAS7/dV/WY+FPvAC0D88PNzX1we7aiFOHxbGIXYTW0IA9ijANmbY19bV1TUwMDA6OopvFOZtcnn+e7RVLst5qAVB70A4ctITeijER3GZRUVFeXl5GRkZSUlJ4eHhsbGxubm55eXljY2NAHrw/46OjnK53OuU1+l0BoPBYrHs7++fnp66gHg7HR4erq6uTk9PQyUQ4D4ks1xeXoZagHZJDgIJ9/yrmELSVQAPrOJCpsyenp7u7u6enp6+vj5Iq9DV1YWtKwD5KlCStcHBQZQA2QuIdHn+e6Ft99WdILuN8kHu2wlHTgaUvIZ77LIthUJBXp2YmJjY2Nj09HQqlQr77yFkWyAQQNU9LOWNRiOOlMfKYrEoFAoej9fV1QW+I5QRHlzbXC7X06z3Ie4R8blcLkB/dHQUtsVCJgZUJGt4eLi/v7/nSt3d3Qj0w8PD8BE3c2HeVy5Pfi+07b66jV9O2vJB6CPhCMlAk9dwDxmSUaBOdnZ2UlJSfHw81Lqqq6vr6+sbHx8XCoVzc3NKpVKtVuv1eqD8wcHBx48f8aU8VjqdTiKRjIyMQB5NyAjGZDJh+XFkZGRycjJQWX8dzQB9LIYgJTK4+KFOFqqZBQnRIMf9bQf0qFye+V5roZO6ji0XnDZBY58bxP2d8jTu7ZZtIblCVlYWBOdAMB+Hw+Hz+bOzswqFQqvV7uzsHB8few7xWB0eHqpUKoFA0NPT09DQAE2trq5GxIe62wGMe/4VoNGvAA5EookrQVYGVASR+1vK2x3NO3J52nuzkXcK0QoX7/wDhz6ObAxYeQH6yIkPSRkhIyOZTC4tLW1qauLxeDKZbGVlZXNz8+DgwDusv7y8PD4+1uv1UqkUDHwIQ6RQKFCFFRF/YmIigHF/o3hXmby4XC4qcYW8844/6E25POe93E4H4nogqvJhGvs4IjHA5VHi118t21ZWVkK+dci2CHH3NTU1/f39S0tL6+vrZrMZdx+9Ax0cHGxsbMjlch6P193dXV9fD0vKZDK5qqoKBZUPDQ15gvheY7dr4vF4/Kt9uQAmJz/lZbk8573f1OvydLDNA+E+jiR8QPI09MFbUlVVRafTodQG7LFis9mzs7NGo9Gbpv3l5aXVatVoNDKZTCgUDg4OtrS0VFRUZGVlZWZmAvHBxofaHbh7dTyMazxFclgvFyufQNPlCe+T1vIwlPcaiwMV+jjS74HK09AH9051dTXkzIE0yJOTkzqdDhv27jl9/vz55ORkf3/faDQuLy9LpVI+nz8yMtLR0VFXV1dUVJScnJyWlkYmk6urq1ksVmdnZ39/PyTYeZi4BwGeHL/HVwB1ebZ7uZ2I8ugVb8IxkIx9HIkXlDegX1dXB3t2WCxWb2+vUqn0NOhPT08PDg4sFovBYNjY2FhbW4MtVFNTU2NjY729vUwms6KiIjs7Ozo6Oj09vbS0tK6uDtLCgEuHixPxvQNoD8kx9L0MUCSXp7oX2oY15+3+5BNW+i/0cURcUPbyKPGbm5v7+vqg7qtGo9na2iLdVTPENX38+PHw8NBqtRqNRp1Op1arV1ZWlpeXl5aWFArF/Py8SCSanJwcGBhoa2urra0FAz82NjYnJwf2grW3t/f390NxPi6Xy+fzHzLuQSQSSSAQCIVCkUjEv+oQ+JMXAHqjXJ7nnmvSbZQH+Rad/mXs44i1oG4V7pRvamrq7u6emJiQSCQrKytmsxmm3f+lKsNPZ2dnR0dHNptte3tbr9drNJrV1dXl5WWVSgWgl8vlCwsLc3NzYrGYx+MNDw93dnY2NTWVl5dnZ2dHRUUlJSUVFhbS6fTm5uauri5sfT6+e8T3JafdllAoFIvFEolkenqaRCLNzs5ikz/DexDR+A81OvNG0AO5eL4GvZ0Izn0caRaUU8KX8svLy0aj8TeUdy4npTM6Pz8/Pj7e3d3d2dnR6/VarXZ1dXVlZQUor1Qq5XL54uLiwsLC/Pw8VLwC+xSKHba0tFRVVRUVFUFCN0jsXlNTw2KxYM0WZdp5aKyfmpqCbc+Q32JpaWlhYUEqlc7NzcHATU1NQTFe9BGBQDA1NcV/SMS/zW/ja2Y6JaJBH0eCBXVvuUb5rq6uiYmJ2dlZj1L+4uICKG8ymTY3NxHlwWmjVCoVCgVQXiaTzc/PS6VSiUQClunU1BSPxxsfH+/r62ttba2rq6NQKJmZmVDXKScnp6ysrL6+nsPhQGIfN106PgO2SxIIBNPT01KpFJJbaLVatVqt0Wg2Nja0Wi1AH7g/MzNDIpFEIhEklxaJRMIr8R8A8R34bXyNzfuJCMY+jtQKyi05T/nx8XGgvMFgcIby16FvMpl2dnasVuve3t7R0dH1uiWfPn0Cj83Ozs7m5ub6+vra2pod5cFpA5Sfm5uTSqWzs7MzMzNisXh6ehpgBIliBgcH29vbm5qaKioq8vPzExISwsLCkEuHyWR2d3ejjGCIhoGK+6mpqdnZWZlMplQq19bW9Hr9zs7O3t7e3t6exWIxm81ms1mv18OKN3qUgrEPP0MPQycLBAJ3YHpfuTy973siB8uwSL5Fp8vyCfRxJFVQuOlOyqtUKicpbyf46+fPn00mk0qlWlhYUCgUKpVqdXVVo9Gsr6/r9frd3d2Dg4P9/X2LxbK5ualWq5FTXqlUXrflgfISiQRRHmxPcD5wuVzA/fDwcFdXF5PJrKqqKi4uTktLe//+PdTqo1AodXV1bW1tKAyfd7XzKPBYLxKJZmZmpFIp1O81GAxWq/X4+Bj7rD0/Pz89Pd3d3d3e3t7Y2FCr1Wq1em1tbXV1dWlpSaVSkUikxcVF6HNEfOxZ3MK5E3J5bjt5/Dspj5X3uYmXvGbs40inoPAXonxjY6P7lAcdHR0ZjUatVksikebm5mZmZsAjDD6B6enp2dlZqVQKJqdKpQLE27nj5+fn7Sg/Ozt7nfJIXAzue3p62Gx2XV1dWVlZdnZ2TEzMq1evIGMzjUZjMBjt7e1QmpWLyRsTGLiHFk5NTYnF4sXFRaVSCf43B4nqPn36dHx8bLPZjEbj1pV0Oh2qCw/jDv0vEomwPc/3W+LfC/QgL+DS0/Ic93GEUlCe1fj4+MzMjEqlgkhK1ygPNb7X1tZkMhlAAaI+wDaEu4WHsaaBGvA2sVgsFotnZmaQ5Q6/Yj02N1JegAkjAdyPjIz09va2tbU1NjZWVlbm5+cnJiaGhoaGhYUlJyeTyeTa2lrsxive/Q18n3DcSQmuAivFYjFkrNPr9Xt7e3cO3/n5+dHRkdVqBQ+PyWQyGo16vR58a0qlUiaTkUgkGA4YCLSo6zrLnZPLE/v6oZzx29wmT1DSV8IL+jhSKCivCt0Gl5eXzlP+5ORkZ2dnbW1tYWEBlkyxAlueRCIJhUKUhB3qX09MTEBWXgiORNEyvKsHAzwMsJRHRLuOOR4G9/39/RwOh8FgVFVVkcnk5OTkN2/evHjxIjIyMjMzs6ysjMFggEvHBQPfO9R2WYKrao4zMzNyuXxjY2N3d/fs7OzOcQTB/oa9vb3d3V2LxWIymQwGAxAfnHISiQSgD74dPyK+y5RHwoWPhJI7xj6O5AnKe0LmPDLqnaH8x48fTSaTRqNZXFwUi8VTtwtiPMDSh1IbUH5kcHAQqiy1t7ejykqQkH1kZASbjR3dbPCQ4P02Ehwwx+PxJicnAfeDg4MdHR0MBoNOp5PJ5JSUlLdv3z59+vTly5fx8fGFhYV1dXVsNrurq2twcBCbCjgAcM/n86H4u0QiAdzv7+87yXrQp0+fTk5ODg4Odnd3rVarHfFlMplEIgHog28HQd9ljDopd6a3m6BHwhG1hNK9oI8vf4LyhrBOG4R7Eon0xRdfOGDB2dmZ2WzWarVyuRw55e8UBPYJBIKJiQkSiQSVlTo7OzkcDpvNZjKZUE+VyWS2trZC9VQovAf0h5LZqDbTbfVUAfdQtZXD4TQ0NEBwTkpKSlhY2E8//fTs2bPIyMicnBwI0QEPPvpWwXcC974muVMCx71UKl1cXNTpdK7VHvj48eP+/j4Q32w2GwwG2OOmUqnm5+eB+PC9DfnZiEZ8RPkv8NuB5THeEkJ3GvseIVFQntM/PTYYvzzpWtVdu5v/4uLCYrGsr68rFArnKY8V4ACIPDg4SCKROjs729raWlpampqa6urq6HR6VVVVfX09ZOBpbW1ta2uDWudQmBC4D/8Do+3mIhy5p6envb2dyWTW1tZSKJScnByIxXz8+PEvv/wSHh6elpZGpVKRPwey4TtJfF+T3CkJMFH2RqPR5aR1ELSzu7trs9kQ8VdWVhQKBazAw8oKhOqTSCSRSEQQ4t84q/FqgCd5SxRd5z5uAArKC7rRY3Od8lhdXl5++vTJZrNtbGwolcrZ2VkXKI8V4JLL5Y6NjQ0NDfX29pJIJA6Hw2KxGAxGbW0tlUqtrKysrq6GSKGmpqampqbm5uaWlpa2trbOzs7e3l6oRgvufsA0WPQDAwPgGmpra2tubq6vr4dSJ5mZmbGxsa9fv/7pp59+/vnn9+/fp6amFhcXNzQ0wIItVNl1cteVj0HunKauts4qFAqj0ega60EfPnyw2WxAfIvFsrW1pVarVSoVRGdi19hhOZ1EIvmQ+Fi/zY1vwKsBvmGwL+QYEUERSw48Ns5oaWkJkk3iIkRM7hXx+/r6urq6SCQSm81uaGiorKwkk8llZWUVFRWVlZU0Gg1Mfkiw3NzcDK4eVIUc1Nvb29nZ2d7ezmaz4btCbW1tZWVlSUlJXl5eampqZGTkr7/++sMPPzx58uT9+/cpKSlFRUWowCH4c5CB7++sB83MzECc69bWlju4//Tp0/7+vtVqtdlsWOIrFAqZTAbf88BTB9yHtXpcvOSOdeM8d2Zi49UAX3PYG7LrXqepE5R3haW8A4+NM8KL9VPXwuSxxG9rayORSFVVVaWlpQUFBYWFhUVFRcXFxSUlJaWlpRQKhUqlgqunubmZxWK1/FZMJhM8QjU1NXQ6vby8HFiflpYWFxf3/v3758+ff//99z///PO7d++Sk5Nhhy2DweBwOL29veiLAs+hP8fXDL+HpqenZTKZSqXS6/Xu4P709PTDhw8Ql2mxWGw2m9Vq3dzcXF1dlcvl8/PzYrGYfxUOhN15y+VyPQ39L5ww528UXg3wNY09JcdgcYEhQXlEdpS/ry3vQJ4g/uTkJARi9vb2dnR0sFgsIH5ZWRn5moqKishkMpVKpdPp1dXVdDqd9ltVVlZSqVQopVtQUJCbm4tY//r162fPnn377bdPnz5FuIdCV5AHf2RkBHDPvd2f42uA309CoXBubk6lUm1sbFxcXLjG+s+fP+/t7SGjfnt722w2WywWi8WysbEBLh2pVDo9Pc3FBM5yrwKo4EWYgXgRFskdC+aLIPFvkZO9FzT2fSnPUR4r3HHP4/Eg9H5oaGhgYKCnp4fD4TCZTBKJRKfTqb9VYWFhRkZGbm5uUVFRUVFRYWFhQUFB/jVlZ2dnZmampaUlJycD61++fPn06dMnT558++23ISEhkZGRKSkpgHsWi8XhcLq7u4eGhlDNbt4t/hxfA/x+EggEEolEqVRqtVrXInMuLy9PTk62t7c3Nzf1er1Op9vY2Nja2jIajTs7O0ajcW1tDVw6EolEKBTyeDwUMQUBVNggWt5VnXT3hUAPv7o8n3FpjG/pjKNc68Mg970n71AeK88RH0Ju+vv7/3975/3XRLY28P0vd3PfLffqXUFFV5Dee+8kkAqkQSqkkkJoSaiiq0BogdCkioiCC4q67w/Pcu4YWhImmZnkfH/wQzOZzDznm5Nnznkeg8Gg0Wg6Ojpgpg80NzfX1NSUlJTk5uYWFRUVFhYWFBTk5+fn5ubm5OTk5OTk5ubm5ubm5eXl5eXl5ORkZmampaUlJSUlJCTcvXv3t99++/nnn3/55ZdHjx5lZ2dXVFRAG1u4VWs2m202G9K9Oypm9263+9mzZ9PT016v9+3btyG4/suXL2/fvl1dXV1YWFhYWFhcXPR6vV6vd2VlZX19fX19HZZpQbMBSOK7XC6HwwFLZm02G3wN+ySIsg5NrMS8jd+vQo7n0I7ED6pFfVtIMQOWfriIvOWJkKt70Cisrunr64OZPuR21Go1SF8oFLLZbJSIT09PT0tLS01NTUlJSU5Ofvr0aVJSUlpaWlZWVk5OTlpa2tOnT588eZKQkBAXF3fnzp1//etfP/7442+//RYfH5+UlART+5aWlra2NrVabTQaLRYLJHNg9IIrme56t9s9NjYG+ZzQ7ta+f/9+Y2NjcXFxenp6enra4/FA0TqPxwP2h0pHqN8ArL53uVywjQ6uo9VqhVWzF90duE+vsjyRkOM5SLdfAtW6Dh0StQDgyT5pUGt5IiS6nmj8wcHBwcHBgYEBSOjD8nmlUtnZ2clisWClTVVVVWlpKXGCn5OTk5KSkpqampmZmZqaCsUS7t2795///Ofnn3/+6aef/u///u/u3bsJCQkpKSnZ2dllZWUcDkckEsnlcq1WazabYU0nqt8ArowC3Y+MjExOTs7MzPh8vr/++itY3e/t7UGCHuohQ9E6VLEO9RuYPAetxXS5XL29vRaLBd62YRnVReO7AkjrByJ6RMjxHLzh/aHa20FDog0uBUs/ROhjeSIkuh75FA0bkD5sjoWdt7CUHqTPZrPr6+shcQ9T/qysLJjpP378OD4+/u7du//+97/v3r177969+/fvJyQkPHnyJCMjo6CgoKKior6+ns/nS6VStVoNVdJsNhskmmHogiuZ7nq32z08PAzLMRcWFoLN55ydnW1ubvp8vrm5OZi8o4p1xMIJUN8UimQgkPFh47RarYbVrn19fddo3e/boESPCDmegxb891Dr7qAgzwE3QwdT0Z9/zhINLU+EXN37SX9oaAjW7cAtXJPJZDQakfRbW1v5fD6Xy21sbKysrCwuLs7Nzc3Ozs7MzExPT09NTU1OToYa95mZmTk5OQUFBSUlJTU1NRwORygUwmpOrVZrMBhQiZ7o073b7R4fH//zzz9h9X1Q63NOT083NjYWFhZmZmZg7Q2UOB0h1MZxE6pvoqX3yPhOpxMaD2i1WtjAfL3xXberVYkIOZ5DfkYXQ3RP4tgPFrq5iyagaP/nexpangi5rr84zXe5XLA232az2Ww2q9VqNBphOxWLxRKLxa2trTwer6mpCWb61dXVlZWV5eXlpaWlZWVl5eXlVVVVtbW1DQ0NbDabx+PBfl1YuQ9rcmBqD3V4XOeuB5juerfbPTY29vz586mpqYWFhTdv3gSu+48fP66ursLKergNO3xF2UswPlxi4n6r0dFRp9PpcDh0Op1SqZRIJLDmtbe313mh3hHre25jXhcVxqfS4jdB4ni/PbRVWeShs9ivg1zd+2nF7XZDbqe/vx9u56K0PovFgsy+RCIRCoWwC1cgEPB4PC6Xy+PxYGsubMoFwPWQXtDr9SaTyW63o4LMzssqIVNlarJAxvf5fIFUvQeOj499Ph+4/sYutcRzBfZHzQ6dTqfNZtNqtbDVWaVSGQwGovGvUjyz5vgUG/0KyBviJMNU05GE/6SecZDoej/Jom+d5zl9KHEMaX2dTsdisWCLlkKhUCqVKpWKuOe2gwDU3oEyDGazGbL20MLQefUSTIosTSZjY2OTk5Ozs7MbGxsBrsH/8OHD8vIyVMUJpCk58Q+GCRme4eHhoaGhnp4epVLZ3t7e1tamUCgMBoPdbg9wLh+y9EMO5mCfiGqrXwKJQzusMFh5IcF40SNIdP1VbwDO8+2aqAU5lEuD+pomkwkVUENl9DUajUaj6ToHSivDQnuHw4Hq6bujZa39VcCiTK/Xu7Ozc3p6eqPu379/v7KyAn3JQ6hsDMaHJI/b7XY4HAaDoaOjQyAQEJM2aDXUjYQm/ZCDOahnodrt30HiiI4YUWLAa4ke0SPCqvvh8yQP3MV1Op1DQ0MOhwPS7pCNYbFYaI8uvBkYjUaon2w2m+HNAGb0UD/ZHRX1LwNkfHx8ZmZmZWVlb2/vw4cP19+5/fTp0+bmJpRBDa2sMfEcDg0NWa1WFPHQLlin01mt1sCN7wpJ+iEHc+BPQbXh/4HEgUwV0SbEH374ISpFjwif64nGB9DX6Aun0wntU6BbFqgfJW3glixM5wN8LiLo5zBjZSITExOwDH9rawukf1VTw8+fP+/v73u9XrRj1h18e0L4L8TpvFqthnaSfD4fGsQHa3xXSGn90II5wAen2vPRIHo/okaOUSt6RPhcTxTxRS+j4Tc0NDQwMMBisWDWD/d4Ayxnf/Fh3W73yMgIWoY4MjKCchRMZGJiYnp6emlpaXV1dX19fXd39927d0dHR6enp2i+f3Z2BmXu19bWUF374eAn+MTs/ODgoN1uNxgMnZ2dXC63rq6Ox+PJ5fLQjI8eP/A/Di2YA3lkLPowwWhXRvOk3o9w6/4qNbvOV1I6nU5I+IAR3MFYHj0gcQ8RNOqD7UVokxFVyr4lYPz5+fnFxcXFxcWVlZWNjY3t7e29vb2Dg4MPHz5Al9r9/f2NjQ1oVQjrc4ISsd8cHHZRQMt4sVjc1NRUWlrK5XJlMllXV1fIxncFI/3QgvnGh8WWDzfMkmYMiZ5IOLR+vaCJuAiWZ7FYQT3U+Pj48+fPX716BRUfX758OTU1BcV+oU4AsR83PAu8vVEg75AYHx9/+fLlzMyMx+OZmZmZnZ2dn59fWlqC8mdbW1vb29vb29vr6+uLi4tTU1PPnz8fGxtz35TPIeZtLjoRtlCYTCalUikUCqviUblcAAAgAElEQVSqqkpKSrhcbkdHh16vhyVSAYr70qcO5M9Ci+TrHxOLPjLQ36ExKnoE6U6/HnDZpb8KxPhoibrH4wH9ra2t+Xw+qAU2Pz/v8Xhgqoukj9SPmntQqvEgGBsbe/HixdTUFOylgi9mZ2cXFha8Xq/P51tZWVlZWYE2JrCxdviKnVauwIrbQGEMq9Xa3d0tlUo5HE5OTk5JSQmUJjWbzQ6H4zbGdwUm/dAi+ZoHxKKPMDRUaqyLHkGy0W/HpdIfGRmZmJiAzq5er3dtbQ2mt7u7u9Cxb2tra3V1dXl52ev1zs7OQslfKBn26tWrqakpeAOAf2EdC9UyD4jR0VF4e3v16tXk5OSLFy+Q9z0eD7zDzc/PE/fWwn8k6jUQ0QOoqzBM8EUiUUVFxZMnTxoaGiQSSVdXF5QmvaXxXQHcyw0tkq96NCx6qqCDXrHo/Ym41W8ASR98Bz1dvV7vxsbG/v7+8fHxl3O+fv36999/n5ycvHv3DpIbq6urPp/P6/UuLCzMzc1BKWCPxwN1xJ4/f+5nfHgi6pR+A3AG/vzzT9RnHF7Fixcv0PsZpLNQPgcI3PJEwPhWq7Wrqwsm+FlZWcXFxc3NzR0dHQaDAYzvvFBlITSuObzQIvni42DRUw6FtsWivxzK1H4ZsNKGxWJNTk5OT0/7fL7Xr1/v7e0dHR1dsxQdpL+/v7+3t7ezs7O1tbW2traysoISPjDrf/78OdQIQ5VkaH5fd3R0FJW6RAfsV/UMvZMNDw+HJnokR+hmYzQaYYJfWlr68OHDiooKPp+vUqmgs5hfR5RbctWhhhbJF18RFj1NiKR58aT+BqiW/P8YGRlBiQsWi7W5ufnx40eYyN/IycnJx48fj46O3r9/f3BwsLu7u7W1tbm5ubq6uri4CHkPqAiPOn4AsDeVarf/g+v7YnAjIyOwAAmEDj8knq6RkRG/vA1YKVjzwv8aHByECb5EImloaEhPT8/Ozq6vr5dKpbD3qr+/P4QHv55LpR9aJF98RVj09CHcFsaiDxTKBE/QFsxeoY/r/Py81+vd29tjsViBuB7x9evXs7OzT58+HR8fHxwc7O3twWR/aWlpbm5uenoadf8Ah8KtXfoYH1RF/Mnw8DDM5cfHx93f72VD8Y0+qbjOi1SHZvyhoaHe3l69Xi+Xy1taWoqKiuLj4ysqKoRCoUajgXu2ob2d3MjFzyWhRTLx5WDR0xPSpYxFHzTUGh8KucAKHI/H4/P51tfX3717BxIPVvp///33ly9f/vrrr8PDQzD++vr68vLy/Pz89PT01NTU1NQUZL2h2RNNjE+Und+vxsbGoEiO6/vbsKhUkev7nQ1g/KC87CTkcxQKhVAorKysTE5Ozs/P53A4CoVCr9fbbDbYFhcO4wNE6YcWyejlYMvTnNsLGov+VlCoe0hJQ1e/5eXlnZ2d4+NjosGDlf6XL19OTk4ODw93d3c3NzfX19chlY+MD83/IDlOB+P7iY/4c7fbDXc1AChBiqpPQwFqlFgn9psMMNvuPC9yNzAwYDab1Wp1W1tbXV1dVlZWWlpaTU2NWCyGCT60kwyf7gEk/dDC2HU73ZM7pjDXE7KvsehJgBLdj5y34Hj27BnUEtjd3f306dNFiQcl/a9fvyLjb2xswM3bubm5qXNQW1fU+Y9C418qPvf39W0gaTMwMOA4p/ccu90O6oef9/X1wRcBGh9KXPT391ssFq1WK5FImpqa8vPzHzx4UFJSwuPxYIKPClOH2/iuc+mHFsZY9IwjcHfjST2ZUKJ7KI3w7Nkzj8ezurp6cHDw7du3SyUelPG/ffuGjL++vr6ysrK0tDQ7Owt3btHNW+KmXKqMf6nv/NbbwIkaHh52OBzQRwxhNpuhyKjRaDSZTFB8FApKE42PTO2nbKR7uFsrk8mam5sLCgoePHiQnZ3d1NRELJ0WGd0TT0IIYYxFz0Suv9xY9GEh8rqH9DTcqn39+vX1iy+Dkv63b99OT0+R8X0+H+r1Ojk5Cel7pHuqCu9c6rhLV62A8aF2sfkcg8HQ1dWlVquhV4xardbpdFBf2mq1gvGd541oUEKGaG34LRRU0Gq17e3tDQ0N+fn59+/fT01Nra2tlclk0Nh2YGAgAvkcP34IKdWLRc9c/LSORR9eIqx72EkEe2i3trYC6fURiPThIwLR+GihztTUFJRXg4JrIHrkeiehY2IkdX+N6BGwCMfhcMCMHoleJpO1t7cLhcK2tja5XA7NIA0Gg8lk6unpsVqtfX19kPaBXbLEm7pOp3NgYMBqter1eoVCwefzq6qqsrOz79+/n5KSUlFR0dbWplarTSYT8d0i7JonAGEZ7IDHomc6WPQRIpLGn5iYgEX3MzMzr1+/vjRxH4L0P3/+fHZ2Bntxwfg7Oztra2uLi4uQ0pmYmHB/X0zNeX7fMmLGdwVZ9gBApc2gKXxHR4dYLBYKhS0tLU1NTQKBQCwWQ29IhUKhUqk0Go1er7dYLNBZrLe3F5rPQBoHHgq617a2trLZ7JKSkpSUlN9//z0tLa2srAz2W0FLW/Q+EU69XwKKzKAGPxY9QyGKHhs/EkRM96g0mMfj2djYODk5CVz310v/+Pj45OTk9PT08+fPp6en796929raIqZ0xsfHXS4XmrFCusPhcAwMDETA+MFaHgGHarfbYY6v0WgUCoVUKoVFNY2NjdAIHlrDw5RfJpOp1Wq9Xq/X63t6eqDbjMViMRgMWq1WoVCIxWIej9fQ0FBRUZGbm/vHH3/8+uuvGRkZlZWV6G6tzWajSveu7+/cBq4ALHrGcdXFxdIPOxHQ/ejo6OTk5NTU1Nzc3Pr6+l9//RWs7i9K/+vXr6enp1Am/sOHD8fHx7DzFlI6Xq8X9l49f/4csuH9/f2wwBH6LMJalzAZP4Tp/EWQ8aEjfFdXl0qlEolENTU1FRUVlZWVVVVVNTU1tbW1dXV19fX1bDZbJBKB9NVqNXQMViqVMpmsra2Nx+M1NTVVV1cXFxdnZWUlJSXFx8f/+uuvT548qaqqEggESqWyu7vbYrHAxwJKdO+6bK0OVkA0EUj2Bk/2w0u4dT8yMvLs2bOXL1/CNquDg4PQdI+kf3x8fHh4uL+/D4V0dnZ23rx58/bt27dv3+7t7UE+h1g8eXh42Ol02u12WNdoNpuNRqPNZoMl7eEQPXx7S/cRjW8wGJRKJaRiqqurKysry8vLS0tLi4uLCwsLCwsLi4uL6+vrRSKRQCDg8/kw8efxeBwOp76+vrKysri4ODc3NzU19fHjx3Fxcf/973+TkpLy8/NramqEQiF8Mujp6YF3wcin7xGXhige/0wnhDQ99n64CLfxoXvJ1NTU/Pz89vZ2UOl7P05PT3d3d1ks1vr6+traGtTLhL6Ar1+/hhWZ4HqorAANUtCKF6vV2tPTo9PpwG4wzXdd2Ox6S9GTonsXoUUJ9HzXaDRSqVQgELS0tHA4nKampoaGhrq6upqamtzc3OrqangnqKioKC8vh/eDoqKivLy8zMzM5OTkx48fJyQkxMXFxcfHJyYm5ubmVlZWNjU1tba2wk4rWOpDoeuBq6IUD34mcvv7sfi6k09YdY8K3M/MzKyurh4eHoas+8PDw9evXy8vL7NYLK/XCxP52dnZubk59DXUTUOl06Bk5tjY2ODgoMViMZlMer1eq9VqtVqDwdDT09PX1xdaYoeYt7n4W1LcB5kou90Oi/F1Op1CoZDL5WKxuK2tTSQS8Xi88vLyzMzMzMzMjIyM9PT0tLS0lJSU5OTkp0+fPnnyJCEh4dGjRwkJCQ8fPoyLi3v48GFycnJOTk55eTmbzW5tbYV2hrCqB978KOeaQMWTPqZA7sIbfN1JJqy6Hxsbm5ycfPny5eLi4u7u7ufPn0Nw/adPn/b391dXV5HWWSwW2kMLu6tA7sQ68sj4o6OjAwMDkA3XarUqlUqpVHZ1daEaYa6Ap/nXWJ5E1wMwx0e7bYlrNGUyGZ/Pr6+vLykpKSoqys3NzczMTElJAcs/ePAgMTHx6dOnDx8+vH///qNHjxITEzMzM4uKiqqrq5uamkQikUKh6OrqglWYsGaJxCO/DTeGKx78tIVc0V988HA8bCwSPuPD3loolLaxsXHjZqtLOT4+3tnZWV5enpmZgcI4oHIWi+VX7x5W3CPpA5DH7+vrM5vNoPvOzk65XK7RaEwmE6xfJBon2Ol8mHTvOjf+wDnQktBoNOp0OpVKJRaLW1pa2Gx2Q0NDTU1NeXk5ZOqzsrIyMjKSk5NTUlIyMzPz8vKKiooqKysbGxsFAoFEIoEFObBsn5IV99cTSMTiwU83IjMNx5N9cgir7uGe7fLy8ps3b0KY4B8cHGxsbCwsLLx69Qp1NRkbG4Nl9aDg4fPKDbC7Cp4UMT4+7nQ6oZ+fSqVSKBQymUwikajVaoPBYLPZBgYGiMYJfDofVt27CAWQ4Yu+vj6r1Woymcxms06n6+zslEqlkOHh8/kcDqe6urq8vLysrKy0tLSkpKSqqqq+vp7D4fD5/Pb2doVC0d3dDR9roOAaQ3UP4JFPB8I6qb/+SSP5jNEG6a53u92omsLk5KTH41lbWws2g392drazs+Pz+WZnZ1+8eHFVGRwWi4WM7zfZB0ZHR8H4UBAY5cEVCoVOp7NYLH7562BFHw7XE0ErZ/r7+6F4Dlqv2d3dDZ9aJBKJQCDgcDg8Ho/L5ba0tMDmLLlcrlKpdDodiL6vrw8+NNBK9yHHLR75VEGJ6C8eA4XPznjI1f3w+QR/YmLi5cuXCwsLW1tbHz9+DFz3Jycn6+vrMLWHJlAXXU+U/sjICPEYiD0CR0ZGUMePzs5OiUQiEolaW1s7Ojq6urpgPWLgeZsI695FMD5sHANl9/X1oZ1ZOp1OqVSKxWKZTKZQKDo7O1UqVXd3t8lkstlsqLQycj21y+0RZIUuHvkRgw6iJ0Krg2EYZLkeGD4vf49q37958ybAEjp///338fHxysoKNCW/UfdI+sRviUme4eHhoaEhm83W3d0tl8thL5JQKJTJZCiCifqjj+v9IGZ4IK0PpRR6enq6u7u7u7uNRqPFYoEEPSqXDzUy0byews20QDiiFw/7sEI30ftB2wOjNWS5Hhkf2rTCBB86W52dnQWi+/fv36+traHNUzB5D8S/ROmjJA/8X1ioo9VqpVIpcTqPbt6GYHxKdInm+4ODg7CbDJbxwG4y4lsC+H3wnNA6ZJFIuAMYD/twQGfRE2HKcdIIEnWPjA9LdJaXl7e2tt6/f//ly5dAkjnb29sLCwtQ8DKo+vVE4xMPzOl0OhwOZPnm5mYOh9PS0gI3b41GYwjGp0Saru+N39/ff2l+xnneAdGvaiYlBxzJGMZjnixoPqm/CiYeM2WQ5XoEZPDn5uZ8Pt/m5ua7d+9OTk6uansCfPnyZX9/f3l52ePxwK3awHV/UfpgHBS7BoMB+rg2NjY2NTU1NzeLxWKoE2m32wM3PiXeRDgJNe6v+RsikTq076AqjPGYvw0MFb0fTD/+CEGu7pHxZ2dnl5eXNzY23rx58+HDh5OTk0+fPp2dnZ2dnX39+pX4BvDt27f379/73a0NSvdI+kRgUaPFYunu7pbJZFwut6ampqqqisPhtLe3K5VKvV5vt9uHhoaQrWir+wCJshx9COAxHxTRIXoiUfZywgKJrgfGx8eh7cnS0tL6+vrOzs7bt28PDw8/fPhwdHQEdS6JJY6Pjo5gmxVM8EdHR2/jerAzrG+B0mkajaa9vZ3NZkPBGTabDQs0oRY8siTTdU8JVAfvJeABfyPRJ3o/ovilkQNZrgegGr7H4/F6vSsrK69fv97e3t7d3YUilwcHBwcHB4eHh0dHR0dHR+/evdvd3YUiCkFN8P0sT/y5y+UaHBx0OBxWqxWldGpra/Py8kpKShobG8ViMVQQg9I6rqt1T7VR6QjV0XozeMBfStSLnkjsvNJQIFH3ROMvLi76fL7l5eXV1dWNjY3Nzc3t7e2dnR0ocfzmzZvd3d3Nzc3V1VWv1zszMxPIDdtLLX/xb2DROqzSEYvFHA6nuLg4NTW1uLiYy+XK5XJo3g2rXFxXGJ9qtdILqoM0OPCAJxKzZyNmX/gNkOV6YHR09MWLFzMzMwsLCwsLC1DecmlpyefzrZyztra2tra2srKytLTk9XpnZ2f//PPPq/bWBih6API5LBbLZrPBxiuBQFBTU5ORkZGSkgIV4ZVKpcFgQMbHrr8GqmPzVsT4aI+pSf014DPgD1muB2B15vT0NJS6fPXq1fT0tMfjmSMwPz+Pyh17PJ6pqSmobEw0/lV5m2twndcZ7u3tZbFYarUaJviFhYWPHz8uKChoaGhoa2vTaDRGoxGM77owwafasbSA6pAkjRgc7Vj0F8En5DtI1D0Yf3Jy8tWrV1DtcnJyEpU1Bl6e8+rVq6mpKSiUhqqkBWt5IrAgvb+/32q1slgsuVwuEAgqKytTUlKSkpJKSko4HI5UKtXpdNAJ1i+lQ7VmqYfqSAwLMTLUsehvBJ+cfyDL9cDw8PCzZ89QveLRc8bOgTJn8DcvXryYnJwcHx9H8eoKtS+Vy+WCvaYOh8NoNCqVShaL1dDQkJ2dHRcXl5mZWV1dLRKJYLet3W5HhTOx7qkOwLATxSrEog8KfK5++OHc+Ld3PQJqZ0KXkouPDJYZHh72y9u4XK5r7qNej+t8x+nAwIDFYtFoNGKxmM1ms1isx48fP336tLS0tKWlpbOzEwrEE6tmumNV91THXaSJsqGO5RUy+NT9cHvLExkdHQXjj42NuVwu4r7/wcFBZHko8gXrI1FBGL9OhK4A3gBcLhcqP2C1WrVarUQiaW5uLisrS0lJYbFY+fn5DQ0NEolEq9USu1/FJlTHGpVEwTjHk3qyiOlzGA7jT0xMQL1iWDyDsFgsZrPZYrHYbDZosoqqPF5V3PF63cNTQNuQrq4uqVTK5XIrKioyMjLu3buXmZnJYrGEQqFKpdLr9TabjVat/iID1fFFIxg6zrHow0HsnlLSjQ8NSVCY2u12q9Xa09NjNBqhoYdOpzOZTFarFZprQxl3oveJ9WEuFb3rfGrf19cHfQG7urpkMhmPx6uurs7Kynrw4EFycjLkc1gsFqqJHzu6pzqsaAqDxjkWfQSIxdNLrvFRmMLKGZvNZrFYTCYTas+tUCg0Gk13d7fBYEDzfbvdDva/WM8dWZ74TgBTe4fDYbfbUf0cPp9fW1ubk5Nz//79x48f5+fnNzY2SqVSjUbDYrFiJJ9DdTQxAzqPcyz6CBNzZ5tEy7POO9C63W6n0wnJFrPZDI25u7q6lEqlRCKRy+VKpRJ5H5q4WiyW3t5eqAaM0vroX2j0gd4PQPc2mw0ag8jlcj6fX1NTk5WVFRcXFxcXl52dXVtb297ertFooFImrAWKVqgOIuZBt0GORU8tMXTyby96v5+D8aF9R09Pj8lkMhgM3d3doHuBQNDW1iaVSjs6OlQqlVarhTyP2WyGFh+Ql4f5e29vLyT6+/r64FegfqicYzabu7u7JRIJh8MpKytLT0///fff79y5k5mZWVVVJRKJoI+51WqFm8ZUa5l8qI4dZkOTER5DrqE9MXEhbjOdv5Th4WGXywUpHdC9Vqvt7OwUi8V8Ph86cYtEovb2dplMBg1au7q60GS/p6cHPhZAP7/e3l6U84GMv8Ph6Onp6erq6ujoEIlEdXV1BQUFSUlJd+7c+eWXX7KzsysrK/l8vlqt9luOGTXSpzpkogcKbYsn9fQk+i/KbabzVxkfFbA0mUw6nU6tVnd0dLS3t/P5fDabzeVyYaYPGR74V6FQqFQqjUaj1Wo1Gg28DUBFBJTrt1qtRqNRo9HIZDKhUNjU1FRRUZGVlZWQkPDzzz//9NNPeXl51dXVPB5PoVDo9XqLxUJcfe9iuPSpjpSoJZIjHIueEUT5BSJF9AioaAbGhyU6kMGXyWQCgaC5uZnP54tEora2NqFQyOPxWlpa0E/EYrFUKoX3AJVKBZ27dTqdVqtVqVQdHR1isZjH49XX15eXl+fl5SUnJ//+++8//vjjnTt3CgoKamtrBQJBZ2cnVFO49G4ts6RPdWjECuEe4Vj0jCOar9ellg9W9BeND7Nys9ms1+thYi4QCLhcLo/Ha25uZrPZDQ0NtbW1VVVVtbW1DQ0NbDa7paWFx+OhTwBSqVQsFre2tgoEgpaWlsbGxpqamuLi4uzs7KSkpPv37//22293795NTEzMzc2tr68XiURQHdNsNqPiORehv/SpjohYJBzDG4ue6UTn5Qt5On+V8WGlPFo9aTQa1Wq1VCoVCoVcLrepqam2traioqKkpKSwsDAvL6+wsLC8vLy2thacDm8AjY2N9fX18JZQVlZWWFiYk5OTnp7+xx9/3Lt3786dO3FxcYmJiXl5eRUVFQ0NDa2trSqVCpb92O32wcHBa5RKT+lTHQixDoljOzpNEatEyaW8/XT+UlwuF6yoQdujjEYj3LyVSqXt7e3ECXtpaWlhYWFFRUV1dTVoPTs7Oy8vLy8vLycnJysrKyMjIzU1NTExMSEhIS4uLj4+Pi4uLiEhISkpKTs7u6ysrLGxkc/nt7W1qdXqnp4euMfrl76/FPpIn+pAwPyPW5oaT+qjFQZf1otBSaLu3YRKlrCuBtZoQmJHpVKB91tbW/l8fl1dXXFxcWlpaUFBQVZWVmpq6pMnTxISEhISEh48eBAfH3/v3r3//ve/oPhHjx4lJCQkJiamp6fn5+eXlpbW19fz+XyZTAa7uuA+LWzcDVC11EqfwhjAXE+wYxuLPkZg0iW+JihJNz6qbgagZZqwD0ulUkkkEi6XW1dXV11d7Wf8P/74IzExMSkp6enTp4mJifB1cnJyenp6Xl5eaWlpTU0Nm83m8/kSiUSj0ej1eljLH7joEZQYP/KXHhMCgYxtLPoYhNZXnJi3uebPyDW++zyVj3bPoru4sHRHo9HI5XKRSMTj8Xg8HpvNrqurQ2n9wsLCoqKigoKC7Ozs7Ozs/Pz84uLisrKympqapqYmPp8vFos7OztRsftbVsuJmPQjdtExZHHVqMGix9ArAEKISNKNj2qiuc77EcJdXKvVqtfrVSqVTCaTy+VyuRwy+1wul8PhNDY2ogU8lZWVdXV1TU1Nzc3NAoEARK/VamGRfiCZ+gAJq/TDdpExkYA4jrDoMTQiwOn8VZBrfJAd+hZ1oO3t7YUds93d3VBcQafTaTQapVIpl8vb2tra2tpEIhGfz29paREKhWKxGNL0sBvLZrOh9lXkQq70Sb+4GGrBosfQBbLmHeQa3w8wPtRIGBgY6O3tRfUyYV8ubNHq6OhQKpUKhQK24Gq1WrSy/vqllqRwe+mTckEx9IE4uLDxMVRC+gfMsBof0vqoADKxtD0s34TaO1A3HyrqWK3Wvr6+CNc3Dk36ZF0CDE24anBh6WMiyi3zNtcTbuO7vq90Dyt5YNYPyzdRtWQSE/QhELj0Sb8EGGoJZHDh9A4m7ETmflFYjY9wnTcTR/Xu4Yv+/v6hoSH0N9RyvfTDehUwkSeE8YWljyGfCC8MiIzxkdOJK3ku/pZyLko/MlcBE0luM76w9DEkENa8zfVE2Piuq1uWR1zvl4CMH+GrgIkAZA0xLH1MiNBknW8kpX8N1Loe+AGP56gjHKOMDsMWwwwonM5fBdWq/wcKLe8HfS4NJmQiMMpwnGCuhG6WJ0K16qlx/fXnhJ5XCnMjER5oOE4w30Fn0SNiSveBnxaaXzUMEQoHGo6TWIeGeZvriQXXh3ZmmHIFYxk6DDQ6HAMm0jDL8kSi2PW3PzlMvKCxAA2HG60OBhNeGH2xo0/35J4fRl/cKIOGoidC2wPDYL4jOlwfppODhzHl0Fz0RBhxkJhYh7m6j8z5wcOYEhgkeiKMO2BMzME410f+FOFhHDEYKnoiTD9+TJTDFN1Te5bwGA43USbKaHotmKiC5q6n+vT8DzyGw0EUTOqvIipfFIbx0NP1VJ+Vy8FjmCyiWPREov4FYpgHrXRP9cm4GTyGb0OMiJ5IrL1eDAOg3PVUn4DgwAM4WGJQ9H7E8mvH0A6qdE/16w4RPHoDJ8ZFTwSfBwxdiKTrqX6t5IBH7/XgSf2l4BOCoQURcD3VL5F88Oi9CBb9jeDzg6Ge8Ome6lcWXvDQBbDogwWfKwyVkO56ql9Q5IjloYtFfxvwecNQBlm6p/p1UEOsDV0serLA5xBDDbd0PdWHTz0xMnSx6EkHn1IMNYTgeqoPmV5E8bjFk/pwg88tJtIErnuqj5SmRN+gxaKPJPg8YyLK9a6n+uiYQXQMWix6qsDnHBM5LnU91QfFPJg7aLHo6QC+BJgIQdQ91cfCbBg3YrFl6Aa+HJiwg0VPIowYsXhST2fwdcFgmARtRywWPVPA1wiDYRK0GrFY9EwEXy8MhklQPmKx6JkOvnwYDGOgaqxi0UcZ+FJiMMwgwmMViz5awZcVg2EGERireFIfC+Dri8EwgzCNVSz6WANfbgyGGZA4ULHoYxx86TEYBnDLgYpFj0HgMMBgGEBoAxWLHnMRHBIYDAMIfKDiST3menB4YDB058YhikWPCQocKhgMrbl0iGLRY0IGhw0GQ2vQEMWix5ACDqEIgE8yJkSw6DGkgyMqfOBziwkRYujgGMKQDg4qEsEzM0yIXBU6OJgwpIOD6vZg0WNCIZA5Ag4sDOngoAoZ7HpM0AT7YRBHGIZ0sLmCBZ8xTHDcJuuHQw0TDnBc3QhO1mOC5vYRgwMOEyZwaF0FFj0mOMidHeDgw4QJHFp+YNdjgiB8HwNxFGLCBA4tALseEyiRyffhcMSEiViWHU7WYwIl8rGC4xITPmIturDoMQFB7aQAxygmfMRIdGHXYwKCJoFCh2PARCvRHV00GcIYWkPDTB+tDgYTZdAt2m8PDYcwhnbQOUroeVSYaCI6YixyQzg6zlcMQmfRE6H/EWKYDqNjLNKjmNZRvZUAAABXSURBVNEnKwZhiuiJMOtoMUyEiTFG2UBm4smKNZgoeiLMPXIMU2DKAKF+LDPiNMUsTInjG4mOV4GhOXQOMxqNZbocB+Yc6icCYSDKXg6GntAwzOgzlv8f+HJd6OvfRlQAAAAASUVORK5CYII=" width="320" /></h3><h3><span style="color: blue; font-size: small; font-weight: normal;">向かって左側がリファレンスを使用したもの。 リファレンス未使用の右側に比べてアニメーションで曲がってもスカルプトは面からのベクトル方向を維持している。 リファレンスはスカルプトとアニメーションを適用する前のプレーン。 </span><span style="color: blue;"> </span></h3><h3>Other examples that use this node</h3><table class="examplestable"><tbody>
<tr><th>Example for</th><th>Example name</th><th><br />
</th></tr>
<tr><td class="examplefor" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/nodes/dop/flipsolver" title="Evolves an object as a FLIP fluid object.">FLIP Solver</a></td><td class="examplelink" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/examples/nodes/dop/flipsolver/FlipColorMix" title="">FlipColorMix</a> </td><td class="exampleload" style="background-color: #f4cccc;"><b><a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Load</a></b> | <a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Launch</a> </td></tr>
<tr style="background-color: #eeeeee;"><td class="exampletext" colspan="3"><code>.../examples/nodes/dop/flipsolver/FlipColorMix.otl</code></td></tr>
<tr><td class="examplefor" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/nodes/dop/pyrosolver" title="Sets and configures a Pyro solver.">Pyro Solver</a></td><td class="examplelink" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/examples/nodes/dop/pyrosolver/BillowyTurbine" title="">BillowyTurbine</a> </td><td class="exampleload" style="background-color: #f4cccc;"><b><a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Load</a></b> | <a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Launch</a> </td></tr>
<tr style="background-color: #eeeeee;"><td class="exampletext" colspan="3"><code>.../examples/nodes/dop/pyrosolver/BillowyTurbine.otl</code></td></tr>
<tr><td class="examplefor" style="background-color: #cccccc;"><br />
</td><td class="examplelink" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/examples/nodes/shop/material/DownHillLavaFlow" title="">Down Hill Lava Flow</a> </td><td class="exampleload" style="background-color: #f4cccc;"><b><a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Load</a></b> | <a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Launch</a> </td></tr>
<tr style="background-color: #eeeeee;"><td class="exampletext" colspan="3"><code>.../examples/nodes/shop/material/DownHillLavaFlow.otl</code></td></tr>
<tr><td class="examplefor" style="background-color: #cccccc;"><br />
</td><td class="examplelink" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/examples/nodes/shop/material/firePitExample" title="">Fire Pit example</a> </td><td class="exampleload" style="background-color: #f4cccc;"><b><a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Load</a></b> | <a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Launch</a> </td></tr>
<tr style="background-color: #eeeeee;"><td class="exampletext" colspan="3"><code>.../examples/nodes/shop/material/firePitExample.otl</code></td></tr>
<tr><td class="examplefor" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/convert" title="Converts geometry from one geometry type to another.">Convert</a></td><td class="examplelink" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/examples/nodes/sop/convert/PasteConvertVariations" title="">PasteConvertVariations</a> </td><td class="exampleload" style="background-color: #f4cccc;"><b><a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Load</a></b> | <a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Launch</a> </td></tr>
<tr style="background-color: #eeeeee;"><td class="exampletext" colspan="3"><code>.../examples/nodes/sop/convert/PasteConvertVariations.otl</code></td></tr>
<tr><td class="examplefor" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/edgedivide" title="Inserts points on the edges of polygons and optionally connects them.">Edge Divide</a></td><td class="examplelink" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/examples/nodes/sop/edgedivide/EdgeDivideBasic" title="">EdgeDivideBasic</a> </td><td class="exampleload" style="background-color: #f4cccc;"><b><a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Load</a></b> | <a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Launch</a> </td></tr>
<tr style="background-color: #eeeeee;"><td class="exampletext" colspan="3"><code>.../examples/nodes/sop/edgedivide/EdgeDivideBasic.otl</code></td></tr>
<tr><td class="examplefor" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/fur" title="Creates a set of hair-like curves across a surface.">Fur</a></td><td class="examplelink" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/examples/nodes/sop/fur/FurTextureMap" title="">FurTextureMap</a> </td><td class="exampleload" style="background-color: #f4cccc;"><b><a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Load</a></b> | <a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Launch</a> </td></tr>
<tr style="background-color: #eeeeee;"><td class="exampletext" colspan="3"><code>.../examples/nodes/sop/fur/FurTextureMap.otl</code></td></tr>
<tr><td class="examplefor" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/paste" title="Lets you paste local refinements on top of base NURBS geometry.">Paste</a></td><td class="examplelink" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/examples/nodes/sop/paste/PasteCones" title="">PasteCones</a> </td><td class="exampleload" style="background-color: #f4cccc;"><b><a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Load</a></b> | <a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Launch</a> </td></tr>
<tr style="background-color: #eeeeee;"><td class="exampletext" colspan="3"><code>.../examples/nodes/sop/paste/PasteCones.otl</code></td></tr>
<tr><td class="examplefor" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/ray" title="Projects one surface onto another.">Ray</a></td><td class="examplelink" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/examples/nodes/sop/ray/RayWrap" title="">RayWrap</a> </td><td class="exampleload" style="background-color: #f4cccc;"><b><a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Load</a></b> | <a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Launch</a> </td></tr>
<tr style="background-color: #eeeeee;"><td class="exampletext" colspan="3"><code>.../examples/nodes/sop/ray/RayWrap.otl</code></td></tr>
<tr><td class="examplefor" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/timeshift" title="Cooks the input at a different time.">TimeShift</a></td><td class="examplelink" style="background-color: #cccccc;"><a href="http://www.sidefx.com/docs/houdini11.0/examples/nodes/sop/timeshift/PlateBreak" title="">PlateBreak</a> </td><td class="exampleload" style="background-color: #f4cccc;"><b><a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Load</a></b> | <a href="http://www.blogger.com/post-create.g?blogID=4447604507188621355">Launch</a> </td></tr>
<tr style="background-color: #eeeeee;"><td class="exampletext" colspan="3"><code>.../examples/nodes/sop/timeshift/PlateBreak.otl</code></td></tr>
</tbody></table><br />
<br />
<b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモは私的にヘルプを翻訳したなメモで、完全な翻訳ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-4938250996613190652011-11-16T16:01:00.000+09:002011-11-16T16:01:10.781+09:00ヘルプ(翻訳): ファセット(Facet) SOP<div class="separator" style="clear: both; text-align: center;"><a href="http://www.sidefx.com/docs/houdini11.0/icons/large/SOP/facet.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://www.sidefx.com/docs/houdini11.0/icons/large/SOP/facet.png" /></a></div> <a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/facet">Facet</a> (SOP)<br />
<br />
<br />
<br />
サーフェイス(単数)のファセッティング(切り子面を作る)のスムースネスをコントロールする。<br />
<br />
この]ノードはポイントやサーフェイスのノーマルを統合することが出来ます。<br />
<br />
ファセット、分割のように、ステージでジオメトリを変えるためのパイプラインとして働きます。そのため、Normal(複数)の計算が2度行われます。<br />
例えば、バーテックス(各ポリゴンのポイント(複数))を単一(ユニーク)にする前にサーフェイスノーマルを計算できます。<br />
ポイントが共有されている間にノーマルが計算されるので、単一ポイントとスムースシェーディングで通常とはことなる結果が得られます。<br />
<br />
このツールはポリゴンをクリーン・アップするのに便利です。<br />
反対を向いたポリゴンを再方向付けする事が出来、変成ポリゴン(Degenerative Poygon)を取り除き、ポイントの統合、もしくはユニーク化、エッジをベースとしてポリゴンを尖らせる(Cusp Polygon)事も出来ます。<br />
<br />
Tip:このオペレータは.dxfファイルから読み込んだジオメトリをクリーンアップするのにとても有効です。時に.dxfにあるノーマルの反転を修正します。<br />
<br />
<br />
<div class="heading" id="includeme"><h2>Facetを使う</h2><div class="headingcontent"><ol><li>ファセット(切り子面に)したいフェイス、エッジまたはポイントを選択します。</li>
<li>Polygonタブから <img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/SOP/facet.png" /><a href="http://www.sidefx.com/nodes/sop/facet">Facet</a> ツールをクリックします。<br />
ファセットの詳細は<a href="http://www.sidefx.com/docs/houdini11.0/ref/panes/parms">パラメータ・エディタ</a>で変えられます。</li>
</ol><img src="http://www.sidefx.com/docs/houdini11.0/images/shelf/facet.png" title="" /> <br />
</div></div><div class="section" id="parameters"><h2 class="section"> </h2><h2 class="section">パラメータ</h2><table class="dl"><tbody>
<tr class="defn"><td class="dt " id="group" style="background-color: #cccccc;"><b>Group </b></td><td class="dd " style="background-color: #eeeeee;">ファセットするジオメトリの部分集合(サブセット)<br />
</td></tr>
<tr class="defn"><td class="dt " id="precompute_normals" style="background-color: #cccccc;"><b>Pre-Compute Normals </b></td><td class="dd " style="background-color: #eeeeee;">入力ジオメトリを元にノーマルの計算をする<br />
</td></tr>
<tr class="defn"><td class="dt " id="make_normals_unit_length" style="background-color: #cccccc;"><b>Make Normals Unit Length </b></td><td class="dd " style="background-color: #eeeeee;">入力ノーマルの長さを「1」にリサイズする<br />
</td></tr>
<tr class="defn"><td class="dt " id="unique_points" style="background-color: #cccccc;"><b>Unique Points </b></td><td class="dd " style="background-color: #eeeeee;">各バーテックスを、切り離して別々のポイント(ユニーク・ポイント)にする。</td></tr>
<tr class="defn"><td class="dt " id="consolidate" style="background-color: #cccccc;"><b>Consolidate(融合) </b></td><td class="dd " style="background-color: white;"><table class="dl"><tbody>
<tr class="defn"><td class="dt " id="no_consolidate" style="background-color: #cccccc;"><b>No Consolidate </b></td><td class="dd " style="background-color: #eeeeee;">ポイントは互いに融合されることはない<br />
</td></tr>
<tr class="defn"><td class="dt " id="consolidate_points_slowfast" style="background-color: #cccccc;"><b>Consolidate Points Slow/Fast </b></td><td class="dd " style="background-color: #eeeeee;">互いに特定の距離にあるポイント(複数)はあるポイント(単数)を共有する。</td></tr>
<tr class="defn"><td class="dt " id="consolidate_normals_slowfast" style="background-color: #cccccc;"><b>Consolidate Normals Slow/Fast </b></td><td class="dd " style="background-color: #eeeeee;">互いに特定の距離にあるポイント(複数)はそのノーマルが平均化される。<br />
</td></tr>
</tbody></table><div class="alert note"><div class="alerttitle"><b>Note </b><span></span><span> </span></div><div class="alertcontent">Slowバージョンの「Consolidation」は使われるべきではない。<br />
それらは下位互換性(Backwords compatibility)のためのみに存在している<br />
</div></div></td></tr>
<tr class="defn"><td class="dt " id="distance" style="background-color: #cccccc;"><b>Distance </b></td><td class="dd " style="background-color: #eeeeee;">「Consolidation」のための距離の閾値<br />
</td></tr>
<tr class="defn"><td class="dt " id="remove_inline_points" style="background-color: #cccccc;"><b>Remove Inline Points </b></td><td class="dd " style="background-color: #eeeeee;">ポリゴンのあるポイントと次のポイントを結ぶ線上にポイントが存在したら取り除く。<br />
</td></tr>
<tr class="defn"><td class="dt " id="distance" style="background-color: #cccccc;"><b>Distance </b></td><td class="dd " style="background-color: #eeeeee;">供線のための距離の閾値<br />
(訳注: 参照:<a href="http://www.geocities.jp/phaosmath/part3/linalg/plane/collinear.htm">供線</a>) <br />
</td></tr>
<tr class="defn"><td class="dt " id="orient_polygons" style="background-color: #cccccc;"><b>Orient Polygons </b></td><td class="dd " style="background-color: #eeeeee;">すべてのポリゴンに同じ方向を向かせる。</td></tr>
<tr class="defn"><td class="dt " id="cusp_polygons" style="background-color: #cccccc;"><b>Cusp Polygons </b></td><td class="dd " style="background-color: #eeeeee;">隣接した側面間をハード・エッジにする。<br />
</td></tr>
<tr class="defn"><td class="dt " id="cusp_angle" style="background-color: #cccccc;"><b>Cusp Angle </b></td><td class="dd " style="background-color: #eeeeee;">ハードエッジにする場所の角度の閾値<br />
</td></tr>
<tr class="defn"><td class="dt " id="remove_degenerate" style="background-color: #cccccc;"><b>Remove Degenerate </b></td><td class="dd " style="background-color: #eeeeee;">非生成(Degenerate)ポリゴンをクリーン・アップする。<br />
</td></tr>
<tr class="defn"><td class="dt " id="make_planar" style="background-color: #cccccc;"><b>Make Planar </b></td><td class="dd " style="background-color: #eeeeee;">各ポリゴンをフラットにする。 これによりそのポイント(複数)は平面状におかれる。<br />
</td></tr>
<tr class="defn"><td class="dt " id="postcompute_normals" style="background-color: #cccccc;"><b>Post-Compute Normals </b></td><td class="dd " style="background-color: #eeeeee;">この操作の結果を元にノーマルの計算をする。</td></tr>
</tbody></table></div><h2 class="section">Examples</h2><table class="examplestable"><tbody>
<tr><td class="examplelink" style="background-color: #cccccc;"><b><a href="http://www.sidefx.com/docs/houdini11.0/examples/nodes/sop/facet/FacetVariations" title="">FacetVariations<span></span></a></b> </td><td class="exampleload" style="background-color: #f4cccc;"><b><strong><a href="">Load</a></strong> | <a href="">Launch</a></b> </td></tr>
<tr><td class="exampletext" colspan="2"><div style="background-color: #eeeeee;"><code>.../examples/nodes/sop/facet/FacetVariations.otl</code></div>この例はオブジェクトのスムースネスやファセットをコントロールするためのFacet(SOP)の異なる利用方法を示しています。<br />
またポイント(複数)を統合(Consolidate)する方法も示しています。</td></tr>
</tbody></table><br />
<br />
各例を見るには右矢印キーを押します。<br />
<br />
<b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモは私的にヘルプを翻訳したなメモで、完全な翻訳ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-50865875538444187532011-11-13T22:51:00.000+09:002011-11-13T22:51:29.486+09:00メモ:Basics: Polygons I (ビデオチュートリアル)by Peter Quint<b><a href="http://vimeo.com/6190040">Basics : Polygons I</a> by Peter Quint</b><br />
<br />
Houdiniの基本の一つをみていきます:<br />
ポリゴン - ポイント、バーテックス、プリミティブ・データ。スムース(Smoothing)と面取り(<br />
Faceting)、サブディビジョン、内部のポイントの削除、ポリゴンの方向付けと、平面ポリゴンの作成<br />
<br />
注意:Houdini11では、バーテックス・ノーマルを作るためにVertex (SOP)で「Cusp Normal Option」を使う事が出来ます。 - ワークフローは他の3Dアプリとは異なります。<br />
<br />
<br />
--------------<br />
- Houdiniでのポリゴン<br />
- ポイント・ノーマル<br />
- スムーシングとシャープ・エッジ<br />
- Facet(SOP)のその他の使い方<br />
<br />
<br />
--------------<br />
box(SOP)を作成<br />
Primitive Type:Polygon<br />
<br />
<br />
Primitive Typeの種類: Polygon , Polygon Mesh, Mesh, NURBS, Bezier, Point<br />
PolygonMesh(ポリゴンをサブディバイドした詳細なメッシュが描かれる。<br />
<br />
Box(SOP)をMMBクリックで詳細な情報を表示。<br />
8 Points<br />
6 Primitives<br />
24 Vertices<br />
6 Polygon<br />
<br />
ポリゴンオブジェクトについてPrimitivesとPolygonは同じでフェイスを意味する。<br />
<br />
Details Viewを表示し、Verticesにする。<br />
IDの部分が<br />
0:0<br />
0:1<br />
0:2<br />
0:3<br />
となっているが、これはプリミティブ「0」の4隅のポイントを示している。<br />
Point Numはそのバーテックスの位置情報が取得されるポイントを示している。<br />
注:一つのポイント(立方体の角)には3つの面が接している。ようするに3つのバーテックスが一つの角には存在する。<br />
すなわちこのBoxのDetails Viewでは同じPoint Numが3回づつ現れている。<br />
<br />
--------------<br />
<b style="color: blue;"><ポイント・ノーマルの確認></b><br />
デフォルトではレンダラーはポリゴンの面をスムースにレンダーする。<br />
これは立方体ではエッジが立たず奇妙な見た目になる。<br />
<br />
point(SOP)を追加。<br />
Add normal:<br />
<br />
ビューでノーマル表示すると、それぞれのポイントのノーマルが立方体の中心から四方へ広がる形状になっているのがわかる。<br />
(3方向の面の平均値になっている)<br />
<br />
<br />
<b style="color: blue;"><Facetを利用してノーマルの方向を変える></b><br />
Facet(SOP)を追加。<br />
Unique Points: オン<br />
Post-Compute Normals: オン<br />
<br />
ポイントのノーマルが三本、各面にそろう形で表示される。<br />
<br />
facet1(SOP)をMMBクリックで詳細な情報を表示。<br />
24 Points<br />
6 Primitives<br />
24 Vertices<br />
6 Polygon<br />
<br />
Details Viewでみると各バーテックスがそれぞれ単一のポイントを持っている状態であることがわかる。<br />
<br />
<b style="color: blue;"><br />
<Peakで面を分離></b><br />
1) sキーでコンポーネントモードになりプリミティブ(フェイス)を選択<br />
2) tキーで、移動モードにするとEdit(SOP)が作成される。<br />
Peakタブを選択<br />
Distanceを調整<br />
(Peakはプリミティブ(フェイス)をノーマル方向に移動する)<br />
<br />
これで各面はそのノーマル方向へ移動する。 <br />
<br />
<b>※先にFacet(SOP)でUnique Pointがオンになっているので面がばらばらに移動する。</b><br />
<b>これがオフであれば各頂点はつながったまま。</b><br />
<b>すなわちオブジェクト全体のスケールと同じような結果となる。 </b><br />
<br />
<br />
<br />
<br />
<b style="color: blue;"><一部のポリゴンのみエッジを立たせる その1></b><br />
1) 一部のフェイスのみを選択し、Facetを適用<br />
2) Unique Pointsをオンにする。<br />
<br />
<b style="color: blue;"><一部のポリゴンのみエッジを立たせる その2></b><br />
1) 全フェイスを選択し、Facetを適用<br />
2) Cusp Polygonsをオンにする。<br />
Cusp Polygonsは角度情報を元に判断する。<br />
<br />
<br />
<b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモはビデオチュートリアルを見ての私的なメモで、完全な記録ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-43719111509902624932011-11-12T19:18:00.002+09:002011-11-12T19:35:19.918+09:00ヘルプ(翻訳): グループ・ジオメトリ(SOP)<div class="separator" style="clear: both; text-align: center;"><a href="http://www.sidefx.com/docs/houdini11.0/icons/large/SOP/group.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://www.sidefx.com/docs/houdini11.0/icons/large/SOP/group.png" /></a></div><a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/group">Group(Geometry) SOP</a><br />
<br />
<br />
様々な基準にあわせてポイントもしくはプリミティブのグループを作り出す。<br />
<br />
(個々の)要素は一つ以上のグループに存在することができる。<br />
グループ(複数)は、そのオペレータに操作させたい入力ジオメトリの部分を特定するためにオペレータ編集の様々な部分で使われる。<br />
<br />
順番に並んだグループ(Ordered groups)を作成することも出来る。<br />
これは「Ordered」ボタンをチェックする。<br />
<br />
このオペレータはとても強力で、似たようなジオメトリを一緒にするのに向いています。<br />
例えば、3Dの建築モデル用のドア・グループに含まれる全プリミティブ・ジオメトリは<a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/xform">Transformノード</a>を使って共にスケールしたりリサイズできます。(訳注:?)<br />
ほとんどのフィルターノードと共に使用することが出来る。<br />
<br />
あなたの「group specifiers」の中で<a href="http://www.sidefx.com/docs/houdini11.0/model/groups#manual">パターン・マッチング</a>を使うとき、「Group name specifiers」はとても強力になります。<br />
<br />
<span style="font-size: large;"><b>グループ・ジオメトリを使う</b></span><br />
<div class="heading" id="includeme"><div class="headingcontent"><ol><li>グループにしたいポイントもしくはプリミティブを<a href="http://www.sidefx.com/docs/houdini11.0/basics/select">選択</a>する。</li>
<li>シェルフの<b>Model</b>タブにある <img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/SOP/group.png" /> <a href="http://www.sidefx.com/nodes/sop/group">Group Geometry</a> ツールをクリックする。</li>
<li>オペレーション・コントロール・ツールバーかパラメータ・エディターで <b class="ui">Group Name</b>を入力する。</li>
</ol><img src="http://www.sidefx.com/docs/houdini11.0/images/shelf/groupgeometry.png" title="" /> </div></div><div class="alert tip"><div class="alerttitle"><b>Tip </b> </div><div class="alertcontent">グループ化のために<a href="http://www.sidefx.com/docs/houdini11.0/basics/select">エッジ選択</a>をするなら、選択が終わったら、(3Dビューポート内でTabキーを押し)<a href="http://www.sidefx.com/docs/houdini11.0/basics/tabmenu">タブ・メニュー</a>から「Group Geometry」オペレーションを選択する。</div></div><div class="section" id="inputs"><h2 class="section">Inputs</h2><table class="dl"><tbody>
<tr class="defn"><td class="dt " style="background-color: #cccccc;">Source geometry </td><td class="dd " style="background-color: #eeeeee;">グループを作りたいジオメトリ </td></tr>
<tr class="defn"><td class="dt " style="background-color: #cccccc;">Bounding object </td><td class="dd " style="background-color: #eeeeee;">バウンディング・ジオメトリ。 (バウンディング・ジオメトリによって選択される時、ポイント・グループのみに機能する。)<br />
すべてのジオメトリが利用可</td></tr>
</tbody></table></div><div class="section" id="parameters"><h2 class="section">Parameters</h2><div class="heading" id="id264705"><h3>Createタブ</h3><div class="headingcontent"><table class="dl"><tbody>
<tr class="defn"><td class="dt " id="group_name" style="background-color: #cccccc;">Group Name </td><td class="dd " style="background-color: #eeeeee;">作成するグループの名前</td></tr>
<tr class="defn"><td class="dt " id="entity" style="background-color: #cccccc;">Entity </td><td class="dd " style="background-color: #eeeeee;">プリミティブのグループを作るのか、ポイントのグループを作るのか</td></tr>
<tr class="defn"><td class="dt " id="geometry_type" style="background-color: #cccccc;">Geometry Type </td><td class="dd " style="background-color: #eeeeee;">グループ内でうけつけるプリミティブのタイプを指定する</td></tr>
</tbody></table></div></div><div class="heading" id="id268315"><h3>Numberタブ</h3><div class="headingcontent"><table class="dl"><tbody>
<tr class="defn"><td class="dt " id="enable" style="background-color: #cccccc;">Enable </td><td class="dd " style="background-color: #eeeeee;">数字によってグループ化を有効にする</td></tr>
<tr class="defn"><td class="dt " id="create_ordered" style="background-color: #cccccc;">Create Ordered </td><td class="dd " style="background-color: #eeeeee;">それらが入力された順番に、グループ内のポイント/プリミティブを並べる。</td></tr>
<tr class="defn"><td class="dt " id="operation" style="background-color: #cccccc;">Operation </td><td class="dd " style="background-color: #eeeeee;">パターン(単数)、レンジ(単数)、エクスプレッション(単数)によってグループ化する。</td></tr>
<tr class="defn"><td class="dt " id="filter_expression" style="background-color: #cccccc;">Filter Expression </td><td class="dd " style="background-color: #eeeeee;">これは各ポイントもしくは各プリミティブをそれぞれ評価する。<br />
もしこれが真なら、その要素はグループに追加される。<br />
ポイントとプロミティブの操作に関するすべてのローカル変数をサポートする。<br />
<b>注意:</b> そのエクスプレッションの条件に一致するポイントとプリミティブは他のタブ(での指定)に関係なく最終的なグループに入れられる。</td></tr>
<tr class="defn"><td class="dt " id="pattern" style="background-color: #cccccc;">Pattern </td><td class="dd " style="background-color: #eeeeee;">グループ化されるパターンを入力する</td></tr>
<tr class="defn"><td class="dt " id="startend" style="background-color: #cccccc;">Start/End </td><td class="dd " style="background-color: #eeeeee;">グループ化されるジオメトリの範囲 (Group by Rangeが選択されているときのみ)<br />
下の「Select_of_」で指定されたパターンが適用される範囲。<br />
<b style="color: blue;">訳注:</b>0,5 の場合はプリミティブ番号が0~5のモノの中から「Select_of_」に当てはまるモノのみが条件一致と見なされる </td></tr>
<tr class="defn"><td class="dt " id="select_of_" style="background-color: #cccccc;">Select_of_ </td><td class="dd " style="background-color: #eeeeee;">毎指定回数毎に、指定量のprimitives/Pointsをグループ化する。 <br />
(Group by Rangeが選択されているときのみ)<br />
<b style="color: blue;">訳注:</b>2,3の場合はID3つ毎に2つのジオメトリが選択される。</td></tr>
</tbody></table></div></div><div class="heading" id="id285602"><h3>Boundingタブ</h3><div class="headingcontent"><table class="dl"><tbody>
<tr class="defn"><td class="dt " id="enable" style="background-color: #cccccc;">Enable </td><td class="dd " style="background-color: #eeeeee;">バウンディング・ボリュームによるグループ化を有効にする</td></tr>
<tr class="defn"><td class="dt " id="bounding_type" style="background-color: #cccccc;">Bounding Type </td><td class="dd " style="background-color: #eeeeee;">バウンディング・ボリュームの形状<br />
<b style="color: blue;">訳注:</b> タブメニューから以下を選択 <br />
Bounding Box<br />
Bounding Sphere<br />
Bounding Object (point Only)<br />
Boudingin Volume (point Only)</td></tr>
<tr class="defn"><td class="dt " id="size" style="background-color: #cccccc;">Size </td><td class="dd " style="background-color: #eeeeee;">バウンディング・ボリュームのサイズ</td></tr>
<tr class="defn"><td class="dt " id="center" style="background-color: #cccccc;">Center </td><td class="dd " style="background-color: #eeeeee;">バウンディング・ボリュームの中心</td></tr>
<tr class="defn"><td class="dt " id="iso" style="background-color: #cccccc;">Iso </td><td class="dd " style="background-color: #eeeeee;">グループ化したいボリュームの<a href="http://www.sidefx.com/docs/houdini10.0/nodes/sop/iso">Iso Surface(SOP</a>)。<br />
ボリュームの値がこれよりも小さい場合はグループ化される。<br />
値「0」はSDFボリュームには良い。<br />
フォグ・ボリュームには「0.5」という値を使い、<b>Invert Volumes</b>をオンにすると最も良い結果になる。</td></tr>
<tr class="defn"><td class="dt " id="invert_volume" style="background-color: #cccccc;">Invert Volume </td><td class="dd " style="background-color: #eeeeee;">ボリュームを反転する </td></tr>
</tbody></table></div></div><div class="heading" id="id268526"><h3>Normalタブ</h3><div class="headingcontent"><table class="dl"><tbody>
<tr class="defn"><td class="dt " id="enable" style="background-color: #cccccc;">Enable </td><td class="dd " style="background-color: #eeeeee;">ノーマルによるグループ化を有効にする</td></tr>
<tr class="defn"><td class="dt " id="direction" style="background-color: #cccccc;">Direction </td><td class="dd " style="background-color: #eeeeee;">グループ化されるノーマルの方向</td></tr>
<tr class="defn"><td class="dt " id="spread_angle" style="background-color: #cccccc;">Spread Angle </td><td class="dd " style="background-color: #eeeeee;">グループ内で許容される方向からの偏差</td></tr>
<tr class="defn"><td class="dt " id="backface_from" style="background-color: #cccccc;">Backface from </td><td class="dd " style="background-color: #eeeeee;">このオブジェクトから他所を向いたプリミティブのグループ</td></tr>
<tr class="defn"><td class="dt " id="nonplanar_polys" style="background-color: #cccccc;">Non-Planar Polys </td><td class="dd " style="background-color: #eeeeee;">閾値内の非平面プリミティブのグループ<br />
<b>注意:</b>非平面のポリゴンは他のタブの設定に関わらずグループに追加されます。</td></tr>
</tbody></table></div></div><div class="heading" id="id280028"><h3>Edgesタブ</h3><div class="headingcontent"><table class="dl"><tbody>
<tr class="defn"><td class="dt " id="enable" style="background-color: #cccccc;">Enable </td><td class="dd " style="background-color: #eeeeee;">エッジを使ったポイントのグループ化を有効にする。<br />
注意:エッジによるグループ化条件に一致するポイントとプリミティブは、他のタブでの設定にかかわらず最終グループに含まれます。<br />
(<b style="color: blue;">訳注:</b>NumberタブでID22のポイントが一つ入力されているとする。こちらでPoint Group、Edge Angleで指定された範囲のポイントがID22のポイントに追加されてグループ化される)</td></tr>
<tr class="defn"><td class="dt " id="edge_angle" style="background-color: #cccccc;">Edge Angle </td><td class="dd " style="background-color: #eeeeee;">このアングルの間にあるプリミティブをグループ化する。(Entity:Primitivesの時に利用可)</td><td class="dd " style="background-color: #eeeeee;"></td></tr>
<tr class="defn"><td class="dt " id="edge_depth" style="background-color: #cccccc;">Edge Depth </td><td class="dd " style="background-color: #eeeeee;">「Point Group」で指定したポイントからこの数のエッジ(複数)上にあるポイントをグループにする。(Entity:Pointの時に利用可。「Point Group」と一組で使用)</td></tr>
<tr class="defn"><td class="dt " id="point_group" style="background-color: #cccccc;">Point Group </td><td class="dd " style="background-color: #eeeeee;">ここで指定したポイントIDを中心として周囲にあるポイントをグループにする。 (Entity:Pointの時に利用可。「Edge Depth」と一組で使用)<br />
<b style="color: blue;">(訳注:</b>「Edge Depth:2」、「Point Group」:10」を指定するとID10のポイントからエッジ二つ分の距離上にあるポイントがすべてグループ化される。)</td></tr>
<tr class="defn"><td class="dt " id="unshared_edges" style="background-color: #cccccc;">Unshared Edges </td><td class="dd " style="background-color: #eeeeee;">共有されていないエッジの全ポイント/プリミティブをグループ化する。</td></tr>
<tr class="defn"><td class="dt " id="create_boundary_groups" style="background-color: #cccccc;">Create Boundary Groups </td><td class="dd " style="background-color: #eeeeee;">バウンダリー・ポイント(複数)を含むグループを作る</td></tr>
</tbody></table></div></div><div class="heading" id="id273479"><h3>Combineタブ</h3><div class="headingcontent">ブーリアン関数に基づいて異なるグループを結合させる。<br />
<table class="dl"><tbody>
<tr class="defn"><td class="dt " id="combine_entity" style="background-color: #cccccc;">Combine Entity </td><td class="dd " style="background-color: #eeeeee;">操作するグループのタイプを指定する。<br />
通常は与えられたグループから決定される、このパラメータは曖昧なケースを解決するのに便利。</td></tr>
<tr class="defn"><td class="dt " id="group" style="background-color: #cccccc;">Group </td><td class="dd " style="background-color: #eeeeee;">この選択肢は既存のグループから新しいグループを作らせてくれる。<br />
最初のフィールドに操作したいグループもしくは作りたいグループ名を入れる。<br />
もう一つのフィールドに既存のグループ名を入れる。<br />
<img src="http://www.sidefx.com/docs/houdini11.0/icons/small/BUTTONS/equal.png" /><b class="ui">Equals</b>(イコール)を選択することで、既存のグループの中身を含めることもできるし、 <img src="http://www.sidefx.com/docs/houdini11.0/icons/small/BUTTONS/not_equal.png" /><b class="ui">Equals all but</b>(イコール・オール・バット)を選択する事で既存のグループに含まれているもの以外をすべて含めることが出来る。<br />
下のフィールドはグループ結合を追加するために使います。<br />
<br />
(<b style="color: blue;">訳注:</b>左欄にnewGroupと入力する(これは今まで存在しないグループ名)<br />
右側にプルダウンから既存のグループを選択するとそのグループに含まれている値(数字)が自動入力される。(これは編集も可能)<br />
たとえば左が「new Group」、右が「13 15」となっていると、New Groupというグループが作成され「13 15」の値がそれに含まれる。(イコールの場合))</td></tr>
</tbody></table></div></div><div class="heading" id="id282115"><h3>Editタブ</h3><div class="headingcontent"><table class="dl"><tbody>
<tr class="defn"><td class="dt " id="rename" style="background-color: #cccccc;">Rename </td><td class="dd " style="background-color: #eeeeee;">既存のグループを他の名前に変える。<br />
グループの名前を変えるとき、特定のパターンに一致する複数のグループをリネームするためにワイルドカードを使うことが出来る。<br />
さらなる情報は「<a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/attribstringedit">Attrib String Edit</a>」を参照</td></tr>
<tr class="defn"><td class="dt " id="group" style="background-color: #cccccc;">Group </td><td class="dd " style="background-color: #eeeeee;">リネームしたいグループ</td></tr>
<tr class="defn"><td class="dt " id="new_name" style="background-color: #cccccc;">New Name </td><td class="dd " style="background-color: #eeeeee;">グループの新しい名前</td></tr>
<tr class="defn"><td class="dt " id="convert" style="background-color: #cccccc;">Convert </td><td class="dd " style="background-color: #eeeeee;">ポイント・グループとプリミティブ・グループ間をコンバートする。<br />
(<b><span style="color: blue;">訳注:</span></b>たとえばポイント「12」をプリミティブに変換するとポイント12の周りにある4つのプリミティブが対象となる。)</td></tr>
<tr class="defn"><td class="dt " id="convert_type" style="background-color: #cccccc;">Convert Type </td><td class="dd " style="background-color: #eeeeee;">変換方法</td></tr>
<tr class="defn"><td class="dt " id="group" style="background-color: #cccccc;">Group </td><td class="dd " style="background-color: #eeeeee;">コンバートしたいグループ</td></tr>
<tr class="defn"><td class="dt " id="convert_name" style="background-color: #cccccc;">Convert Name </td><td class="dd " style="background-color: #eeeeee;">コンバートされたグループの新しい名前。オリジナルのグループと同じにしたいときは空欄にしておく。</td></tr>
<tr class="defn"><td class="dt " id="preserve_original" style="background-color: #cccccc;">Preserve Original </td><td class="dd " style="background-color: #eeeeee;">オリジナルのジオメトリを保つ<br />
(<b><span style="color: blue;">訳注:</span></b>たとえばプリミティブ「20」を「Primitive to Point Group」でポイントに変換するとプリミティブ20の4角のポイントがグループ化される。<br />
元のグループ名がmyGroup、 「ConvertedName」を空欄とする。<br />
<br />
Preserve Original:オン<br />
myGroupが二つ存在することになる。<br />
一つはプリミティブを一つ、もう一つはポイントを4つ含まれるグループである。<br />
<br />
Preserve Original:オフ<br />
ポイントが4つ含まれるグループだけが残る。<br />
<br />
このためPreserve Originalをオンにするときは「Converted Name」を入力しておけばグループ名で見分けがつく。例:myGroup_points) </td></tr>
<tr class="defn"><td class="dt " id="only_include_primitives_with_all_points_in_group" style="background-color: #cccccc;">Only Include Primitives with all Points in Group </td><td class="dd " style="background-color: #eeeeee;">ポイント・グループをプリミティブ・グループへ変換するとき、このオプションはオリジナルのポイント・グループ内にそのすべての(4隅の)ポイントが存在するプリミティブのみを、新しいプリミティブ・グループに含める</td></tr>
<tr class="defn"><td class="dt " id="delete" style="background-color: #cccccc;">Delete </td><td class="dd " style="background-color: #eeeeee;">既存のグループを削除する。</td></tr>
<tr class="defn"><td class="dt " id="group" style="background-color: #cccccc;">Group </td><td class="dd " style="background-color: #eeeeee;">削除するグループ</td></tr>
</tbody></table></div></div></div><h2 class="section">ローカル変数</h2><table class="dl"><tbody>
<tr class="defn"><td class="dt "><b>N</b> </td><td class="dd ">(ポイント/プリミティブのナンバー) -1 </td></tr>
</tbody></table><br />
<br />
<b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモは私的にヘルプを翻訳したなメモで、完全な翻訳ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-68901400622762791362011-11-11T18:50:00.000+09:002011-11-11T18:50:08.166+09:00メモ:Basics: Groups (ビデオチュートリアル)by Peter Quint<div dir="ltr"><a href="http://vimeo.com/5652592">Basics : Groups</a> by Peter Quint<br />
<br />
<br />
Houdiniでポイントやプリミティブをグループ化するチュートリアル<br />
<br />
- グループ<br />
- オブジェクトのグループ・フィールド<br />
- シェルフ・ツールとセレクション<br />
- タブ・メニューとセレクション<br />
- 現在のツールに関する再選択<br />
<br />
Houdiniでグループとは、オブジェクトのコンポ-ネント、「ポイント」や「プリミティブ(フェイス)」を集めたもの。<br />
他のアプリケーションではクラスターと呼ばれることもある。<br />
グループとしてのこの選択を保存しておけば、後で何度も再利用できる。<br />
<br />
バウンディングボックスを使うときに、プリミティブのポイントを選択するためにグループを使う事が出来る。<br />
<br />
<br />
--------------<br />
sphere(SOP)<br />
Primitive Type: Polygon Mesh<br />
<br />
<b style="color: blue;"><シェルフ・ツールを使う時のグループ化></b><br />
1)Facetツールをクリック<br />
2)適用するフェイスを選択してEnterを押すように以下のメッセージが表示されるのでその通りにする。<br />
「Select the primitives to operate on and press Enter to complete. Hold down Alt to select from other objects.(操作を完了するためにプリミティブを選択しEnterキーを押します。他のオブジェクトを選択する時はAltをホールドします。)」<br />
3)Facet(SOP)がネットワーク(ジオメトリレベル)に自動的に追加される。<br />
<br />
<br />
Facet(SOP)のパラメター・ペインを見てみる。<br />
ほとんど全てのサーフェイス・オペレータ(SOP)のパラメターにはGroupパラメターが一番上にある。<br />
Groupパラメター: その操作が適用されるポイント、エッジ、フェイス(プリミティブ)のリストを格納する。<br />
各ポイントなどの番号が格納される。この番号は手打ちで追加可能。<br />
ジオメトリが変化すると(Rows、Columnsなどが変わると)、この番号も変わるので選び直す必要がある。<br />
<br />
<br />
<b style="color: blue;"><タブ・メニュー: ネットワーク・ペイン vs 3Dビュー></b><br />
Sphere(SOP)のポイントを選択する。<br />
<br />
[ネットワーク・ビュー]<br />
1)ネットワーク・ペインでタブメニューからColor(SOP)を選択する。<br />
2)Colorノードができるが、どのノードにもつながっていない。またGroupパラメターは空欄。 >選択情報を使っていない。<br />
<br />
[3Dビュー]<br />
1)3DビューでタブメニューからColor(SOP)を選択する。<br />
2)Colorノードができる。sphre1(SOP)に接続され、Groupノードには先ほど選択したポイントの番号が格納されている。<br />
<br />
(※メモ※)もし選択したコンポーネントを自動的に「これから作るノード内」で使われる状態にしたいなら、3Dビュー内でタブメニューを使わなくてはならない<br />
<br />
<br />
<br />
<b style="color: blue;"><現在のツールに対して、コンポーネントを再選択する></b><br />
1)ツール・ノード(例:Color(SOP)を選択<br />
2)3Dビューポートにカーソルを移動し、Enterキーを押す<br />
3)選択ボタン(カーソルのアイコン)を右クリックし、「Reselect For Current Tool」を選択。<br />
(注意:左クリックでもこの選択メニューが現れ選択できるが、機能しない)<br />
4)必要なコンポーネントを選択しなおし、Enterキーを押す。<br />
5)これでGroupパラメターの値が新しく選択し直したものに入れ替わる。<br />
<br />
</div><div dir="ltr"><b style="color: blue;"><グループ・ジオメトリSOP></b><br />
(ヘルプ:<a href="http://www.sidefx.com/docs/houdini11.1/nodes/sop/group">Group SOP</a>)<br />
<br />
コンポーネントの選択を保存しておき、他のノードでもその選択が使えるようにする。<br />
ポイントもしくはプリミティブだけであり、エッジはグループ化できない。<br />
<b>(※エッジの選択はできるが、グループ化されるのはそのエッジに含まれるポイント)</b><br />
<br />
1)sキーをおしてコンポーネント選択モードでポイントをいくつか選択<br />
2)3Dビュー内でTabキーからGroup Geometryノードを作成<br />
3)ノード名を「mygroup」に変更。<br />
4)Group Name: 「$OS」(ノード名をとってくるエクスプレッション)<br />
<br />
5)Colorノード作成しmygroup(SOP)に接続<br />
6)Groupのプルダウンから「mygroup」を選択<br />
7)Colorを赤に変更して3Dビューで見えるようにする。<br />
<br />
<b style="color: blue;"><GroupGeometry ノードの便利な機能></b><br />
Create Ordered:<br />
そのグループ内でポイント/プリミティブのそれらが入力された順番。<br />
スキニング時に便利。<br />
Poly Loft SOPを使う時などは、これがONになっていないとおかしな結果になることがある。<br />
<br />
※Groupノードは他のソフトの「クラスタ」よりもずっと強力な機能である。</div><div dir="ltr"><br />
</div><div dir="ltr"><br />
</div><div dir="ltr"><b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモはビデオチュートリアルを見ての私的なメモで、完全な記録ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b> </div><div dir="ltr"><br />
</div>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-24162068542044802212011-11-09T15:31:00.000+09:002011-11-09T15:31:57.702+09:00メモ:Basics: Bundles (ビデオチュートリアル)by Peter Quint<a href="http://vimeo.com/5652525">Basics: Bundles</a> by Peter Quint<br />
Houdiniでbundlesを使う方法。<br />
Bundlesはオブジェクトのグループや他のアプリケーションにあるレイヤーに似ている。<br />
<br />
<b>- ノードのバンドル<br />
- 複数のオブジェクトのパラメータを編集する<br />
- オブジェクトを一緒に動かす: ペアレント化とサブネットワーク<br />
- Boxのネットワーク</b><br />
<br />
バンドルとはノード(通常はオブジェクトである)を集めたモノであり、<br />
<br />
Houdiniでは「グループ」とはポイントやプリミティブなどのコンポーネントを集めたものを指す<br />
<br />
オブジェクトをまとめる方法には以下のものがある。<br />
<b>0)バンドル<br />
1)ペアレンティング<br />
2)サブネットワーク<br />
3)ネットワーク・ボックス</b><br />
<br />
<br />
--------------<br />
<b style="color: blue;"><0.バンドル></b><br />
Grid、Sphere、Boxオブジェクトを作成し、それぞれ重ならないように移動しておく。<br />
ネットワークビューで、Sphere,Boxオブジェクトを選択し、空白スペースで右クリック<br />
>Add >Add Bundle<br />
<br />
バンドルを確認するにはBundle List ペインを開く必要がある。<br />
Bundle ListペインではBundle名の変更、編集、削除などができる。<br />
(ヘルプ:<a href="http://www.sidefx.com/docs/houdini11.0/ref/panes/bundles">Bundle list pane</a>)<br />
<br />
<br />
<br />
<b style="color: blue;"><バンドルの利用></b><br />
1)マテリアル・パレットでClayをLoadする。<br />
2)バンドル・リスト・ペインでバンドルを選択しSelect the Nodes in Bundleアイコンをクリック。<br />
3)パラメータ・ペインでマテリアル(Clay)を選択すれば、現在選択しているすべてのオブジェクトに同じマテリアルを適用できる。<br />
<br />
<b style="color: blue;"><br />
<レンダ不可オブジェクトの指定></b>(ライトなども同じ)<br />
1)Outへ移動して、Mantraノードを作成<br />
2)Objectsタブでどのオブジェクトをレンダリングするかを指定できる。<br />
Exclude ObjectsのChooserをクリック。<br />
3)Operator Bundles画面が表示されるので、バンドル名を選択。<br />
するとパラメータペインに「@bundle1」とバンドル名が表示される。<br />
<br />
<br />
<b style="color: blue;"><スマート・バンドル></b><br />
1)Bundle>New Smart Bundle<br />
2)作成されたスマート・バンドルのアイコンをダブルクリックして「Edit Smart Bundle Pattern」画面を表示<br />
3)「sphere*」と入力し[Accept]をクリック<br />
<br />
バンドルはグループのトランスフォーム(移動、回転、縮小)はできない。<br />
トランスフォームするには以下の方法を使う。<br />
<br />
<b style="color: blue;"><ペアレント></b><br />
あるオブジェクトを別のオブジェクトへペアレントする。<br />
シーンレベルで、一つのオブジェクトのアウトプットを他のオブジェクトのインプットへ接続する。<br />
<br />
1)ペアレント化したいオブジェクトのTransformタブの「Keep position when parenting」のチェックをオンにする。(ここではbox(OBJ))<br />
2)Sphere(OBJ)のアウトプットをBox(OBJ)のインプットへ接続<br />
<br />
※ アンペアレントするには単にリンクを解除する。<br />
<br />
<br />
<b style="color: blue;"><サブネット></b><br />
オブジェクトがトランスフォームできるもうひとつの方法<br />
1)サブネット化したいオブジェクトノードを選択。(例:Sphere と Box)<br />
2)Shift+Cキー(もしくはネットワーク・ペインのアイコンをクリック)でサブネット化する<br />
<br />
※ サブネットの解除:サブネットを選択し「RMB > Extract Contents」でサブネットワークは消えて中身がシーンレベルに展開される。<br />
<br />
<br />
<b style="color: blue;"><ネットワーク・ボックス></b><br />
ネットワークビューの中でノードをグループ化する方法<br />
1)ネットワーク・ボックスに入れたいノードを選択。(例:Sphere と Box)<br />
2)Ctrl+Nキー(もしくはネットワーク・ペインのアイコンをクリック)でネットワーク・ボックスが作成される。<br />
<br />
※解除方法ボックスの「x」ボタンをクリックする。<br />
<br />
<b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモはビデオチュートリアルを見ての私的なメモで、完全な記録ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-81467666084341325302011-11-08T16:55:00.003+09:002011-11-08T17:52:10.325+09:00ヘルプ(翻訳): バンドル・リスト・ペイン(Reference)<a href="http://www.sidefx.com/docs/houdini11.0/ref/panes/bundles">バンドル・リスト・ペイン</a><br />
<br />
<br />
<span style="font-size: medium;"><b>概略:</b></span><br />
バンドル・リストは現在のシーンにおけるすべてのバンドルを表示する。<br />
バンドルは潜在的にネットワークとは異なるノードのグループである。<br />
バンドルは明白にリスト化しなくても、その名前によってノードのグループを参照することが出来る。<br />
バンドルはライト・リンキングに特に便利である。<br />
Houdiniの中で場所を問わずバンドルを使うには、「@bundle」を使う事でノードのリスト(「ライト・マスク」のような)が必要。<br />
例えば、「keylights」という名前のバンドルがあったとして、そのライト・マスクを参照するために「@keylights」を使う事が出来る。<br />
<br />
<br />
<span style="font-size: medium;"><b>ノーマル(マニュアル)・バンドル</b></span><br />
バンドル・リスト・ペインの「バンドル」へノードをドラッグするか、ツールバーボタン(下記参照)を使う事でことでノーマル・バンドルの中身を設定できる。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<table class="tasktable normal"><tbody>
<tr><th class="taskheading" style="background-color: #d0e0e3;">To...</th><th class="actionheading" style="background-color: #d0e0e3;">Do this</th></tr>
<tr><td class="taskcell" style="background-color: #d9ead3;">新しいバンドル(単数形)を作成する</td><td class="actioncell" style="background-color: #cfe2f3;"> <b class="ui">Bundle > New Bundle</b>を選択する、またはツールバーの <img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/DATATYPES/bundle.png" /> (<b class="ui">New Bundle)</b> をクリックする。</td></tr>
<tr><td class="taskcell" style="background-color: #d9ead3;">現在の選択からバンドル(単数形)を作成する</td><td class="actioncell" style="background-color: #cfe2f3;">ネットワーク・エディターのバックグラウンドを右クリックし、 <b class="ui">Add > Add bundle</b>を選択</td></tr>
<tr><td class="taskcell" style="background-color: #d9ead3;">特定のタイプを含んでいるノードのみバンドル(単数形)を作成</td><td class="actioncell" style="background-color: #cfe2f3;">左のリストにあるバンドルを選択し、下部にある<b class="ui">Filter</b>メニューを使う<br />
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAR8AAAAeCAIAAACaHo0LAAAEvUlEQVR4nO3c30sqaRgH8PPXjGTMGytK50KyyCgiyn6ZZj9Iiyi66Cbqxoso25Wt3XZZ2213a0EqgyKF6KrsF4JGhByU2FKjkOMwZdsPlgVZlvZiOC+zjjNuO5mT+3yunnd6npcJ/PLqGL37AADIjXf5vgEAChakC4BcedV0WQEoOAIv+NdLl9VqfXp6+gsAKflFtO7u7jyny+v1Mun6EwApWRStu7vb6/VKIl0pAKTkZ9G6urqkkq4/AJCSn7JxuVxXV1cCDZ2dnVJJ1++5sb6+/v79e4Ig2BfTlgBw/ZhNOBxOpVJ7e3t8DR0dHVJJ16MggiD6+vrYS+F+TK1W+3y+tClu8S89tx+8XT8IWl5eZt5AJpNJvh6TyfQC6UIIiU/XvSCCIDQazeHhIV4K92Mymezu7o6723P3Af833wsKhUL4E5rX683Y84x0oX9ih4pb/Id0/SaIIIjl5eXW1la8ZIpQKKTT6eRyeWNjYzgc5k5h7Cm8ZP/0/PzcZDIVFxdXVVXt7+/jTofDoVarZTJZ2g7T09MKhaK0tHRjY4O5GAwGa2pqEEITExO4E7xRDn5Op5P9/COZTGZsMxqNz0gXX0JeJF1JQQRBXF9f19bWejweZslc7+josNlsiUTCZrN1dXVlHOTW3CKZTPb29i4tLVEUtbm5qdVqccPo6Gg0GuUO2u32eDy+urqq0WiYiyaTyW63JxKJqakp9s7gLfqOn9/vT3vA6HK5uG2i0pUWqrST7eDgwGg0KhSK6urqtbU13Gm328vLy0tKStLSRQsiCIKmaY/HU1NTQ1EUs6RpmiTJaDRK03Q0GkUI8Q2m1dyCpmmEED7KZDIZbri8vMy4Qzwep2maoijcTJLkxcUFTdOxWIy9M3iLvuXncDjSvjjO2GYwGHL1zrCnp2dubu7k5MTpdFZXV+OG4eFhn8/HPbsoQQRBMIVer19cXMRLkiQjkQhFUZFIBCEkMMiuuQVFUQihUCgkMM43mPFm0gbBm/ONaG1tbS92dqX1qFQqHEV8UiGEjo6O2JvgdH0URBAEU+zs7KjVarxsb2+32WyXl5cTExOdnZ0Cg+waFwih4+NjprZYLENDQ2dnZ8FgcGBggDuecQd2bTAYmJuZnJxMGwRvztf8dnZ27u/vbz55eHhYWFjgtun1+lylS6lU7u/vZ90EpysuiHknxrBYLHgZCATq6+uLiooaGhqOj4+FB3GNi/HxcZIkmWU4HDabzSRJlpWVOZ1O7njGHdi1z+fTarUkSY6NjcnlcuHfCEjcV/xWVlbYH7pub28ztrW2tr5kulQq1fb2NlObzebBwUG/37+7u9vf3581XVeFIhaLzczM1NXV5ftGgCjTggKBAE6X2+3O2NPS0vKS6bJarUqlkln6fD6z2axUKisrK+fn57Om66IgME9EKioqtra28n0vQJQvs7m5uUmlUqenp3wNzc3NUvlbjSgAUmLPxu12Pz4+zs7O8jU0NTVJJV3nAEjJF6JJKF2/AiAln4vW2NgolXSdAiAlNtF0Op1U0hUGQEomRWtoaMh/urxerw4AiflMtJGRkTyniwnYAgAFhy9ar5quD59OMAAKicALHv5bKAC5AukCIFcgXQDkyt8PTb2Yye22BQAAAABJRU5ErkJggg==" /> </td></tr>
<tr><td class="taskcell" style="background-color: #d9ead3;">バンドル(単数)にノードを追加する</td><td class="actioncell" style="background-color: #cfe2f3;">ネットワーク/エディターから左側のリストにあるバンドル名へノード(複数可)をドラッグ&ドロップする。<br />
<b><i>または</i></b><br />
<br />
<ol><li>左にあるリストから該当のバンドルを選択する</li>
<li>ネットワークエディター内のノード(複数可)を選択し、ツールバーの <img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/BUTTONS/bundle_add_selected.png" /> <b>(Add selected)</b> をクリックする </li>
</ol></td></tr>
<tr><td class="taskcell" style="background-color: #d9ead3;">バンドル(単数)からノード(単数)を取り除く</td><td class="actioncell" style="background-color: #cfe2f3;"><ol><li>左のリストから、該当のバンドルを選択する</li>
<li>そのバンドルの内容が右側のリストに現れる。右のリストから取り除きたいノードを選択し <b class="ui">Edit Contents > Remove</b> を選ぶか((Delete))を押す(訳注:これはDeleteキーのことかと思ったが押しても機能しなかった。)</li>
</ol><i>または</i> <br />
<ol><li>左のリストから該当のバンドルを選択する</li>
<li>ネットワークエディターから取り除きたいノード(複数可)を選択し、ツールバーから <img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/BUTTONS/bundle_remove_selected.png" /> <b>(Remove selected)</b> をクリックする </li>
</ol></td></tr>
<tr><td class="taskcell" style="background-color: #d9ead3;">バンドル内のノードのフラグを見たり、編集する </td><td class="actioncell" style="background-color: #cfe2f3;"><ol><li>左のリストから該当のバンドルを選択する</li>
<li>そのバンドルの内容が右側のリストに現れる。<br />
各ノード名の右にあるコラムは、そのノードのフラグ(もしそのノードがそのフラグを持っているなら)を表示している。<br />
<img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/NODEFLAGS/select.png" /> Selectable(選択可能), <img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/NODEFLAGS/display.png" /> Display(表示), <img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/NODEFLAGS/bypass.png" /> Bypass(バイパス), <img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/NODEFLAGS/template.png" /> Template(テンプレート) </li>
<li>個々のノードのフラグをトグルするにはコラムの中をクリックします。または選択したバンドル内のすべてのノードのフラグをトグルするには、ツールバー内のボタンを使います</li>
</ol></td></tr>
<tr><td class="taskcell" style="background-color: #d9ead3;">バンドル(単数)の名前を変更する </td><td class="actioncell" style="background-color: #cfe2f3;">左のリストからバンドル名をクリックする</td></tr>
<tr><td class="taskcell" style="background-color: #d9ead3;">既存のバンドル(単数)を複製する</td><td class="actioncell" style="background-color: #cfe2f3;">バンドル・リスト・ペインからそのバンドルを選択し <b class="ui">Bundle > Duplicate</b> を選ぶ </td></tr>
<tr><td class="taskcell" style="background-color: #d9ead3;">複数のバンドルの中身を一つのバンドルにマージする </td><td class="actioncell" style="background-color: #cfe2f3;">バンドル・リスト・ペインからマージしたいバンドル(複数)を選択し <b class="ui">Bundle > Merge</b> を選ぶ</td></tr>
<tr><td class="taskcell" style="background-color: #d9ead3;">バンドル(単数)を削除する</td><td class="actioncell" style="background-color: #cfe2f3;">バンドル・リスト・ペインからそのバンドルを選択し <b class="ui">Bundle > Delete</b> を選ぶ</td></tr>
</tbody></table><br />
<span style="font-size: medium;"><b>ツールバー</b></span><br />
<img src="http://www.sidefx.com/docs/houdini11.0/images/ui/bundlelist_toolbar.png" title="" /> <br />
<table class="dl"><tbody>
<tr class="defn"><td class="dt "><img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/DATATYPES/bundle.png" /> </td><td class="dd ">新しいバンドル(単数)を作成する </td></tr>
<tr class="defn"><td class="dt "><img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/DATATYPES/bundle_smart.png" /> </td><td class="dd ">新しいスマート・バンドル(単数)を作成する。(:下記参照)</td></tr>
<tr class="defn"><td class="dt "><img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/BUTTONS/bundle_set_selected.png" /> </td><td class="dd ">現在、選択しているものを表示されたバンドルの中身に設定する。(訳注:現在バンドルに設定されていても、この時点で選択されてないモノはバンドルからはずれる)</td></tr>
<tr class="defn"><td class="dt "><img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/BUTTONS/bundle_add_selected.png" /> </td><td class="dd ">現在、選択しているものを表示されたバンドルに追加する</td></tr>
<tr class="defn"><td class="dt "><img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/BUTTONS/bundle_remove_selected.png" /> </td><td class="dd ">現在、選択されているものを表示されたバンドルから取り除く</td></tr>
<tr class="defn"><td class="dt "><img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/NODEFLAGS/select.png" /> </td><td class="dd ">そのバンドル内でこのフラグを持っている全てのノードの「<i>select</i> (選択)」フラグをオン/オフする</td></tr>
<tr class="defn"><td class="dt "><img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/NODEFLAGS/display.png" /> </td><td class="dd ">そのバンドル内でこのフラグを持っている全てのノードの「<i>display</i> (表示)」フラグをオン/オフする </td></tr>
<tr class="defn"><td class="dt "><img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/NODEFLAGS/bypass.png" /> </td><td class="dd ">そのバンドル内でこのフラグを持っている全てのノードの「<i>bypass</i> (バイパス)」フラグをオン/オフする</td></tr>
<tr class="defn"><td class="dt "><img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/NODEFLAGS/template.png" /> </td><td class="dd ">そのバンドル内でこのフラグを持っている全てのノードの「<i>template</i> (テンプレート)」フラグをオン/オフする </td></tr>
<tr class="defn"><td class="dt "><img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/BUTTONS/bundle_select.png" /> </td><td class="dd ">表示されたバンドルの中身を選択する </td></tr>
<tr class="defn"><td class="dt "><img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/BUTTONS/bundle_select_add.png" /> </td><td class="dd ">表示されたバンドルの中身を現在の選択に追加する</td></tr>
<tr class="defn"><td class="dt "><img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/BUTTONS/bundle_select_remove.png" /> </td><td class="dd ">表示されたバンドルの中身を現在の選択から取り除く</td></tr>
</tbody></table><br />
<span style="font-size: medium;"><b>スマート・バンドル</b></span><br />
通常バンドル・リスト・ペインのバンドルへノードをドラッグすることでバンドルの中身を定義視するでしょう、しかし、スマート・バンドルを定義することも出来ます。<br />
これらはiTunesのスマート・プレイリストのようなものです:それは、あなたが定義したパターン(単数)に一致する全てのノードを自動的に含めます。<br />
<table class="tasktable normal"><tbody>
<tr><th class="taskheading" style="background-color: #d0e0e3;">To...</th><th class="actionheading" style="background-color: #d0e0e3;">Do this</th></tr>
<tr><td class="taskcell" style="background-color: #d9ead3;">スマート・バンドル(単数)の作成 </td><td class="actioncell" style="background-color: #cfe2f3;"> <b class="ui">Bundle > New Smart Bundle</b>を選択するかツールバーの <img src="http://www.sidefx.com/docs/houdini11.0/icons/medium/DATATYPES/bundle_smart.png" /> <b class="ui">(New Smart Bundle)</b>をクリックする</td></tr>
<tr><td class="taskcell" style="background-color: #d9ead3;">スマート・バンドル(単数)のマッチング・パターンを編集する </td><td class="actioncell" style="background-color: #cfe2f3;">スマートバンドルのアイコンをダブルクリックする。<br />
(このウインドウが表示される)<br />
<img alt="" src="data:image/png;base64,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" /> <br />
このパターンの <i>paths</i> に一致するノードはそのバンドルに入る。<br />
ノードが作成または削除されたら、バンドルの中身は自動的にアップデートされる。 <br />
<br />
もしそのパスのパターン <i><b>全て</b></i> に一致する場合に、そのノードが含まれるように、スペースで区切ったパターン・リストを使う事も出来る。 </td></tr>
<tr><td class="taskcell" style="background-color: #d9ead3;">スマート・バンドルをノーマル・バンドルに変換する</td><td class="actioncell" style="background-color: #cfe2f3;"><ul><li>左のリストからスマートバンドルを選択し <b class="ui">Bundle > Convert to Normal Bundle</b> を選ぶ</li>
<li>もしスマートバンドルの中身をマニュアルで編集(ノードを追加もしくは取り除く)したら、Houdiniはそのバンドルを自動的にノーマル・バンドルに変換します。</li>
</ul></td></tr>
</tbody></table><span style="font-size: medium;"><b><br />
</b></span><br />
<br />
<span style="font-size: medium;"><b> </b></span><span style="font-size: medium;"><b> スマート・バンドルのパターン</b></span><br />
<div class="headingcontent"><ul><li>* すべての文字列にマッチする。 </li>
<li><code>?</code> どの一文字のキャラクタにもマッチする. </li>
<li><code>^</code> もし以下のパターンに<i><b>マッチしない </b></i>状態にマッチしたとするときに使う</li>
<li>スラッシュ「/」を含まないパターンは、ノード名が一致する全てのノードにマッチする </li>
<li>パターンの最後に「*」をおく、例えば「<code>/obj/model*</code>」は、「<code>/obj/</code>」配下にある名前が「model」から始まるノードに一致、<i><b>そしてそれらの子供にも</b></i> 一致する。<br />
なぜなら「*」はパス内のスラッシュ(/)にマッチするからです。<br />
<i><br />
</i><br />
「model」で始まる名前を持つノードには一致するがその子供にマッチさせたくない場合は、複合パターンを使う。<br />
「<code>/obj/model* ^/obj/model*/*</code>」<br />
二番目の「<code>/obj/model*/*」の前にある「</code><code>^</code><code>」の意味は</code>「<code>/obj/model*/*」とマッチするノードは<i><b>含まない</b></i> という意味になる。 </code></li>
</ul></div>※追記:<br />
Houdini10ではドラッグドロップでバンドルにオブジェクトの追加ができない(新しいバンドルが自動作成される)。<br />
Houdini11ではDeleteキーでバンドルを削除できない。<br />
という不具合がうちでは見られた。<br />
<br />
<br />
<code></code><b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモは私的にヘルプを翻訳したなメモで、完全な翻訳ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-39087665908814108582011-11-08T14:59:00.002+09:002011-11-08T15:01:52.521+09:00Houdini11でマテリアル・ライブラリーから削除されたものとその再生方法Houdini11から、マテリアルパレット内のマテリアルライブラリーからいくつかのマテリアルが消えている。<br />
例えば以下の二つ。<br />
<b>Basic Displacement</b><br />
<b> Basic Surface</b><br />
<br />
これは、Houdini11でマテリアルのシステムが変わったためにライブラリーから削除されてしまったため。(参照:<a href="http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=20311">Houdini Forum</a>)<br />
<br />
もしそれらが必要な場合は、Houdini10を使うか。<br />
<br />
Houdini10の、 Materials.galファイルをHoudini11のGalleryホルダー内へコピーすると良い。<br />
コピーする際はMaterials_v10.galなどにリネームしないとHoudini11のMaterials.galが上書きされ、消えてしまうので要注意。<br />
コピー後はHoudiniの再起動が必要。<br />
<br />
再起動後はマテリアルライブラリーに表示されるがいくつかのマテリアルは10のモノと11のモノが並んで表示される。<br />
マテリアル・パレット・オプションの「Show Gallery Files」をオンにすれば、ファイル名とファイルへのパスが表示されるので、どちらのファイルを開いているのかがわかる。<br />
<br />
Houdiniを再起動しないでファイルを読み込むには、マテリアル・パレットにあるフォルダのアイコン(Create a new gallery file)をクリックしてV10の.galファイルを選択すると良い。Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-14344951495139930772011-11-07T19:12:00.006+09:002011-11-08T17:53:50.676+09:00メモ:Coordinate Systems (ビデオチュートリアル)by Peter Quint<div class="separator" style="clear: both; text-align: center;"><a href="http://www.viz.media.kyoto-u.ac.jp/course/media_course/2006/GLUT/program/libglut4.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br />
</a></div><a href="http://vimeo.com/8011128">Basic: Coordinate Systems</a> by Peter Quint<br />
※Houdini10推奨 <br />
<br />
異なる座標系を使って、3Dテクスチャーがオブジェクトへ正確に適用されるようにすることについての講義。<br />
<br />
<br />
座標系と3Dシェーディング<br />
<br />
- ワールドとオブジェクトスペース<br />
- マントラによるカメラスペースの利用<br />
- シェーディングでオブジェクトスペースを使う<br />
- レスト・ポジション<br />
- NDCスペース<br />
<br />
NDCスペース:<br />
(参照1:<a href="http://ejje.weblio.jp/content/normalized+device+coordinate%20%20Normalized%20Device%20Coordinate">Weblio</a>)<br />
正規化装置座標<br />
中間的な座標系で指定され,ある範囲(通常は,0から1まで)に正規化される装置座標.<br />
〈備考〉1.同じ正規化装置座標で表現された表示画像は,どの装置空間でも同じ相対位置となる.<br />
<br />
(参照2:Chapter 5 <a href="http://www.viz.media.kyoto-u.ac.jp/course/media_course/2006/GLUT/note5_1.htm">座標軸の設定</a>)<br />
<a href="http://www.viz.media.kyoto-u.ac.jp/course/media_course/2006/GLUT/program/libglut4.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="149" src="http://www.viz.media.kyoto-u.ac.jp/course/media_course/2006/GLUT/program/libglut4.gif" width="320" /></a><br />
(参照3:<a href="http://nis-lab.is.s.u-tokyo.ac.jp/nis/CG/cgtxt/cg2/cg022_3.htm">2.2 座標系</a>)<br />
<br />
<br />
(参照4:<a href="http://oshiro.bpe.es.osaka-u.ac.jp/people/staff/imura/computer/OpenGL/coordinates/disp_content">座標系の理解なくして3DCGなし</a>)<br />
<br />
<br />
--------------<br />
<b style="color: blue;"><座標系の種類></b><br />
<br />
<b>ワールド・コーディネート・システム</b>(世界座標系):Houdiniのデフォルトでスクリーンビューでみえる座標系(シーンレベル)<br />
<br />
Boxを作ると、Box(SOP)には<br />
Size 1,1,1<br />
Center 0,0,0<br />
がある。これらはxyzで表される座標系を使っている。<br />
Box(OBJ)を移動して、再度これらの値を確認してみても、値は変わらず<br />
Center 0,0,0 のままである。<br />
あきらかにワールド座標系原点にないので、異なる事がわかる。<br />
<br />
各オブジェクトは異なる座標系にあることがわかる。<br />
Houdiniでは座標系を「スペース」と呼ぶことがある。<br />
<br />
<b>オブジェクト・スペース</b>: 特定のオブジェクトのスペース<br />
<br />
<br />
<b>カメラ・スペース</b>: <br />
カメラはZ軸の方向を向いている。<br />
カメラの視点からみるとカメラ・スペース内でオブジェクトまでの距離は大きなZ値を持っていることがわかる。<br />
<br />
--------------<b></b><br />
<div style="color: #cc0000;"><b>※ 以下のステップでBasic_Surfaceマテリアルが表示されない場合は、「<a href="http://mahotsukainodeshi.blogspot.com/2011/11/houdini11.html">Houdini11でマテリアル・ライブラリーから削除されたものとその再生方法</a>」を参照。</b></div><b><br />
<span style="color: blue;"></span></b>Basic_Surface > Basic > baseColorを移動してわかりやすくする。<br />
TurburantNoiseノード,.GlobalVariablesノードを作成<br />
global1:<br />
Output A Single Valiable:チェック<br />
Variable Name: Surface Position P<br />
<br />
これをturbnoise1ノードのposへ接続<br />
<br />
Color Mixノードを作成<br />
turbnoise1ノードのnoiseをcolormix1のbiasへ接続<br />
colormix1のclrをsurfacecolor1のBaseColorへ接続<br />
<br />
オブジェクトではなく、シェーディングの特定のポイントを元にノイズを発生させている(?)<br />
<br />
<br />
Distantlightを作成<br />
Mantraを作成してレンダー<br />
<br />
Colormix1で各色を調整しコントラストを上げ、turbnoise1のFrequencyを上げて見やすくする。<br />
<br />
<br />
以上で基本の設定はおしまい。次にBoxをアニメートしてみる。<br />
<br />
<br />
<br />
--------------<br />
<b><span style="color: blue;"><オブジェクトスペースを使う> </span></b><br />
CubeのTranslateにキーフレーム・アニメーション(OBJレベル)をつけて移動したときのテクスチャーを見てみる。>テクスチャーパターンがフレーム毎に変化している。<br />
<br />
この理由はShopの<br />
Global Variableではノイズの生成のために、サーフェイス上の特定のポイントの値を取得しているが、これはカメラスペースの座標からとられている。<br />
そのため、オブジェクトが移動すると、その特定のポイントは、カメラ・スペース内で座標移動することになるので、ノイズパターンが変わってしまう。<br />
<br />
これをオブジェクト・スペースに変えるには<br />
Shop > basic_surface >basicで<br />
transformノードを作成。(ヘルプ:<a href="http://www.sidefx.com/docs/houdini11.1/nodes/vop/transform">Transform</a>)<br />
<br />
<br />
<br />
global1の出力Pをtransform1のfrom入力へ接続<br />
transform1のto出力をturbnoise1のpos入力へ接続<br />
<br />
Trasnformノードのパラメータペインを見ると<br />
From Space > space: current<br />
To Space > space: object<br />
となっている。<br />
<br />
選択肢のなかでobject spaceとtexture spaceはここでは結果としては同じになる。<br />
<br />
<br />
--------------<br />
<b style="color: blue;"><RestPositionを使う></b><br />
<br />
Cubeの一つのフェイスを選択肢それを移動することでストレッチする場合。<br />
上記の設定では、参照するオブジェクトのポイント位置がオブジェクトスペース内で変化しているので、テクスチャーパターンがフレーム毎に変化することになってしまう。<br />
<br />
これを防ぐには、Restpositionノードをturbnoise1のposに接続する。<br />
<br />
※Mayaのテクスチャーリファレンスオブジェクトみたいなもの<br />
<br />
<br />
<br />
--------------<br />
<b><span style="color: blue;"><NDC座標を使う></span></b><br />
<br />
カメラからの視点と同じで、左下が0,0 右上が1,1の座標。<br />
<br />
Shopネットワーク、2Dテクスチャ(Boxes)を使った例<br />
global1(P) -->(From) Transform1(To)--->(vec)VectorToFloat(fval1)--->(s)boxes<br />
VectorToFloat(fval2)--->(t)boxes(amount)---->(bias)colormix1<br />
<br />
boxes1<br />
S Frequency : 18<br />
T Frequency : 18<br />
<br />
Boxesのパターンはカメラと平行な面になっている。<br />
<br />
※Mayaのカメラプロジェクションと同じ(?)<br />
<br />
<br />
<br />
<b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモはビデオチュートリアルを見ての私的なメモで、完全な記録ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-35692973475169289532011-11-03T18:03:00.001+09:002011-11-03T18:12:31.238+09:00メモ:Basic: Attributes III (ビデオチュートリアル)by Peter Quint<b><br />
<a href="http://vimeo.com/6803939">Basic: Attributes III by Peter Quint</a></b><br />
<br />
<br />
<br />
sphere(SOP) - atttribcreate(SOP)<br />
<br />
sphere(SOP)<br />
PrimitiveType: Polygon Mesh<br />
Radius:1, 2, 1<br />
<br />
atttribcreate(SOP)<br />
Name: myvar<br />
Type: Float<br />
Size: 3<br />
<br />
マルチコンポーネント・アトリビュートの作成方法<br />
ここでSizeが1であると下のValueでは1つ(左端)しか使えない。<br />
しかしSizeを3にすると3つのコンポーネントをもたせる事が出来る。<br />
myvar[0], myvar[1], myvar[2]<br />
<br />
TypeをVectorにしても同じくコンポーネントは三つになる。<br />
ただし myvar[x], myvar[y], myvar[z]<br />
<br />
----------<br />
point(SOP)を追加<br />
Add Color $MYVAR1, $MYVAR2, $MYVAR3<br />
Details Viewをみると、<br />
myvar[0], myvar[1], myvar[2]の値がそれぞれ入っているのがわかる。<br />
<br />
--------------<br />
attribcreate1(SOP)のアウトプットにattribcreate(SOP)を別フローで追加。<br />
Name: myvec<br />
Type: Vector<br />
Value:1, 1, 1<br />
<br />
<br />
※カスタムDisplayオプション<br />
シーンビューでdキーを押してディスプレイオプションを表示する。<br />
Customの横にある三角ボタンを押してCreate Attrib Vectorで追加する。<br />
できたオプション名を右クリックして詳細設定。<br />
<br />
表示されるのはvectorとなる。<br />
たとえばxyzが1,1,1であるならそのポイントを0,0,0の起点とした1,1,1に向かう線で表示される。<br />
<br />
--------------<br />
objレベルへ移動し、上記のカスタム表示のベクトルが上を向くようにSphereを回転させる。<br />
この状態でアトリビュート血を見てもmyvecの値は1,1,1で変わっていない。<br />
<br />
しかしシェーダーなどに適用される場合、このベクトル値はトランスフォームされた値になる。<br />
ObjレベルでGeometryノードを作成<br />
内部に入りobjectmerge(SOP)を作成。<br />
<br />
object1にSphereを設定。<br />
/obj/sphere<br />
<br />
この段階ではTransformが適用されていない。<br />
objectMergeノードのTransformは<br />
デフォルトでは「into Specific Object」<br />
これはその下のTransform Objectにオブジェクトを指定する必要がある。<br />
<br />
「into This Object」に変更すると<br />
このオブジェクトにトランスフォームが適用される。<br />
<b><br style="color: red;" /><span style="color: red;"><myvarとmyvecのdetails viewでの違い!=""></myvarとmyvecのdetails></span></b><br />
myvarは1,1,1という風にカスタムアトリビュートの設定値が表示されている。<br />
myvecは0.0860114,1.72959,-0.0334987という風にトランスフォームが適用された値となっている。<br />
これがベクターと、3floatコンポネントの違いである。<br />
(要するにローカルとワールドの違いか)<br />
<br />
<br />
--------------<br />
sphere1 - attribcreate1だけのネットワークにする。<br />
<br />
attribcreate1<br />
Name: myvar<br />
Class: Detail<br />
Type: Float<br />
Size: 1<br />
Value: 1234<br />
<br />
attribPromote(SOP)を接続<br />
(attribPromote: アトリビュートを異なるレベルへとコピーする方法)<br />
Original Class: Detail<br />
Original Name: myvar<br />
New Class: Point<br />
Promotion Method: First Match<br />
<br />
<br />
<br />
---------------<br />
<b><myvar(Primitive)でのテスト></b><br />
Change New Name: On<br />
New Name : 空欄<br />
Attrib Promoteが機能せず、Promotion Methodはスルー。<br />
名称は元と同じ、アトリビュートは元のクラスの位置に表示される。<br />
例:myvar(Primitive)はDetails Viewの「Primitive」に表示される。<br />
<br />
<br />
Change New Name: On<br />
New Name: newvar<br />
AttirbPromoteは機能し、Promotion Methodで処理される。<br />
名称は新しく入力した名前になり、アトリビュートは新しいクラスに表示される。<br />
例:myvar(Primitive) --> newvar(Point)は「Point」に表示される。<br />
<br />
<br />
Change New Name:Off<br />
New Name: (無効)<br />
AttirbPromoteは機能し、Promotion Methodで処理される。<br />
名称は元と同じ名前になり、アトリビュートは新しいクラスに表示される。<br />
例:myvar(Primitive) --> myvar(Point)が「Point」に表示される。<br />
<br />
<br />
<b><Detail --> Point 変換の例></b><br />
-- attribCreate1--<br />
Class: Detail<br />
Type: Float<br />
Size: 1<br />
Value: rand($PT)<br />
[Details View] : myvarの値はDetailクラスに0.641601と表示されている(一行のみ)<br />
<br />
-- attribPromote1--<br />
Detail --> Point<br />
[Details View] : PointクラスにID毎に42行(0-41)表示、すべて同じ値。<br />
Sum of Squares(Promote Method)では、0.411651<br />
それ以外のPromote Methodは全て0.641601<br />
<br />
<br />
<br />
<b><Point --> Detail 変換の例></b><br />
-- attribCreate1--<br />
Class: Point<br />
Type: Float<br />
Size: 1<br />
Value: rand($PT)<br />
[Details View] : PointクラスにID毎に42行(0-41)表示。<br />
全て異なる表示。<br />
0- 0.641601<br />
1- 0.800464<br />
2- 0.510895<br />
3- 0.775474<br />
4- 0.879506<br />
5- 0.20504<br />
......<br />
<br />
-- attribPromote1--<br />
Point --> Detail<br />
[Details View] : Detailクラスに1行のみ表示。<br />
Promote Method毎に値は異なる。<br />
maximum: 0.98474<br />
minimum: 0.0382924<br />
Average: 0.570707<br />
Mode: 0.0382924<br />
Median: 0.657865<br />
Sum: 23.9697<br />
Sum of Squares: 17.0393<br />
Root Mean Square: 0.636944<br />
First Match: 0.641601<br />
Last Match: 0.0382924<br />
<br />
<br />
--------------<br />
Sphere1にMeasure(SOP)を接続<br />
measure1(SOP) :プリミティブの特定の計測値を元にアトリビュートを作る<br />
Type: Area (各ポリゴンの面積を計る)<br />
<br />
[Details View] : PrimitiveクラスにポリゴンID毎に80行(0-80)表示。<br />
アトリビュート名:area<br />
0: 0.1393<br />
1: 0.1393<br />
2: 0.1393<br />
3: 0.165396<br />
(...以下繰り返し)<br />
<br />
このスフィア全体の表面積を求めるには<br />
measure1にattribpromote(SOP)を接続<br />
Original Class: Primitive<br />
Original Name: area<br />
New Class: Detail<br />
Promotion Method: Sum<br />
<br />
[Details View] : Detailクラスのareaアトリビュートが表示される。(一行のみ)<br />
スフィア全体の面積は 11.6659<br />
<br />
<br />
--------------<br />
sphere1(SOP) -- attribcreate1(SOP)<br />
<sphere1><br />
radiusY: 2<br />
<br />
<attribcreate1><br />
Name: myvar<br />
Class: Point<br />
Type: Float<br />
Size: 1<br />
Value: rand($PT)<br />
<br />
sphere1(SOP)のアトリビュートをsphere2(SOP)を作りそれに移行する。<br />
<sphere2(sop)><br />
Primitive Type: polygon<br />
<br />
<attribcopy1(sop)><br />
左インプット:sphere2<br />
右インプット:attribcreate1<br />
Attribute: Other Attribute<br />
Attribute Name: myvar<br />
<br />
<br />
--------------<br />
<b><異なる数のポイントを持ったジオメトリにアトリビュートを引き渡す></b><br />
<sphere1><br />
radiusY: 2<br />
<br />
<add(sop)> :ポイントを一つだけ作る<br />
point0: チェックボックスオン<br />
<br />
attribcreate1をadd(SOP)に接続<br />
<attribcreate1>:上で作ったポイントにmyvarアトリビュートを追加する<br />
Name: myvar<br />
Class: point<br />
Type: Float<br />
Sizez : 1<br />
Default: 0.01<br />
Value: 1223<br />
<br />
attribtransfer1(SOP)を作成: myvarアトリビュートをsphere1のポイントに引き渡す。<br />
左インプット: sphere1<br />
右インプット: attribcreate1<br />
<br />
<br />
これによりadd1でつくられた1つのポイントにあるmyvarの値は、<br />
sphere1(ポリゴン)の全ポイントに引き渡される。<br />
[Details View] : PointクラスにID毎に42行(0-41)表示。<br />
すべてmyvarの値「1223」<br />
<br />
ここでattribtransfer1のDistance Thresholdを操作してみる。<br />
<br />
放射状のフィルター領域。<br />
Sphereの直径は1で、縦方向が2<br />
Addのポイントからの距離。<br />
このThresholdの範囲内にある場合はmyvarのデフォルト値0.01を表示。<br />
<br />
たとえば1.01でいくつかのxz平面に近いポイントのmyvarが1223の値になり、<br />
2.1にするとすべてのポイントのmyvar値が1223になる。<br />
<br />
これをたとえば0.9にしてaddノードをシーンビュー上で移動すると、addノードから0.9範囲の中にあるポイントだけが1223の値を持つことになる。<br />
<br />
ちなみに1は今回のスフィアのxz面の直径で、2はY方向の長さである。</attribcreate1></add(sop)></sphere1></attribcopy1(sop)></sphere2(sop)></attribcreate1></sphere1><br />
<br />
<sphere1><attribcreate1><sphere2(sop)><attribcopy1(sop)><sphere1><add(sop)><attribcreate1>(追記)Vimeoのページに著者よりの追記があったので追加。</attribcreate1></add(sop)></sphere1></attribcopy1(sop)></sphere2(sop)></attribcreate1></sphere1><br />
<sphere1><attribcreate1><sphere2(sop)><attribcopy1(sop)><sphere1><add(sop)><attribcreate1> このチュートリアルで3つのFlaotアトリビュートのローカル変数は「</attribcreate1></add(sop)></sphere1></attribcopy1(sop)></sphere2(sop)></attribcreate1></sphere1> $MYVAR1, $MYVAR2, $MYVAR3.」であることを述べているが、ベクターアトリビュートの変数については述べていなかった。<br />
それは 「$MYVECX, $MYVECY, $MYVECZ」である。<sphere1><attribcreate1><sphere2(sop)><attribcopy1(sop)><sphere1><add(sop)><attribcreate1> </attribcreate1></add(sop)></sphere1></attribcopy1(sop)></sphere2(sop)></attribcreate1></sphere1><br />
<sphere1><attribcreate1><sphere2(sop)><attribcopy1(sop)><sphere1><add(sop)><attribcreate1><br />
</attribcreate1></add(sop)></sphere1></attribcopy1(sop)></sphere2(sop)></attribcreate1></sphere1><br />
<sphere1><attribcreate1><sphere2(sop)><attribcopy1(sop)><sphere1><add(sop)><attribcreate1></attribcreate1></add(sop)></sphere1></attribcopy1(sop)></sphere2(sop)></attribcreate1></sphere1><br />
<sphere1><attribcreate1><sphere2(sop)><attribcopy1(sop)><sphere1><add(sop)><attribcreate1></attribcreate1></add(sop)></sphere1></attribcopy1(sop)></sphere2(sop)></attribcreate1></sphere1><br />
<sphere1><attribcreate1><sphere2(sop)><attribcopy1(sop)><sphere1><add(sop)><attribcreate1></attribcreate1></add(sop)></sphere1></attribcopy1(sop)></sphere2(sop)></attribcreate1></sphere1><br />
<sphere1><attribcreate1><sphere2(sop)><attribcopy1(sop)><sphere1><add(sop)><attribcreate1></attribcreate1></add(sop)></sphere1></attribcopy1(sop)></sphere2(sop)></attribcreate1></sphere1><br />
<sphere1><attribcreate1><sphere2(sop)><attribcopy1(sop)><sphere1><add(sop)><attribcreate1></attribcreate1></add(sop)></sphere1></attribcopy1(sop)></sphere2(sop)></attribcreate1></sphere1><br />
<sphere1><attribcreate1><sphere2(sop)><attribcopy1(sop)><sphere1><add(sop)><attribcreate1><br />
<b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモはビデオチュートリアルを見ての私的なメモで、完全な記録ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b></attribcreate1></add(sop)></sphere1></attribcopy1(sop)></sphere2(sop)></attribcreate1></sphere1>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-68807112748503466512011-11-03T15:04:00.002+09:002011-11-03T15:30:56.295+09:00ヘルプ(翻訳): Attirb Promote(SOP)<img alt="" src="data:image/png;base64,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" /><a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/attribpromote">Attirb Promote(SOP)</a><br />
<br />
あるジオメトリ・レベルから別のレベルへとアトリビュートを昇格もしくは降格する。<br />
これはあるクラスのアトリビュートを別のクラスへと変換する簡単でわかりやすい方法です。例えば、いくつかの異なる結合方法から一つを使う事で、ポイント・アトリビュートをプリミティブ・アトリビュートへと変換させることができます。<br />
<br />
インデックス・アトリビュートでは、マージメッソッドは、アトリビュートを文字列として扱います。<br />
Averageは、中央値を提供します。<br />
その他の数値を扱う方法は、最初に一致するモノから並べ替えます。<br />
<br />
パラメータ<br />
<table class="dl"><tbody>
<tr class="defn"><td class="dt " id="original_name" style="background-color: #cccccc;">Original Name </td><td class="dd " style="background-color: white;">ソース・クラスのアトリビュート名 例えば「Cd」は色です。 </td></tr>
<tr class="defn"><td class="dt " id="original_class" style="background-color: #cccccc;">Original Class </td><td class="dd " style="background-color: white;">アトリビュートが始めのクラスです。point, Primitive, detail, vertexのいずれかになります。</td></tr>
<tr class="defn"><td class="dt " id="new_class" style="background-color: #cccccc;">New Class </td><td class="dd " style="background-color: white;">これはアトリビュートをプロモート(昇格)するクラス。元のクラスとは異なるモノでなくてはならず、同じ場合はワーニングが表示されなにも起きない。</td></tr>
<tr class="defn"><td class="dt " id="promotion_method" style="background-color: #cccccc;">Promotion Method </td><td class="dd " style="background-color: white;">新しいクラスが単いつにもかかわらず、一つ以上のアトリビュートがオリジナルのクラスに ある時は新しい値を決めるために、いくつかの方法(Method)が使われる。<br />
例えば、PointアトリビュートをPrimitiveアトリビュートへ変更するときは、一つのポリゴンに複数のポイントが対応している。<br />
<br />
<table class="dl"><tbody>
<tr class="defn"><td class="dt " id="maximum" style="background-color: #cccccc;">Maximum </td><td class="dd " style="background-color: white;">最大値に一致するもの </td></tr>
<tr class="defn"><td class="dt " id="minimum" style="background-color: #cccccc;">Minimum </td><td class="dd " style="background-color: white;">最小値に一致するモノ</td></tr>
<tr class="defn"><td class="dt " id="average" style="background-color: #cccccc;">Average </td><td class="dd " style="background-color: white;">平均値か、すべての一致するものを足して、その一致した数で割った値 </td></tr>
<tr class="defn"><td class="dt " id="mode" style="background-color: #cccccc;">Mode(並数)</td><td class="dd " style="background-color: white;">最大共通項。もし一つ以上が最大共通項になるようなら、最大共通の最小値をとる</td></tr>
<tr class="defn"><td class="dt " id="median" style="background-color: #cccccc;">Median(中央値) </td><td class="dd " style="background-color: white;">中央値にもっとも一致するもの。もし複数あったなら、二つのうち高い方</td></tr>
<tr class="defn"><td class="dt " id="sum" style="background-color: #cccccc;">Sum </td><td class="dd " style="background-color: white;">一致するモノ全ての合計 </td></tr>
<tr class="defn"><td class="dt " id="sum_of_squares" style="background-color: #cccccc;">Sum of Squares </td><td class="dd " style="background-color: white;">一致する全てを二乗し、合計したもの。 </td></tr>
<tr class="defn"><td class="dt " id="root_mean_square" style="background-color: #cccccc;">Root Mean Square </td><td class="dd " style="background-color: white;">一致する全てのものの二乗の平均値の平方根 </td></tr>
<tr class="defn"><td class="dt " id="first_match" style="background-color: #cccccc;">First Match </td><td class="dd " style="background-color: white;">最初に一致したもの。PointsをPrimitivesにプロモートするには、これはそのプリミティブ中の最初の頂点ポイントになる</td></tr>
<tr class="defn"><td class="dt " id="last_match" style="background-color: #cccccc;">Last Match </td><td class="dd " style="background-color: white;">最後に一致したもの。PointsをPrimitivesにプロポーとするには、これはプリミティブ中の最後の頂点ポイントになる </td></tr>
</tbody></table></td></tr>
<tr class="defn"><td class="dt " id="change_new_name" style="background-color: #cccccc;">Change New Name </td><td class="dd " style="background-color: white;">もしこれが設定されていなければ、新しいアトリビュート名はオリジナルの名前と同じになる。</td></tr>
<tr class="defn"><td class="dt " id="new_name" style="background-color: #cccccc;">New Name </td><td class="dd " style="background-color: white;">そのアトリビュートの新しい名前</td></tr>
<tr class="defn"><td class="dt " id="delete_original" style="background-color: #cccccc;">Delete Original </td><td class="dd " style="background-color: white;">もし設定されていれば、プロ-モーとされああとにオリジナルは削除される。<br />
注意:いくつかのケースでは、頂点アトリビュートを同じ名前のポイントアトリビュートへプロモートするような場合、オリジナルはいつも削除されます。これを避けるにはプロモートするときに名前を変えます。 </td></tr>
</tbody></table><br />
<br />
<code></code><b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモは私的にヘルプを翻訳したなメモで、完全な翻訳ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-82888618736839715842011-11-02T16:52:00.003+09:002011-11-03T15:25:28.628+09:00ヘルプ(翻訳): Attributes<table class="normal"><tbody>
<tr><th></th></tr>
</tbody></table><table class="normal" style="margin-left: 0px; margin-right: auto; text-align: left;"><tbody>
<tr><th><a href="http://www.sidefx.com/docs/houdini11.0/model/attributes">Modeling Attributes</a><br />
<span style="font-weight: normal;"></span><br />
<br />
<span style="font-weight: normal;">いくつかの一般的なアトリビュートのリストとその説明。</span><br />
<br />
<概略><br />
<span style="font-weight: normal;">アトリビュートは頂点、ポイント、プリミティブそしてサーフェイスに格納された名前を持った値のことです。</span><br />
<span style="font-weight: normal;">例えば、ポイント・カラー、位置、UV座標、スプライン・ウェイト(W)、そしてノーマルなどはポイント・アトリビュートとして格納されます。</span><br />
<br />
<span style="font-weight: normal;">エクスプレッション内でその値を使い、形状、色などを変えることが出来ます。</span><br />
<span style="font-weight: normal;">例えばポイントの垂直(Y)位置を元にしてPer-Pointカラーを設定できます。</span><br />
<br />
<span style="font-weight: normal;">(位置のような)いくつかのアトリビュートは、Houdiniによって自動的に設定されますが、マニュアルでアトリビュートを設定したり、自分自身のカスタム・アトリビュートを追加することも出来ます。</span><br />
<br />
<span style="font-weight: normal;">タブ・メニューのアトリビュート・グループ内のサーフェイス・オペレーターは異なるタイプのアトリビュートを設定するために存在しています。</span><br />
<br />
<br />
<span style="font-weight: normal;">Attribute SOPを使えば、パーティクルにArbitrary(独立した)アトリビュートを設定もしくは創作することも出来ます。</span><br />
<span style="font-weight: normal;">これは後にエクスプレッションで使うために、モデルに関連したカスタムのポイント毎の情報(Custome per-point information)を格納させてくれます。</span><br />
<br />
<br />
<span style="font-weight: normal;">一つのノード内のジオメトリにあるアトリビュートを見るには、ネットワークエディターで、ノードをRMBクリックし、ノードのジオメトリ・スプレッドシートを開くためにSpreadsheetを選択します。</span><br />
<br />
<span style="font-weight: normal;">パーティクルも</span><br />
<span style="font-weight: normal;">アトリビュート(複数形)を持ちます。</span><br />
<span style="font-weight: normal;">アトリビュート(複数形)はジオメトリとパーティクルシステムを相互作用させる時にとても重要です。</span><br />
<span style="font-weight: normal;">例えば、ジオメトリからエミットされたパーティクルは(デフォルトでは)それが生み出されたポイントのアトリビュートを継承します。</span><br />
<span style="font-weight: normal;">そしてAttribute Transfoer POPを使ってサーフェイスとパーティクル間でアトリビュートを移転させることによっておもしろい効果を生み出すことが出来ます。</span><br />
<br />
<br />
<よく知られているアトリビュート><br />
<span style="font-weight: normal;">優先順位の高いアトリビュートから低いものにならべると:</span><br />
<span style="font-weight: normal;">●Vertex アトリビュート</span><br />
<span style="font-weight: normal;">●Point アトリビュート</span><br />
<span style="font-weight: normal;">●Primitive アトリビュート</span><br />
<span style="font-weight: normal;">●Detail アトリビュート</span><br />
<br />
<span style="font-weight: normal;">高い優先順位のアトリビュートは低い順位にある似たようなアトリビュートを無効にします。</span></th></tr>
</tbody></table><table class="normal"><tbody>
<tr><th></th></tr>
</tbody></table><table class="normal"><tbody>
<tr><th style="background-color: #cccccc;">Name</th><th style="background-color: #cccccc;">Type</th><th style="background-color: #cccccc;">Size</th><th style="background-color: #cccccc;">On</th><th style="background-color: #cccccc;">Description</th></tr>
<tr><td style="background-color: white;"><code>mat</code></td><td style="background-color: white;">index</td><td style="background-color: white;">1</td><td style="background-color: white;">Detail, Primitive</td><td style="background-color: white;">Material name specification(マテリアル名)</td></tr>
<tr><td style="background-color: #cfe2f3;"><code>rishade</code></td><td style="background-color: #cfe2f3;">index</td><td style="background-color: #cfe2f3;">1</td><td style="background-color: #cfe2f3;">Detail, Primitive</td><td style="background-color: #cfe2f3;">RenderMan shader name(RMシェーダー名)</td></tr>
<tr><td style="background-color: white;"><code>Ca</code></td><td style="background-color: white;">float</td><td style="background-color: white;">3</td><td style="background-color: white;">Detail, Primitive, Point, Vertex</td><td style="background-color: white;">Ambient color (override)(アンビエントカラー)</td></tr>
<tr><td style="background-color: #cfe2f3;"><code>Cd</code></td><td style="background-color: #cfe2f3;">float</td><td style="background-color: #cfe2f3;">3</td><td style="background-color: #cfe2f3;">Detail, Primitive, Point, Vertex</td><td style="background-color: #cfe2f3;">Diffuse color (override)(ディフューズカラー)</td></tr>
<tr><td style="background-color: white;"><code>Cs</code></td><td style="background-color: white;">float</td><td style="background-color: white;">3</td><td style="background-color: white;">Detail, Primitive, Point, Vertex</td><td style="background-color: white;">Specular color (override)(スペキュラカラー)</td></tr>
<tr><td style="background-color: #cfe2f3;"><code>Cr</code></td><td style="background-color: #cfe2f3;">float</td><td style="background-color: #cfe2f3;">3</td><td style="background-color: #cfe2f3;">Detail, Primitive, Point, Vertex</td><td style="background-color: #cfe2f3;">Reflect color (override)(リフレクトカラー)</td></tr>
<tr><td style="background-color: white;"><code>Ct</code></td><td style="background-color: white;">float</td><td style="background-color: white;">3</td><td style="background-color: white;">Detail, Primitive, Point, Vertex</td><td style="background-color: white;">Transmit color (override)(トランスミットカラー)</td></tr>
<tr><td style="background-color: #cfe2f3;"><code>Ce</code></td><td style="background-color: #cfe2f3;">float</td><td style="background-color: #cfe2f3;">3</td><td style="background-color: #cfe2f3;">Detail, Primitive, Point, Vertex</td><td style="background-color: #cfe2f3;">Emission color (override)(エミッションカラー)</td></tr>
<tr><td style="background-color: white;"><code>Alpha</code></td><td style="background-color: white;">float</td><td style="background-color: white;">1</td><td style="background-color: white;">Detail, Primitive, Point, Vertex</td><td style="background-color: white;">Alpha para/perp (override)(アルファ)</td></tr>
<tr><td style="background-color: #cfe2f3;"><code>rough</code></td><td style="background-color: #cfe2f3;">float</td><td style="background-color: #cfe2f3;">1</td><td style="background-color: #cfe2f3;">Detail, Primitive, Point, Vertex</td><td style="background-color: #cfe2f3;">Roughness (override)(ラフネス)</td></tr>
<tr><td style="background-color: white;"><code>fresnel</code></td><td style="background-color: white;">float</td><td style="background-color: white;">1</td><td style="background-color: white;">Detail, Primitive, Point, Vertex</td><td style="background-color: white;">Fresnel coefficient (override)(フレネル値)</td></tr>
<tr><td style="background-color: #cfe2f3;"><code>apara</code></td><td style="background-color: #cfe2f3;">float</td><td style="background-color: #cfe2f3;">1</td><td style="background-color: #cfe2f3;">Detail, Primitive, Point, Vertex</td><td style="background-color: #cfe2f3;">Alpha parallel (override)(アルファ パラレル)</td></tr>
<tr><td style="background-color: white;"><code>aperp</code></td><td style="background-color: white;">float</td><td style="background-color: white;">1</td><td style="background-color: white;">Detail, Primitive, Point, Vertex</td><td style="background-color: white;">Alpha perp (override) (アルファ perp)</td></tr>
<tr><td style="background-color: #cfe2f3;"><code>aroll</code></td><td style="background-color: #cfe2f3;">float</td><td style="background-color: #cfe2f3;">1</td><td style="background-color: #cfe2f3;">Detail, Primitive, Point, Vertex</td><td style="background-color: #cfe2f3;">Alpha roll off (override)(アルファロールオフ)</td></tr>
<tr><td style="background-color: white;"><code>shadow</code></td><td style="background-color: white;">float</td><td style="background-color: white;">1</td><td style="background-color: white;">Detail, Primitive, Point, Vertex</td><td style="background-color: white;">Shadow intensity (override)(シャドー強度)</td></tr>
<tr><td style="background-color: #cfe2f3;"><code>sbias</code></td><td style="background-color: #cfe2f3;">float</td><td style="background-color: #cfe2f3;">1</td><td style="background-color: #cfe2f3;">Detail, Primitive, Point, Vertex</td><td style="background-color: #cfe2f3;">Shadow bias (override)(シャドー・バイアス)</td></tr>
<tr><td style="background-color: white;"><code>N</code></td><td style="background-color: white;">vector</td><td style="background-color: white;">3</td><td style="background-color: white;">Primitive, Point</td><td style="background-color: white;">Surface Normal(サーフェイス・ノーマル)</td></tr>
<tr><td style="background-color: #cfe2f3;"><code>v</code></td><td style="background-color: #cfe2f3;">vector</td><td style="background-color: #cfe2f3;">3</td><td style="background-color: #cfe2f3;">Point</td><td style="background-color: #cfe2f3;">Velocity(ヴェロシティー)</td></tr>
<tr><td style="background-color: white;"><code>uv</code></td><td style="background-color: white;">float</td><td style="background-color: white;">3</td><td style="background-color: white;">Point, Vertex</td><td style="background-color: white;">Texture coordinates (UVW)(テクスチャ座標)</td></tr>
<tr><td style="background-color: #cfe2f3;"><code>lod</code></td><td style="background-color: #cfe2f3;">float</td><td style="background-color: #cfe2f3;">1</td><td style="background-color: #cfe2f3;">Detail, Primitive</td><td style="background-color: #cfe2f3;">Level of detail(レベルオブデティール)</td></tr>
<tr><td style="background-color: white;"><code>dir</code></td><td style="background-color: white;">vector</td><td style="background-color: white;">3</td><td style="background-color: white;">Primitive</td><td style="background-color: white;">Vector for attractor force(引力のベクター)</td></tr>
<tr><td style="background-color: #cfe2f3;"><code>fedge</code></td><td style="background-color: #cfe2f3;">float</td><td style="background-color: #cfe2f3;">1</td><td style="background-color: #cfe2f3;">Primitive</td><td style="background-color: #cfe2f3;">Edge force for attractor(引力のエッジフォース)</td></tr>
<tr><td style="background-color: white;"><code>fvortex</code></td><td style="background-color: white;">float</td><td style="background-color: white;">1</td><td style="background-color: white;">Primitive</td><td style="background-color: white;">Vortex force for attractor(引力の頂点力)</td></tr>
<tr><td style="background-color: #cfe2f3;"><code>fspiral</code></td><td style="background-color: #cfe2f3;">float</td><td style="background-color: #cfe2f3;">1</td><td style="background-color: #cfe2f3;">Primitive</td><td style="background-color: #cfe2f3;">Spiral force for attractor(引力の螺旋力)</td></tr>
<tr><td style="background-color: white;"><code>mass</code></td><td style="background-color: white;">float</td><td style="background-color: white;">1</td><td style="background-color: white;">Point</td><td style="background-color: white;">Mass(質量)</td></tr>
<tr><td style="background-color: #cfe2f3;"><code>drag</code></td><td style="background-color: #cfe2f3;">float</td><td style="background-color: #cfe2f3;">1</td><td style="background-color: #cfe2f3;">Point</td><td style="background-color: #cfe2f3;">Coefficient of drag(引っぱり係数)</td></tr>
<tr><td style="background-color: white;"><code>life</code></td><td style="background-color: white;">float</td><td style="background-color: white;">2</td><td style="background-color: white;">Point</td><td style="background-color: white;">Life time (index 0=time alive index 1=death time) (生存時間)</td></tr>
<tr><td style="background-color: #cfe2f3;"><code>id</code></td><td style="background-color: #cfe2f3;">float</td><td style="background-color: #cfe2f3;">1</td><td style="background-color: #cfe2f3;">Point</td><td style="background-color: #cfe2f3;">Identifying tag(IDタグ)</td></tr>
<tr><td style="background-color: white;"><code>rest</code><br />
<br />
<br />
<br />
</td><td style="background-color: white;">float<br />
<br />
<br />
<br />
</td><td style="background-color: white;">3<br />
<br />
<br />
<br />
</td><td style="background-color: white;">Point<br />
<br />
<br />
<br />
</td><td style="background-color: white;">Rest position(レスト・ポジション)<br />
<br />
<br />
<code></code><b><span style="font-size: xx-small;"><span style="color: blue;">(注)このメモは私的にヘルプを翻訳したなメモで、完全な翻訳ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b></td></tr>
</tbody></table>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-38131238115828678922011-10-28T17:10:00.001+09:002011-10-28T17:35:14.628+09:00メモ:Basic: Attributes II (ビデオチュートリアル)by Peter Quint<a href="http://vimeo.com/6803615">Basic: Attributes II</a> by Peter Quint<br />
<br />
<br />
<br />
<b>前回までに作成したネットワーク</b><br />
sphere(SOP) - atttribcreate(SOP) - groupgeoemtry(SOP) <br />
<br />
<b>sphere(SOP) </b><br />
Primitive Type: Polygon<br />
<br />
<b>atttribcreate(SOP)</b><br />
Name:myvar<br />
Class:Point<br />
Type:Float<br />
Value:rand($PT)<br />
<br />
<b>groupgeoemtry(SOP)</b><br />
Entity: Points<br />
Operation: Group by Expression<br />
Filter Expression:$MYVAR > 0.5<br />
<br />
--------------<br />
これにpeak(SOP)を追加する。<br />
Group: 一つ上流のgroupgeometryで設定したgroupを選択する。<br />
Group Type: Points<br />
Distance: 0.8 <br />
<br />
--------------<br />
<b style="color: blue;"><AttribCreate(SOP)で作成したアトリビュートが利用可能かどうかはどうやってみわけるのか?></b><br />
<br />
polyextrude(SOP)を接続<br />
TranslateZに $MYVARと入力しても何も起きない。(ビデオではTYに入れるがTZのほうがわかりやすい)<br />
これはヘルプで<a href="http://www.sidefx.com/docs/houdini11.0/nodes/sop/polyextrude">PolyExtrude</a>のローカル変数を見るとわかる。<br />
ここで利用できるのは$PRである。<br />
PRはPrimitive Numberである。<br />
$MYVARはPointクラスであるので、この変数は何も影響を及ぼさない。<br />
試しに上流のattribcreate(SOP)のClassを「Primitive」に変えると、$MYVARがPolyExtrudeで機能することがわかる。<br />
<br />
<br />
attribcreate(SOP)のアウトプットから別フロートしてpoint(SOP)を接続<br />
AddAlphaにして、$MYVARを値として入力する。<br />
Details ViewでみるとポイントにAlpha値が表示されている。<br />
$MYVARはPrimitiveクラスのままだがポイントとして使えている。<br />
<br />
この理由は二つ<br />
<b style="color: red;">1)Point(SOP)がポイントを扱う(ヘルプでローカル変数にPT(PointNumber)がある)</b><br />
http://www.sidefx.com/docs/houdini11.1/nodes/sop/point<br />
<b style="color: red;">2)attribCreate(SOP)のClassで指定したその下位レベルの情報を利用可能である。</b><br />
例1:Detailは、「Detail,Primitive,Point,Vertex」を利用できる。<br />
例2:Primitiveは「Detail」は利用できないが、「Primitive、Point、Vertex」は利用できる。<br />
例3:Pointは「Detail、Primitive」は利用できないが「Point、Vertex」は利用できる。<br />
<br />
<br />
--------------<br />
<b><span style="color: blue;"><処理におけるノードの種類></span></b><br />
1)1度だけ処理するノード<br />
2)ループ処理するノード<br />
<br />
Point(SOP)はループ処理のノード。<br />
どのループであれIndexをもっている。<br />
Indexは毎回のループで利用可能である。<br />
<br />
Pointの場合は$PT(PointNumber)がそうである。<br />
各ポイントをそれぞれ処理する時に$PTを利用する。<br />
<br />
<br />
--------------<br />
<b style="color: blue;"><<a href="http://www.sidefx.com/docs/houdini11.1/expressions/">Expression</a>関数を使って変数にアクセスできる></b><br />
<br />
point():<br />
<a href="http://www.sidefx.com/docs/houdini11.1/expressions/prim">prim()</a>:特定のノードのアトリビュート(プリミティブ・アトリビュート)の値を返す。<br />
<br />
以下のエクスプレッションをPoint(SOP)のAddAlphaに入力<br />
<b>prim("../attribcreate1",$PR, "myvar",0)</b><br />
<br />
<b style="color: #990000;">"../attribcreate1"</b> :SOPの名称<br />
<br />
<b style="color: #990000;">$PR</b> :プリミティブの番号、ここでは変数を使用しているが例えば「1」と入れるとプリミティブ番号1の値を使用する。Details Viewで見ると、Alphaの値が全てこのプリミティブ番号「1」もつ値になる。<br />
<br />
<b style="color: #990000;">"myvar"</b>:アトリビュート名。attribCreate(SOP)で設定され出力されるアトリビュートmyvarを指定。<br />
<br />
<b style="color: #990000;">0</b>:アトリビュートインデックス。(なぜ0なのか不明)<br />
<br />
<br />
※(追記) アトリビュートインデックスは指定したアトリビュートがベクター値のように複数の値を持っている場合、どの値を使うのかを指定する。<br />
例1:$P は位置なのでXYZの値を持つ 0:X、1:Y、2:Z<br />
例2:$Cdは色なのでRGBの値を持つ 0:R、1:G、2:B<br />
となる。<br />
このチュートリアルでは$PR(プリミティブ番号)を使っているのでこれは値は一つしかない。<br />
よって、0:Primitive Numberということになるのだと思われる。<br />
<br />
<br />
<b><br />
<span style="font-size: x-small;"><span style="color: blue;">(注)このメモはビデオチュートリアルを見ての私的なメモで、完全な記録ではありません。</span><br style="color: blue;" /><span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /><span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-60560227476707672852011-10-27T16:32:00.001+09:002011-10-28T17:11:20.816+09:00メモ:Basic: Attributes I (ビデオチュートリアル)by Peter Quint<a href="http://vimeo.com/6803463">Basic: Attributes I</a> by Peter Quint<br />
<br />
<br />
- 変数<br />
- グローバル変数と標準(スタンダード)変数<br />
- いつ変数を使う事が出来るのか<br />
- 変数とアトリビュート<br />
- グループとオペレーションをコントロールするためにアトリビュートを使う<br />
- アトリビュートのプロモーションとトランスファー<br />
<br />
<br />
------------------<br />
sphere(SOP)のRadiusYに以下のエクスプレッションを入力して説明<br />
フレームを進めると球体がY方向にスケールされる。<br />
$FF<br />
<br />
$:変数を示す<br />
F:Floating Number(浮動小数点数)<br />
F:フレームナンバー<br />
<br />
$FFは変数であり。フレームナンバーを示す。、ジオメトリのアトリビュートとは一切関係ない。<br />
<br />
<br />
--------------<br />
<b style="color: blue;"><どうすれば利用できる変数を知ることが出来るのか?></b><br />
<br />
ヘルプでチェックする。<br />
1)現在使用しているノードのヘルプを見て目的の変数を見つける。<br />
2)そこになければローカル変数を使ってみる。。使えるときもあるし、そうでないときもある。<br />
(ローカル変数は各ノードのヘルプのページに書かれている。)<br />
<br />
<a href="http://www.sidefx.com/docs/houdini11.1/expressions/_globals">Global expression variables</a><br />
内容別に使える変数がリストされている。<br />
<br />
<a href="http://www.sidefx.com/docs/houdini9.5/nodes/sop/standardvariables">Standard Variables </a><br />
ジオメトリのアトリビュートで利用できる変数<br />
これはどこでも使えるアトリビュートではない。<br />
たとえばSphereSOP内のRadiusYで、ポイントポジション(TX)を参照することは意味がない。<br />
<br />
<br />
例:Sphere(SOP)のアウトプットにTransform(SOP)を接続<br />
ヘルプでTransformノードを見てみる。<br />
Local Variablesというセクションがある。<br />
それらが使う事ができる変数である。<br />
ここをみると$TXのStandard Variablesは使う事ができないが、$CEXなどは使えることがわかる。<br />
<br />
例:Sphere(SOP)のアウトプットにpolyextrude(SOP)を接続<br />
TranslateZに以下のエクスプレションを入力(ビデオではYに入力しているがZのほうが見やすい)<br />
$PR*0.01<br />
$PRはPrimitive Numberであり、<a href="http://www.sidefx.com/docs/houdini11.1/nodes/sop/polyextrude#locals">polyextrudeのローカル変数</a>である。<br />
<br />
<br />
<br />
<br />
<br />
--------------<br />
<b style="color: blue;"><アトリビュートは自分で作成できる:カスタムアトリビュート></b><br />
例:Sphere(SOP)のアウトプットにattribcreate(SOP)を接続<br />
Name:myvar<br />
Class:Point<br />
Type:Float<br />
Value:rand($PT)<br />
<br />
$PTはポイントナンバー。<br />
attribcreate(SOP)のローカル変数でもあり、スタンダード変数でもある。<br />
このケースでは上位にSphere(SOP)があり、そこからPointの情報があるので、そのインプット情報を利用してランダム数を生成している。<br />
Details viewでmyvarの値を確認することが出来る。<br />
<br />
attribcreate(SOP)をネットワークからはずしてみるとわかるが、インプット情報がないと$PTは機能しない。<br />
(このノードは調理できずエラーとなる)<br />
<br />
--------------<br />
<b style="color: blue;"><自作したアトリビュートをどのように使うのか?></b><br />
例:attribcreate(SOP)のアウトプットにgroupgeometry(SOP)を接続<br />
Entity: Points<br />
Operation: Group by Expression<br />
Filter Expression:$MYVAR > 0.5<br />
0.5より大きな$MYVAR値をもつポイントをグループ化する。<br />
<br />
<br />
変数名は大文字になっている。<br />
これはgroupgeometry(SOP)のLocal Variableを空欄にした場合、デフォルトでは、Name入力した名前を大文字にして変数名となる。groupgeometry(SOP)をMMBクリックで表示される情報からもそれがわかる。<br />
<br />
<br />
<b><br />
<span style="font-size: x-small;"><span style="color: blue;">(注)このメモはビデオチュートリアルを見ての私的なメモで、完全な記録ではありません。</span><br style="color: blue;" /> <span style="color: blue;">各自の利用は自己判断でお願いします。</span><br style="color: blue;" /> <span style="color: blue;">抜け落ち、間違いの指摘は歓迎です。</span></span></b>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-57349055118032286732011-10-24T16:27:00.002+09:002011-10-24T16:34:14.461+09:00Houdiniブートキャンプ先週の木曜日~土曜日の3日間、SataMonicaにあるSideEffects社のトレーニングルームで、<a href="http://www.sidefx.com/index.php?option=com_content&task=view&id=1998&Itemid=215">Houdini Boot Camp</a>に出席してきた。<br />
<br />
有料($300)のコースだが、3日間でやる内容は以下の通りで非常に多岐にわたるモノとなっていた。<br />
たくさんあるが、一通りどんなものかを説明するという趣旨のコースである。<br />
<br />
1日目:<br />
1)ライティング、シェーディング、レンダリング、シーンのライティング。<br />
2)アトリビュートと変数の説明。カスタムアトリビュートの説明。<br />
3)SOPソルバー:サンプルファイルを使っての作業。<br />
<br />
2日目:<br />
1)ダイナミックス:リジッドボディー・ダイナミクス、RBDの理解とコントロール<br />
2)Flipソルバー:Flipフルイドの理解。フィールドの作成。<br />
3)PyroFX:PyroFX入門。フィールドを作って作業する。<br />
<br />
3日目:<br />
1)VOPs VOPsの理解と使い方。<br />
2)Houdini Digital Assets(HDAs):HDAの作成と理解。<br />
3)質疑応答<br />
<br />
<br />
10:00-17:00のスケジュールで、これらをシーンファイルを使いながら、説明していくのだが。<br />
食事時間や小休憩を含むと実質時間は、5時間半ほどで一日、三つのカリキュラムをこなそうとするので、<br />
一つに使える時間が2時間弱となる。<br />
非常に早い、スピードで説明され、あえていうなら通常のビデオチュートリアルの2倍ぐらいの速度で進んでいく。<br />
パラメータの位置などを探すためにまごまごしていると、3ステップぐらいすでに進んでいるような状況だった。<br />
<br />
このコースに参加するにはHoudini基本操作は迷わずできるぐらいは、最低限でも必要と思われる。<br />
また一通りの作業はやっていることが望まれる。<br />
ソフトに依存しない理解においてはある程度の基礎知識がないとちんぷんかんぷんになってくる。<br />
よって入門者やCG初心者には少々きつい内容ではある。<br />
<br />
反面、カスタムシェーダーやVOPsなど結構ローレベルな操作もしていくので、その辺りを知りたい人やCGプログラミングをする人などには、けっこううれしい入門コースではないかと思う。<br />
<br />
<br />
スピードに無理がある点は、教える側も理解しており、<br />
全ての内容はステップ毎のシーンファイルが準備されており、途中で見失ってもそれをみればわかるようになっている。<br />
また授業の内容は音声を含めて記録されており、後ほどチュートリアル動画としてコース参加者はダウンロード可能となる。<br />
言ってしまえば、ビデオチュートリアルとステップ別のシーンファイルを渡しますが、それをとりあえず手っ取り早く説明しますねというほうが正しいかも知れない。<br />
<br />
<br />
前もってシーンファイルなどをわたしてもらい予習を家でやり、その後にこのコースに参加すれば<br />
理解はおそらく2倍以上になっていたのにと思う、もう少しやり方を考えてほしいところ。<br />
<br />
<br />
--------------<br />
さてコースの中身についての感想だが、<br />
<br />
正直、まだまだ入門レベルの自分にはきつかった。<br />
先に述べたようにスピードが速いので、どのノードを使ってどういうことをやるかというのをじっくり理解しているような時間はなかった。<br />
このコースでやったことをどれか一つでもやって見せてくれと言われても多分できない。<br />
<br />
とりあえず、何かやりたいことがあり、それはどういう考えをもって進めていけばいいのかということの概略をつかむことに集中した。<br />
それもおそらく理解度は10-20%ぐらい...。<br />
<br />
<br />
まぁ転んでもただでは起きるつもりはない。<br />
自分なりに得られたモノは、ある。<br />
<br />
1)まず、通常のチュートリアルではここまで入り込まないだろうというようなディープなところまで入って操作している所。<br />
これから先、自分で勉強しているときに、おそらく選択肢として考える幅というか目をつけることの出来る領域は広くなったと思う。<br />
<br />
2)つぎに、自分にはまだまだ覚えなくてはいけないことがたくさんあると言うこと。<br />
今回のコースで作ったシーンは、比較的簡単なモノが多い。<br />
それなのについて行けてない。<br />
それは知らないHoudiniのノードであったり、知らないパラメータや、しらない接続の仕方だったりする。<br />
いいかえれば、Mayaでできていたことができるようになるまでにも覚えるべき事がたくさんあるし、<br />
Houdiniならできるだろうと思っていたことが出来るようになるまでにもまだまだ時間が必要と言うことだ。<br />
<br />
3)Houdiniは非常に低いレベルのデータを直接扱える。<br />
そしてそれゆえに非常に柔軟性がある。<br />
Mayaだとノードの働きとその使い方、組み合わせを覚えることが作業を進めていく上で鍵となることがある。<br />
Houdiniもそうなのだが、ちがいとしてはノードの中身を低いレベルまで細かく分割してみていくことができ、ノードを自作したりカスタマイズすることも可能。<br />
プラグインがないという理由がわかる。<br />
VOPsなどで使われるノードは、それ自体がスクリプト言語一つ一つをノード化したようなもので、<br />
電子ブロックのような感覚で、自作ノードを作ったりノードを操作することが出来るようになる。<br />
<br />
<br />
4)(上記と内容的にダブってはいるのだが...。)<br />
どんなアトリビュートを利用できるのか非常に柔軟性のある考えをあたえてくれる。<br />
これはチュートリアルをやってても感じる事が出来るHoudiniの一つの特徴だが、BootCampで自由自在にパラメータを接続し、エクスプレッションで加工し使っているのを見て、まさにそれがHoudiniを使う理由の大きな一つだと思った。<br />
<br />
それゆえ、変数とか、Int、Vecといった変数の種類とか、CGの要素がそれぞれどんな種類の値を持っているのか(たとえばポリゴンフェイスは、Point、Normal、Colorなど)を明確に知っておくことがHoudiniでの作業の柔軟性を高める上で重要だと思った。<br />
Houdiniでのデータの加工というのは、ポリゴン、カーブ、ポイント、シェーダー、ダイナミックスの境界を自由に越えていると思った。<br />
<br />
CGがCGたる所以はコンピュータでいろいろな操作をすることが出来るからである。<br />
Houdiniはスクリプトを作らなくても、ユーザーがコンピュータを操作していることが実感できるソフトである。<br />
<br />
<br />
5)その他<br />
3DCGソフトのシミュレーションは物理的に正確なシミュレーションではない。<br />
振る舞いを物理的に近いモノにできるが、アーティストが操作することでより自由度のある動きを作ることが出来るようになっている。<br />
<br />
Houdiniでは何かの情報を色のパラメータに置き換える事がある。<br />
これは情報を色のパラメータに格納しているだけである。<br />
(要は変数と同じか)<br />
<br />
Houdiniを勉強するためにSideEffectsのサイトにあるチュートリアルをお勧めしていた。 <br />
<br />
6)自分のメモ:<br />
エフェクトにはシェーディングなどの知識は二の次でよいかというとそうでもなくHoudiniはありとあらゆるパラメータを自由につなげることができるのでシェーディング関係も知っていた方が自由度は高くなるように思う。<br />
<br />
<br />
--------------<br />
今回のブートキャンプは当初、日本人は自分一人だろうと思っていたが、バンクーバーから二人が参加していた。<br />
そのうちの一人は、以前日本に一時帰国したときにあった<a href="http://howtomakecg.blogspot.com/">八尋氏</a>で、1年半ぶりの再開となった。<br />
もう一人の学生さんも含めて、金曜の夜はLAエフェクト飲み会を開催、DDの五十嵐さんにも参加していただき、<br />
たのしい飲みとなりました。<br />
(五十嵐さんには、ずっと気になっていた、あのTronショットの秘密を教えていただき、その力業に驚くと共にやっぱりそうなんだ~と納得)<br />
<br />
<br />
<br />
またこのブートキャンプで目についたのは業界経験者がいたことです。<br />
中にはMaya歴14年(Houdini歴6ヶ月)という人も居ました。<br />
質問の内容からしても、他の方も6~7年は経験している人達のような感じがしました。<br />
やはり、Houdiniへスイッチしようとしている人は増えてきているという印象です。<br />
<br />
今現在のトレーニングの状況からすると、Houdini売り手市場なのは、LAではあと1年ぐらいじゃないかなという勝手な推測をたてています。<br />
それ以降になると、しっかりとしたHoudini経験がないとなかなか採用されないような状況がでてくるような気がします。(あくまでLA内です)<br />
<br />
<br />
おどろいたのは今回バンクーバーから来た二人の話ではバンクーバーではHoudiniアーティストが必要な会社は多いのに教える学校が1つしかないと言うことです。<br />
<br />
少し前にカナダ政府は地元のアーティストを雇うように圧力をかけたという話を聞きましたが、会社側では使えるアーティストがいないという声も目にする状況でした。<br />
一体何が起きているのかわかりませんでしたが、なるほどアーティスト自体はいるのかもしれませんが、即戦力となる(Houdiniのい)アーティストは不足してそうですね。<br />
<br />
<br />
最後に皆が気になる12は、「今年中には」 という事です。Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-39119289498179502662011-10-06T15:15:00.001+09:002011-10-06T15:15:17.904+09:00ヘルプ翻訳: Dynamics ノードDynamics ノード <br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://www.sidefx.com/docs/houdini11.1/images/nodes/dop_node_anno.png" style="margin-left: 1em; margin-right: 1em;"><br />
</a></div><a href="http://www.sidefx.com/docs/houdini11.1/nodes/dop/">http://www.sidefx.com/docs/houdini11.1/nodes/dop/</a><br />
<br />
ダイナミックスノードはダイナミックス/シミュレーションの状態とルールを設定する。<br />
<b><br />
ノード・フラグ</b><br />
<a href="http://www.sidefx.com/docs/houdini11.1/images/nodes/dop_node_anno.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.sidefx.com/docs/houdini11.1/images/nodes/dop_node_anno.png" /></a><br />
Bypass: このノードが影響しないようにする。<br />
Display: シミュレーション時にこのノードまでのネットワークを使用する。<br />
<br />
<b><br />
入力と出力:</b><br />
ダイナミクス・ノードはオブジェクト・インプット(灰色)、データ・インプット(緑色)もしくは両方(object and dataを参照)を持っています。灰色は灰色へ、緑色は緑色へ接続する必要があります。<br />
<br />
一つのダイナミクス・ノードはオブジェクトのアウトプットまたはデータのアウトプットを持っています。<br />
いくつかのノードでは、それらのアウトプットタイプを接続されたインプットを元にそれらのアウトプットを切り替えます。<br />
これはDataノードを使うかわりにノードの接続に、より便利な方法「埋め込み(inline)」を受けつけます。<br />
<br />
<b><br />
ディスプレイ・フラグ: </b><br />
Houdiniがシミュレーションを実行するとき、<br />
オブジェクトとデータの関係を確立するためにディスプレイフラグが立ったノードまでのネットワークを料理します。<br />
なのでディスプレイフラグが立っているノード以降に接続されたノードはシミュレーションに影響しません。<br />
<b><br />
バイパス・フラグ:</b><br />
バイパス・フラグがオンの時、このノードは影響力を持ちません。Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-28059401813505170372011-09-07T15:51:00.000+09:002011-09-07T15:51:01.641+09:00Go Procedual: Lesson One - その1 (柱の上下土台の作成)<h3 class="post-title entry-title"> <a href="http://melonvfxapprentice.blogspot.com/2011/02/go-procedual-lesson-one.html"></a> </h3><div class="separator" style="clear: both; text-align: left;">Go Procedual: <a href="http://www.sidefx.com/index.php?option=com_content&task=view&id=1846&Itemid=346">Lesson One「Quickstart」</a></div><div class="separator" style="clear: both; text-align: left;">(柱の上下土台の作成)</div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGoubKawWrZVZbFCGDGoRkRyMOXvEJrRJOnuI95ssTLK-v0MBhXXBUnC9RgywJ5wtgP9Et1Y-ywhxZJlPdHbhyphenhyphenKtvdyFIPgo5FWc-_j7eEXSgG1_sH0Y4jfSY7ddejSjsbhHNwpw_ElD0/s1600/goPro_1pic.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGoubKawWrZVZbFCGDGoRkRyMOXvEJrRJOnuI95ssTLK-v0MBhXXBUnC9RgywJ5wtgP9Et1Y-ywhxZJlPdHbhyphenhyphenKtvdyFIPgo5FWc-_j7eEXSgG1_sH0Y4jfSY7ddejSjsbhHNwpw_ElD0/s320/goPro_1pic.jpg" width="176" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLywc__T0-jIFwIKP6AZFlRVdyScwTlsFW6aLAJoCetct2Q0sWOaq4t8yaHZPUDTaDQpnNBuvWfDytfEIv0GRx0LX6XB_axXIQlFO_y0sxl5BFcMfCSix0k38xXgFEccC-MXUYmSFwdw0/s1600/goPro_1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLywc__T0-jIFwIKP6AZFlRVdyScwTlsFW6aLAJoCetct2Q0sWOaq4t8yaHZPUDTaDQpnNBuvWfDytfEIv0GRx0LX6XB_axXIQlFO_y0sxl5BFcMfCSix0k38xXgFEccC-MXUYmSFwdw0/s640/goPro_1.jpg" width="320" /> </a> </div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;">柱の作成:</div><br />
柱の土台<br />
1:boxを作成、iキーでGeometryレベルに入る<br />
<br />
<b>box1(SOP);</b><br />
ノードの機能:6面をもつ直方体の箱をクリエイトする。<br />
このシーンでの役割:材料の入手1<br />
目的:土台を作る素材を作成。<br />
データ:<b><span style="color: red;">SizeY 0.15</span></b> CenterY 0.075(もしくはエクスプレッション)<br />
SizeYの値を選択し、CenterYへドラッグ&ドロップして選択画面から「Relative Channel Reference」を選択し/2を加える。<br />
<div style="color: red;"><b>ch("sizey")/2</b></div>上流ノード:なし<br />
インプット:なし<br />
アウトプット:底辺が0の位置にある板状のポリゴン・キューブ<br />
下流ノード:polyextrude1<br />
<br />
2.sキーで選択モードにし、一番上のフェイスを選択。<br />
polyExtrude <br />
<br />
<br />
<b>polyextrude1(SOP)</b><br />
ノードの機能:ポリゴンフェイスやエッジをエクストルードする。<br />
このシーンでの役割:加工1<br />
目的:材料のキューブ形状を変形し土台形状を作成<br />
<b>データ: <span style="color: red;">Translate Z 0.1 Inset -0.15</span></b> 程度 (これはチュートリアルでは指定されてないが似たような形状を作る上で自分で仮定した数値)<br />
上流ノード:box1(キューブの作成)<br />
インプット:デフォルトのポリゴン・キューブ<br />
アウトプット:土台の一番下の形状<br />
下流ノード:polyExtrude2 (加工の継続)<br />
<br />
<br />
3.qキー(直前コマンドの繰り返し)で、PolyExtrudeを繰り返す。<br />
<br />
<br />
<b>polyextrude2(SOP)</b><br />
ノードの機能:ポリゴンフェイスやエッジをエクストルードする。<br />
このシーンでの役割:加工2<br />
目的:二番目の土台形状の下部分を作成。<br />
<b>データ: <span style="color: red;">Translate Z 0.05 Inset なし</span></b><br />
上流ノード:box1(キューブの作成)<br />
インプット:一番下の台形状<br />
アウトプット: 一番下の土台の上が少し伸びた形状<br />
下流ノード:polyExtrude3 (加工の継続)<br />
<br />
<br />
<br />
4.qキー(直前コマンドの繰り返し)で、PolyExtrudeを繰り返す。<br />
<br />
<b>polyextrude3(SOP)</b><br />
ノードの機能:ポリゴンフェイスやエッジをエクストルードする。<br />
このシーンでの役割:加工3<br />
目的:二番目の土台形状の上部分(台形部分)を作る。<br />
<b>データ: <span style="color: red;">Translate Z 0.08 Inset -0.1</span></b><br />
上流ノード:polyExtrude2(立方体の加工)<br />
インプット: 一番下の土台の上が少し伸びた形状<br />
アウトプット:一番目+二番目の土台形状<br />
下流ノード:polyExtrude4 (立方体の加工を継続)<br />
<br />
<br />
<br />
5.qキー(直前コマンドの繰り返し)で、PolyExtrudeを繰り返す。<br />
<br />
<b>polyextrude4(SOP)</b><br />
ノードの機能:ポリゴンフェイスやエッジをエクストルードする。<br />
このシーンでの役割:加工4<br />
目的:三番目の土台形状の下部分を作る。<br />
<b>データ: <span style="color: red;">Translate Z 0.05 Inset 0.05</span></b><br />
上流ノード:polyExtrude3(立方体の加工)<br />
インプット: 一番目+二番目の土台形状<br />
アウトプット:一番目+二番目の土台形状+三番目の下部分のみ<br />
下流ノード:polyExtrude5 (立方体の加工を継続)<br />
<br />
<br />
6.qキー(直前コマンドの繰り返し)で、PolyExtrudeを繰り返す。<br />
<br />
<b>polyextrude5(SOP)</b><br />
ノードの機能:ポリゴンフェイスやエッジをエクストルードする。<br />
このシーンでの役割:加工5<br />
目的:三番目の土台形状の上部分を作る。<br />
<b>データ: <span style="color: red;">Translate Z 0.05 Inset -0.05</span></b><br />
上流ノード:polyExtrude4(立方体の加工)<br />
インプット: 一番目+二番目の土台形状+三番目の下部分のみ<br />
アウトプット:土台の基礎形状<br />
下流ノード:PolyBevel1 (加工の継続)<br />
<br />
--(ここまででPDFドキュメントのステップ8までが終了)<br />
<br />
<br />
7.3キーを押してエッジ選択モードにする。<br />
上から二番目のエッジを選択->Lキーを押してループ選択にする。<br />
3番目、6番目(舌から二番目)のエッジも同様に選択し、Polybevel<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtL_F7j0qGhrc3VtxxnsWYZFVufTZJV1YwFaMSrZiuXk9z_d5LDzkN4woxAXreJYJJoTb0wpALl7xaWHKrTaulLYMp9zFJNkFEyvmFluJShBTDzbl9gPuam6gtMGYuZk2A-uaUxJVnC88/s1600/edgeSelect.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtL_F7j0qGhrc3VtxxnsWYZFVufTZJV1YwFaMSrZiuXk9z_d5LDzkN4woxAXreJYJJoTb0wpALl7xaWHKrTaulLYMp9zFJNkFEyvmFluJShBTDzbl9gPuam6gtMGYuZk2A-uaUxJVnC88/s320/edgeSelect.jpg" width="320" /></a></div><br />
<br />
<b>polybevel1(SOP):</b><br />
ノードの機能:ポイントもしくはエッジをベベルする。<br />
このシーンでの役割:加工6(形状のリファイン、仕上げ)<br />
目的:選択したエッジにベベルをつける。(土台形状の仕上加工:Relative)<br />
データ: <b style="color: red;">BevelType:Flat→High Density Round、 </b><br />
<div style="color: red;"><b>Relative Inset 0.1→ 0.7</b></div><div style="color: red;"><b>Repetitions(繰り返し)0→ 4</b></div>上流ノード:polyExtrude5(土台の基礎形状の作成)<br />
インプット: 土台の基礎形状<br />
アウトプット:ベベルされた土台。<br />
下流ノード:polybevel2(土台の仕上げ加工)<br />
<br />
<br />
8.縦方向の四辺をループを使い選択。土台中央部の辺を選択し、Polybevel<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEjn8wFyRdc3hYiR6P_cRW1YUI-0k2aywsXl6mZ3CUKoDJ__SJ42y125kUFtlQhpv8HtUYgnRSLKI6czbD69P3VOx6MDuc_uGNPtBCVqNrmkRe1Lu7kFcXRa1YaOD3SBa3up_JgF1aoCk/s1600/bevel2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEjn8wFyRdc3hYiR6P_cRW1YUI-0k2aywsXl6mZ3CUKoDJ__SJ42y125kUFtlQhpv8HtUYgnRSLKI6czbD69P3VOx6MDuc_uGNPtBCVqNrmkRe1Lu7kFcXRa1YaOD3SBa3up_JgF1aoCk/s320/bevel2.jpg" width="320" /></a></div><br />
<b>polybevel2(SOP):</b><br />
ノードの機能:ポイントもしくはエッジをベベルする。<br />
このシーンでの役割:加工7(形状のリファイン、仕上げ)<br />
目的:選択したエッジにベベルをつける。(土台形状の仕上加工:Absolute)<br />
<b>データ:</b> <b style="color: red;">BevelType:Flat→High Density Round、 </b><br />
<div style="color: red;"><b>Absolute</b></div><div style="color: red;"><b>Absolute Inset 0.1→ 0.0125</b></div><div style="color: red;"><b>Repetitions(繰り返し)0→ 2</b></div>上流ノード:polybevel1(土台の仕上げ加工)<br />
インプット: ベベルされた土台。<br />
アウトプット:完成した土台基礎形状。<br />
下流ノード:mirror1(土台形状を複製)<br />
<br />
<br />
9:4キーを押してフェイス選択モードにし、aキーでフェイスを全選択し、Mirror<br />
<br />
<b>mirror1(SOP):</b><br />
ノードの機能:ミラー・プレーンをまたいで、ジオメトリを複製し、ミラーリングする。<br />
このシーンでの役割:加工8 (柱上部の作成)<br />
目的:選択したオブジェクトの複製を作る。<br />
<b>データ:</b> <b style="color: red;">Distance 2.5</b><br />
<div style="color: red;"><b> Direction 0,1,0</b></div>上流ノード:polybevel2(土台の仕上げ加工)<br />
インプット: 完成した土台基礎形状。<br />
アウトプット:完成した柱の上部と下部の土台形状<br />
下流ノード:なし<br />
<br />
-------(pdfファイルのPg29まで終了)--------Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0tag:blogger.com,1999:blog-4447604507188621355.post-7894704121466823102011-02-10T20:29:00.002+09:002011-02-10T21:09:13.286+09:00Go procedual Introduction(星形のポピュレーション)の練習<div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; color: red; text-align: left;"><b>以前3Dbuzzのチュートリアルを行ったときに使用した分析手順を若干改善しフォーマット化した。(注:3Dbuzzバージョンは有料チュートリアルの内容を含むため非公開です)</b></div><div class="separator" style="clear: both; color: red; text-align: left;"><br />
</div><div class="separator" style="clear: both; color: red; text-align: left;"><b>その効果のテストと、その分析に対して繰り返しの練習を適用した場合の効果を確認するのがこのエントリで行った練習の目的。</b></div><div class="separator" style="clear: both; color: red; text-align: left;"><br />
</div><div class="separator" style="clear: both; color: red; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">繰り返しの練習についてはブログ「毎日、Melスクリプトの勉強!! 」のエントリ</div><div class="separator" style="clear: both; text-align: left;">「<a href="http://shikatanaku.blogspot.com/2011/02/cg.html">CGの習得方法</a>」を参照。</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">--------------------------------</div><div class="separator" style="clear: both; text-align: left;">テスト: 以下のフォーマットでチュートリアルに出てくるネットワークを分析してみる。</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; color: blue; text-align: left;"><b>このチュートリアルの要点</b><b>:</b> <b style="color: black;">概略、要点</b></div><div class="separator" style="clear: both; color: blue; text-align: left;"> <b>このネットワークの機能</b><b>: <span style="color: black;">具体的な動作。</span></b></div><div class="separator" style="clear: both; color: blue; text-align: left;"><br />
</div><div class="separator" style="clear: both; color: blue; text-align: left;"> <b>手順: <span style="color: black;">チュートリアルの手順</span></b></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><b style="color: blue;">ノード名(ノードの種類); 例:box1(SOP)<br />
ノードの機能:<br />
働きの分類: そのノードがネットワークの中で果たしている役割(現在、分類項目を選択中)</b></div><div class="separator" style="clear: both; text-align: left;"><b style="color: blue;"> 目的:<br />
データ:<br />
上流ノード:<br />
インプット:<br />
アウトプット:<br />
下流ノード:</b><b> </b></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><b>--------------------------------</b></div><div class="separator" style="clear: both; text-align: left;"><a href="http://vimeo.com/16543946"><b>Go procedual Introduction(星形のポピュレーション)</b></a><b> (<a href="http://vimeo.com/16543946">vimeo</a>) </b></div><div class="separator" style="clear: both; text-align: left;"><b>--------------------------------</b></div><div class="separator" style="clear: both; text-align: left;"><b> </b><b>このチュートリアルの要点</b><b>:</b> ある形状を平面上に、複数コピーして配置する。</div><div class="separator" style="clear: both; text-align: left;"><b>このネットワークの機能</b><b>:</b> 星形形状を平面上にランダムに配置する </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvhio80lpArmUp5bbeWbn2d1ldNqkD7QnNnDob_39U3ea6aMO3GLUAoClxqDma8Bj0GgV7ffWM2qyKkhzgabq8RbXwag9FhN9RUUbZfHGhHVbRA1EPmyZlFkkFJCMAViiJ3kHr43S7Q7s/s1600/goProcedure2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvhio80lpArmUp5bbeWbn2d1ldNqkD7QnNnDob_39U3ea6aMO3GLUAoClxqDma8Bj0GgV7ffWM2qyKkhzgabq8RbXwag9FhN9RUUbZfHGhHVbRA1EPmyZlFkkFJCMAViiJ3kHr43S7Q7s/s320/goProcedure2.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: left;"><b> </b></div><div class="separator" style="clear: both; text-align: left;"><b>------------- </b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk0mGNm24ORiRgtGWZ8aBx2EjFskTY1GSjQ9A5QoSUazYtE9eujlG2sU1Cu2I4obUA1GDujL73-vM20Bn1Sc712K8eN5nBBlnDPvgXqLShaVirN3rhe4y7a2W3hO0xo0REgdP6dzncAcQ/s1600/goProcedure1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk0mGNm24ORiRgtGWZ8aBx2EjFskTY1GSjQ9A5QoSUazYtE9eujlG2sU1Cu2I4obUA1GDujL73-vM20Bn1Sc712K8eN5nBBlnDPvgXqLShaVirN3rhe4y7a2W3hO0xo0REgdP6dzncAcQ/s320/goProcedure1.jpg" width="283" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><br />
<br />
<b>手順1:</b>boxを作成<br />
<br />
<br />
<b>box1(SOP);</b><br />
ノードの機能:6面をもつ直方体の箱をクリエイトする。<br />
働きの分類:材料の入手1<br />
目的:星形を作るための素材を作成。<br />
データ:デフォルト<br />
上流ノード:なし<br />
インプット:なし<br />
アウトプット:デフォルトのポリゴン・キューブ<br />
下流ノード:polyextrude1(星形に成形)<br />
<br />
<br />
<b>手順2:</b>すべてのフェイスを選択し、polyextrudeを実行。<br />
<br />
<br />
<b>polyextrude1(SOP)</b><br />
ノードの機能:ポリゴンフェイスとエッジをエクストルードする。<br />
働きの分類:仕込み1<br />
目的:材料のキューブ形状を変形<br />
<b>データ:</b>デフォルト<br />
上流ノード:box1(キューブの作成)<br />
インプット:デフォルトのポリゴン・キューブ<br />
アウトプット:星形(LoRez)形状<br />
下流ノード:subdivide1(スムース化)<br />
<br />
<b>手順3:</b>フェイスモード(4)ですべての面を選択し、subdivideを実行<br />
<br />
<br />
<b>subdivide1(SOP)</b><br />
ノードの機能:ポリゴンを再分割し、よりスムースなHiレゾのポリゴンにする。<br />
こ のノードは(一つもしくは両方のインプットに接続できる)インプット・ポリゴン・サーフェイスを受け取り、<a href="http://d.hatena.ne.jp/u_1roh/20060627/1151390713">Catmull-Clark再分割アルゴリズム</a> を使ってスムースなポリゴン・サーフェイスを作 成するために各フェイスを分割する。<br />
働きの分類:仕込み2<br />
目的:星形形状をスムースにする<br />
<b>データ:</b>Depth2<br />
上流ノード:polyextrude1(ローレゾ星形の作成)<br />
インプット:LoRezの星形<br />
アウトプット:HiRezの星形<br />
下流ノード:copy1(星形を平面上に配置)<br />
<br />
<br />
<b>手順4:</b>objレベルに戻りGridを作成<br />
<br />
<b>grid1(SOP)</b><br />
ノードの機能:プレーンを作成<br />
働きの分類:材料の入手2<br />
目的:星形を配置するポイントを作るための素材<br />
<b>データ:</b>Size20,20 Rows4, Columns4<br />
上流ノード:なし<br />
インプット:なし<br />
アウトプット:ポリゴン平面グリッド<br />
下流ノード:Scatter1(ポリゴン平面のポイントをランダムにする)<br />
<br />
<b>手順5:</b> Copy to Points(Modifyタブ)を実行<br />
まずキューブを選択し、Enter。<br />
次にグリッドを選択し、Enter.<br />
<br />
<br />
<b><a href="http://www.sidefx.com/docs/houdini9.5/nodes/sop/copy">copy1</a>(SOP)</b><br />
ノードの機能:インプット・ジオメトリの複数の複製を作ったり、そのジオメトリをセカンド・インプットのポイントにコピーする。<br />
コピー・ノードには二つの主な機能があり、2つ目の機能はとても便利である。<br />
*インプット・ジオメトリの複数コピーを作成する。各コピーに対して徐々に変化するトランスフォームを適用することが出来る。たとえばBoxモデルのサイズを漸次的に変化させたものを一列に並べることが出来る。<br />
*ファースト・インプット(ソース)のジオメトリをセカンド・インプット(テンプレート)ジオメトリのポイントにコピーする。これはコピーの配置に対して完全なコントロールを保ったままジオメトリを増やすときには非常に便利である。<br />
働きの分類:アセンブリ<br />
目的:グリッド上に星形を配置する(HiRez)<br />
<b>データ:</b>デフォルト<br />
上流ノード:grid1(後にscatter1)<br />
インプット:星形(HiRez)、グリッド(ランダムポイント)<br />
アウトプット:グリッドのポイントに配置された複数(16個)の星形<br />
下流ノード:なし(最終アウトプット)<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: left;"><b>手順6:</b>何も選択していない状態でScatterを作成</div>grid1とcopy1の間に入れる。<br />
<div class="separator" style="clear: both; text-align: left;"><br />
</div><b>scatter1(SOP)</b><br />
ノードの機能:サーフェイス上にランダムな新しいポイントを散りばめる。<br />
このノードはサーフェイス全体にわたり、大まかに均質なパターンで新しいポイントを分配、限界値でクランプし、穴をあけるように試みる。<br />
生成したポイントは様々な目的に使う事が出来る。パーティクルの発生位置を特定したり、コピーのためのテンプレートとなるポイントにしたり、(レンダリングの)放射計算のためのキューに使用する事が出来る。<br />
フェイスのサーフェイスエリア(より大きなサーフェイス・エリアを持つフェイスは、より多くのポイントを得る)、ユーザー定義のアトリビュート、またはエリアとアトリビュートをブレンドしたものをもとにポイントの配布を設定できる。<br />
注:このノードはUV(サーフェイス)空間にポイントを散布する。<br />
これはピンチされたサーフェイス(Nurbsスフィアやコーンのように)部分は3D空間において均一ではない配布が生じる事を意味する。<br />
注:ボリューム・プリミティブは異なる方法で処理される。<br />
ポイントはその内部に、内部フィールドの値に比例するように散布される。<br />
この目的の為に、マイナス値はゼロにクランプされる。<br />
働きの分類:仕込み3<br />
目的:グリッド上にランダムな配置でポイントを作成する。<br />
<b>データ:</b>Number of Points 50(任意)、Rundom Seed(任意)<br />
上流ノード:grid1<br />
インプット:平面グリッド<br />
アウトプット:ランダムなポイント位置をもったグリッド<br />
下流ノード:copy1<br />
<div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">--------------------------------</div><div class="separator" style="clear: both; text-align: left;">以後、チュートリアルとメモを見ないでネットワークの構築を試みる。</div><div class="separator" style="clear: both; text-align: left;">わからなければすぐにこのメモを見る。</div><div class="separator" style="clear: both; text-align: left;">繰り返し、何も見ないでスムースに出来るまで、ネットワークを構築する練習を続ける。</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">--------------------------------</div><div class="separator" style="clear: both; text-align: left;">2011/02/10</div><div class="separator" style="clear: both; text-align: left;">昨日チュートリアルのステップと各ノードの分析、ネットワークの分析(上記)はすませ、メモを取っておいたのでそれとキーボードショートカットの一覧を参照できる状態にしておき練習開始。</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">正確には数えていないが、大体50回ぐらい繰り返した。</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">完全に間違っていたり、何をして良いかわからなくなったときはすぐにメモを見直す。</div><div class="separator" style="clear: both; text-align: left;">考えて記憶を探り思い出すために時間を割く事は一切しない。 </div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">「入力ミス、クリックミス」は集中力が欠け、現在自分がやっていることが自動的になっており意図を持ってやっていないことを示すている。</div><div class="separator" style="clear: both; text-align: left;">もしくは、ソフトの操作になれていない(どこにあるかきちんと把握できていない)ことを示しているので、理想的な状態ではない。</div><div class="separator" style="clear: both; text-align: left;">集中力を維持し、チュートリアルのインストラクターが次の操作をするときにどのようなことを意図してやっているのか、なぜそこでそれをやっているのかなどを推測し、意識し自分も同じ意図、考えになってできるようにすると比較的クリアしやすい。</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">「一瞬手が止まる」のは自分がやっていることを見失っていることを示す。</div><div class="separator" style="clear: both; text-align: left;">これも理想的ではない要素である。 </div><div class="separator" style="clear: both; text-align: left;">ステップを暗記しようとする傾向があったり、順番を暗記したとおりにやろうとしたり、集中力がかけると、これが見られる。</div><div class="separator" style="clear: both; text-align: left;">意外とステップを暗記しようとする傾向は強い、無意識のうちに暗記に走る。</div><div class="separator" style="clear: both; text-align: left;">原因としては行程を十分理解しないでいるためである。 </div><div class="separator" style="clear: both; text-align: left;"> その時には、現在自分がやっていることは全体の中でどんな役割を持っているのかを見直してみた。</div><div class="separator" style="clear: both; text-align: left;"> たとえば今やっているのは最終的なステップで組み合わせられるフローのふたつのうち、部品となる一つをつくっているとか。</div><div class="separator" style="clear: both; text-align: left;">またメモから全体の流れ、そしてそのノードの役割を見直してから練習に戻る。 </div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">各ステップを間違いを犯さず、躊躇せずに繰り返しできるようになったときに終了とした。</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">今回のような簡単なネットワークでも、意外とチュートリアルをやるときは集中していないことがわかるし、簡単だからと実際には充分に理解しないままに進んでいることがわかった。</div><div class="separator" style="clear: both; text-align: left;">上記の点に気をつけることで、繰り返しやっているうちに集中力が高まってきたし、ただまねてやっているだけではわかりにくかったインストラクターの心理と思考が理解できる。</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">(その他)</div><div class="separator" style="clear: both; text-align: left;">分析のためのフォーマットは、以外と役に立った。</div><div class="separator" style="clear: both; text-align: left;">どこに注意を向けて分析すべきかを、考え込むことなくひとつひとつに注意を向けることをうながし、集中して分析できる。</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">分析のためのフォーマットについては、まだ若干の改善が必要。</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"></div><div class="separator" style="clear: both; text-align: left;">特に「働きの分類」については現在、組み立て工場のラインをモデルにした言葉をつかってみたが、もしかしたら 「Modify」「Deform」といったHoudiniのタブ名にしたほうがよいのかもしれない。</div><div class="separator" style="clear: both; text-align: left;">(orタブ名については新たな項目とする)</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">「ノードの機能」については英語のヘルプファイルを理解するために、翻訳したものをそのまま載せている。</div><div class="separator" style="clear: both; text-align: left;">これはもしかしたら翻訳した物を咀嚼し、自分自信の考えにしたもので、説明を書いた方が良いかもしれない。 </div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">また現時点では項目が多すぎて見づらい感じがある。</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">練習全体を通していえることは、考える必要がほとんど無いと言うこと。</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div>Melonhttp://www.blogger.com/profile/15151386887141186136noreply@blogger.com0