tag:blogger.com,1999:blog-2932272877920343302024-03-19T12:22:43.920+09:00 genchansansanは今日も戦う。genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comBlogger48125tag:blogger.com,1999:blog-293227287792034330.post-22613342733900872792017-09-15T16:41:00.004+09:002017-09-15T16:41:48.887+09:00Border value vdb from polygon setvdb from polygonでvdbをアトリビュートから複数作る場合、順番によってどうやら範囲外の値の設定が変わるよう。<br />
<br />
<br />
<a name='more'></a>When we convert mesh to vdb with "vdb from polygon", we might get different border value.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU6BdMGvIjSZ6sfXNWPqcNBaw0NrgN_FGK0kcUrIuTS8ldK3wR5OUn8hH08ZFc-6ul_gJANrRYz9ruVqW1d1dRaAwJXOJlQYJAtHxior4FiSI5LS9ScIHAT21zp-goOPSker4qo3FmH6k/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="694" data-original-width="1600" height="139" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU6BdMGvIjSZ6sfXNWPqcNBaw0NrgN_FGK0kcUrIuTS8ldK3wR5OUn8hH08ZFc-6ul_gJANrRYz9ruVqW1d1dRaAwJXOJlQYJAtHxior4FiSI5LS9ScIHAT21zp-goOPSker4qo3FmH6k/s320/1.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwhYIq-i6Q0IxF8-9UN4hk7KphSaRImuQWX0upDAD5Iczlhd7TbY376FiM5GKoZDEv6TFBxi1JZtU1wodNgI8B5fBub1rCMwLAeJKStMut7k9S2g0pY4t3LJGxmN0clj5aiXTFo8q2AWw/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="694" data-original-width="1600" height="139" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwhYIq-i6Q0IxF8-9UN4hk7KphSaRImuQWX0upDAD5Iczlhd7TbY376FiM5GKoZDEv6TFBxi1JZtU1wodNgI8B5fBub1rCMwLAeJKStMut7k9S2g0pY4t3LJGxmN0clj5aiXTFo8q2AWw/s320/3.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoTTxSW5OtGNul2KlciJdnmBcgF_oF3ZBseTx2N37DxNjYf-WfAK1zcTI4llY7r0nIab3RfLFej2gNn-Sz4G3MEeX0gkcmcqd4BRWX6NAnz33uCXBnody5n4B3NBcqDjO3RIvD1YpX20Q/s1600/4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="694" data-original-width="1600" height="139" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoTTxSW5OtGNul2KlciJdnmBcgF_oF3ZBseTx2N37DxNjYf-WfAK1zcTI4llY7r0nIab3RfLFej2gNn-Sz4G3MEeX0gkcmcqd4BRWX6NAnz33uCXBnody5n4B3NBcqDjO3RIvD1YpX20Q/s320/4.jpg" width="320" /></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: left;">
floatアトリビュートからのvdb作成を先すると、望んだとおりの結果に。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-65012032066881286522017-01-28T14:48:00.001+09:002017-01-28T14:49:04.573+09:00各プリミティブの中心に点作成<script src="https://gist.github.com/genchansansan/7c50b510176045f4dafb641fe96c5c93.js"></script>genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-32184954442900007772016-11-22T10:24:00.002+09:002016-11-22T10:24:42.635+09:00Use python in a string knobget int value and convert to 4-digit string in string knob.
[python {"%04d"%nuke.toNode("node").knob("intKnob").value()}]genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-44644428307503760402016-11-05T17:41:00.004+09:002016-11-06T19:25:54.370+09:00リアルタイムHDRI編集 & リフレクション確認2Dベースのリアルタイムに近い形でHDRIを編集、それによる映り込みの結果を見ることができます。<br />
<br />
<a name='more'></a><br />
<br />
アイディアは前の職場の方がMaya & AEでやっていたものです。 (何か不都合がありましたら、引っ込めます。。。<br />
)<br />
<br />
<br />
<br />
1. x、yポジションをR、Gで表したテクスチャ作成。<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeRAq_rWJWNCvuzjnSMCOj4f8GSwSQ9JSeC5ivyJW20roXMACoXw_HYphxkWLtKqH8V-q-IS7UxTdC5SHQo71_r7MV25LZCWH4y71KX_WfMiSpBz3aK4WzDiDRt9aqpR7yIZw2tyYJKa8/s1600/uv.jpg" imageanchor="1"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeRAq_rWJWNCvuzjnSMCOj4f8GSwSQ9JSeC5ivyJW20roXMACoXw_HYphxkWLtKqH8V-q-IS7UxTdC5SHQo71_r7MV25LZCWH4y71KX_WfMiSpBz3aK4WzDiDRt9aqpR7yIZw2tyYJKa8/s320/uv.jpg" width="320" /></a><br />
<br />
<br />
<br />
2. これをHDRIとして天球に貼って、リフレクションのみのミラーボールなマテリアルでレンダ。<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXDCS4ef-we3JbGJYYLl9tWMl-GPJ6IPKnFSaMmKzXj1jpUDisy7haSB6cmD5ZzDYzKE6qTVIMb7khwlvRQNXzUm_9_gYyPruupE5C5QhX-EiwyKcK2Qt-h9qj_6sjQTpXveKdrPsG5cU/s1600/untitled4.jpg" imageanchor="1"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXDCS4ef-we3JbGJYYLl9tWMl-GPJ6IPKnFSaMmKzXj1jpUDisy7haSB6cmD5ZzDYzKE6qTVIMb7khwlvRQNXzUm_9_gYyPruupE5C5QhX-EiwyKcK2Qt-h9qj_6sjQTpXveKdrPsG5cU/s320/untitled4.jpg" width="320" /></a><br />
<br />
<br />
<br />
3. copで色から実際に使うHDRIをリマップ。 (左は上記のテクスチャ吐き出す用)<br />
<br />
<br />
右側中央のcolorが今回リフレクション用に足す疑似ライト画像。<br />
トランスフォーム入れて、背景HDRIにcompositeノードを使い、addで乗っけてます。<br />
<br />
上のレンダリング画像のカラーをx、yポジションと見立てて、HDRの該当する場所の色を拾ってくる。<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqnHPB_U8fSCMWMpW-FoJTKFyBhBWTYipO4PTXlI17dcZfjhsob0YZB4LfCtLS0uPm0rfwHwlh-zLiu33MLNpg-3MAlPdNRHvsJ4QTXllO-lp2_-tY3YJr1_dKqWwODGPP9RMqduinxzk/s1600/expla1.jpg" imageanchor="1"><img border="0" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqnHPB_U8fSCMWMpW-FoJTKFyBhBWTYipO4PTXlI17dcZfjhsob0YZB4LfCtLS0uPm0rfwHwlh-zLiu33MLNpg-3MAlPdNRHvsJ4QTXllO-lp2_-tY3YJr1_dKqWwODGPP9RMqduinxzk/s320/expla1.jpg" width="320" /></a><br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPqNuHREkOnAbP0tY2_cNZ3TIiddteXzzElxwQgOzyf5kGxIVI-yFW4nJ1JZ9XmatYpezttOsZ93PvdaF2ZUT-58WJPhSpLoWSIF317IDrND-6DEjx0bjydiDKGp4ruaUkOvAcBNMHmYY/s1600/expla2.jpg" imageanchor="1"><img border="0" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPqNuHREkOnAbP0tY2_cNZ3TIiddteXzzElxwQgOzyf5kGxIVI-yFW4nJ1JZ9XmatYpezttOsZ93PvdaF2ZUT-58WJPhSpLoWSIF317IDrND-6DEjx0bjydiDKGp4ruaUkOvAcBNMHmYY/s320/expla2.jpg" width="320" /></a><br />
<br />
<br />
<br />
4. 簡単編集! (背景HDRIは6K、左の作業はフルHD、ビデオ役倍速再生)<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="360" mozallowfullscreen="" src="https://player.vimeo.com/video/190349035" webkitallowfullscreen="" width="640"></iframe>
<br />
<br />
5. 実際にenvlightにこのHDRIを読み込んでレンダ!<br />
<br />
(略)<br />
<br />
<br />
<br />
レンダラーでプログレッシブ機能はあるけど、(特にヘビーなもの扱うときには)リフレクションの良し悪しを判断できる状態になるまで時間かかるし、2Dの速さには敵わないですね。genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-45755845792059607982016-10-25T15:31:00.002+09:002016-11-06T19:26:27.358+09:00nodeが作られた瞬間にPythonでそのnodeに何かしたいとき。先日同僚に聞かれて、ちょっと調べていたらhoudiniのhelpに載ってのですが、<br />
nodeが作られたタイミングをイベントとして受け取って、何かPythonで処理したい時のscript。<br />
<br />
<a name='more'></a><br />
<br />
これでname conventionやらcolor conventionがしやすくなるし、自作したPyQt Panelとリアルタイムな感じでやり取りできるので、便利そう。<br />
サンプルなので、attribute wrangleのノードの色変えるだけです。。。<br />
<script src="https://gist.github.com/genchansansan/e9a6db1dd2112126f7fde4a52d8a709f.js"></script>
helpのよりシンプルにしてありますが、<br />
yieldって使ったことなくて勉強になりました。genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-3438511119217619932016-10-04T12:57:00.002+09:002016-11-07T09:02:33.147+09:00deforming mesh をremesh忘れないように、メモ。
deforming meshを毎フレームトポロジー変わらないようにremesh。
<br />
<br />
<a name='more'></a><br /><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dwZze6_F2IxUNRRa7a5qFv639xqFXtqbXWDC6BRlBn_BugdbEpYHkXBGvdKdPhy96xFX0JMrtwc0u3D0kLq1g' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiymHJgqiFTaSx4wlAh4G0OCqFHYExwwGz0Z5piFd_irnP6ieI-GDC6-kPPKnQFZrlW5gw0BFl-HIOUO1NfdbKRPy-va8gTsSn0Ct1ihl6BYR2d0GIIjQvzzmlWinh1V1GIXsloTmDcTyQ/s1600/cap_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiymHJgqiFTaSx4wlAh4G0OCqFHYExwwGz0Z5piFd_irnP6ieI-GDC6-kPPKnQFZrlW5gw0BFl-HIOUO1NfdbKRPy-va8gTsSn0Ct1ihl6BYR2d0GIIjQvzzmlWinh1V1GIXsloTmDcTyQ/s400/cap_01.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfTCTsiaZ3_27xZFhoKrzFzbdg3Rt-taGuIj07orpTScAa5QpcID8U-zni6NWs6B8q_VJa45DtYvMTw43z6yKSelVaMdTtCF1JPJkZmV01MwJjzgdccmW2uW01WzhsPI8N2sMh716L4WU/s1600/cap_02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfTCTsiaZ3_27xZFhoKrzFzbdg3Rt-taGuIj07orpTScAa5QpcID8U-zni6NWs6B8q_VJa45DtYvMTw43z6yKSelVaMdTtCF1JPJkZmV01MwJjzgdccmW2uW01WzhsPI8N2sMh716L4WU/s400/cap_02.jpg" width="332" /></a></div>
<br />
なんかもっとすっきりした方法ありそうな気がするんですが。<br />
remesh前のメッシュにrayのminimum distanceで"hitprim"と"hitprimuv"をゲット。<br />
この二つのattributesとinterpolateを使ってdeformさせる。<br />
<br />
remeshしたあと、remesh前のエッジが出ちゃうの、(ベースをsubdivideせずに)簡単に消したい。。。<br />
<br />genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-53845787731852154882016-02-09T11:38:00.001+09:002016-11-07T09:03:22.862+09:00embed this code in a button to execute python code written in string parameters.
<a name='more'></a>
<script src="https://gist.github.com/genchansansan/42d8814878e39c844b1c.js?file=execute_python_written_parm.py"></script><br />
<br />
<br />genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-87763646736938396772015-11-26T14:21:00.001+09:002016-11-06T19:29:05.863+09:00Linux CommandsJust for me..<br />
<br />
<br />
<br />
<br />
Rename :<br />
rename 's/aaaa/bbbb/' aaa/sss/sss/*.txtgenchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-66357669285370336562014-10-17T04:31:00.001+09:002016-11-07T09:44:48.439+09:00PySide in HoudiniNukeの開発を仕事でしていたりするのですが、<br />
こちらはPySideでgui付きのものを開発できるわけですが、<br />
Houdiniは標準じゃついてないってことで、入れてみました。<br />
<br />
<a name='more'></a><br /><br />
<br />
helpやらネットの情報をいくつか合わせたって感じかしら。<br />
<br />
<br />
<b>1. Install Python</b><br />
<br />
<br />
<b>2. Install PySide</b><br />
Pythonインストールしとかないとインストールしてくれない!?<br />
<br />
<br />
<b>3.Copy PySide</b><br />
(インストール場所いじってない場合)<br />
C:\Python27\Lib\site-packages内、「PySide」フォルダを<br />
C:\Program Files\Side Effects Software\Houdini 13.0.376\python27\lib\site-packages<br />
にコピー。<br />
<br />
<br />
<b>4.Copy 「pyqt_houdini<span class="GINGER_SOFTWARE_mark" ginger_software_uiphraseguid="e3304b52-1c41-4fd1-a267-b7f16134bbee" id="eb966e31-715e-44a1-b6ad-b25637b72fd9"><span class="GINGER_SOFTWARE_mark" ginger_software_uiphraseguid="925f6376-2f79-4b1e-a1b0-95f0159f6c8a" id="1c6dfc30-546b-4ad9-a84f-cc75fb08450c"><span class="GINGER_SOFTWARE_mark" ginger_software_uiphraseguid="e0b9da58-85a1-4828-9c13-9ac414fd04a8" id="c5eb3571-a20c-4f69-bba8-8e2cb960cc3d"><span class="GINGER_SOFTWARE_mark" ginger_software_uiphraseguid="4f543a02-1624-4825-9f72-611574f8d9da" id="2db5d381-e66b-402a-8b68-1055fc6f4607">.</span></span></span></span>py」 file</b><br />
C:\Program Files\Side Effects Software\Houdini 13.0.376\houdini\help\hom\cookbook\pyqt\part1<br />
内の「pyqt_houdini.py」<br />
を上記にもある<br />
C:\Program Files\Side Effects Software\Houdini 13.0.376\python27\lib\site-packages<br />
にコピー。<br />
<br />
<span style="color: red;">※追記 : これのPyQt4もPySideに!</span><br />
<br />
<br />
<b>5.書き換え</b><br />
<br />
Nuke
<script src="https://gist.github.com/genchansansan/42d8814878e39c844b1c.js?file=Nuke_sample.py"></script>
を<br />
Houdini
<script src="https://gist.github.com/genchansansan/42d8814878e39c844b1c.js?file=Houdini_sample.py"></script>
<br />
<br />
に。<br />
importの変更と、行末の変更ですな。<br />
houdiniのhelpにあるのを参考にしました。<br />
行末の内容とpyqt_houdini.py内でなにやってるかは要確認。<br />
(pyqt_houdini.py無しにできそう?)<br />
<br />
<br />
<br />
ちなみに、houdiniのhelpにあるサンプルは<br />
<script src="https://gist.github.com/genchansansan/42d8814878e39c844b1c.js?file=pyqt.py"></script>
を<br />
<script src="https://gist.github.com/genchansansan/42d8814878e39c844b1c.js?file=pyside.py"></script>
にすれば動きます。<br />
<br />
<br />
<br />
ノードベースのNukeとHoudini。<br />
共通のツール作れないかなぁ。<br />
PySideで移植も多少簡単になるし。<br />
<br />
<br />
Houdiniでシェルフみたいにアクセスしやすくて、<br />
ノードのパラメータみたいに、hipファイルごとに<br />
固有の値を持ち続けられるpythonを埋め込める場所はどこに....?<br />
<br />
<br />
<br />
<br />
<br />
<br />
追記<br />
<br />
Houdiniで外部エディタでスクリプト書きたいときは、<br />
$EDITOR<br />
にエディタのexeの場所を入れておく。
genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-82423016383560275382014-05-27T15:09:00.000+09:002016-11-07T09:46:02.555+09:00Houdiniでシェーダいじり その2 フレネルだっ編<div class="separator" style="clear: both; text-align: left;">
カメラスペースの法線マップ。</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<a name='more'></a><br /><br />
<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: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY9VSB3MEZOtmAgOm0dy0mVNagCQoFKd1IhwaXmv9vQo_d-giOp1x89zrIjas1ybDdXwijQ_0dn6vji6dnXzuRLKDVAS-1cNE8ruWDRBCtEgKnAZ8G5arXYlLvFFzjpbRGUyOj_DLIqOs/s1600/ss07.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY9VSB3MEZOtmAgOm0dy0mVNagCQoFKd1IhwaXmv9vQo_d-giOp1x89zrIjas1ybDdXwijQ_0dn6vji6dnXzuRLKDVAS-1cNE8ruWDRBCtEgKnAZ8G5arXYlLvFFzjpbRGUyOj_DLIqOs/s1600/ss07.jpg" width="320" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<br /></div>
<div>
"P"の方には、negateでベクトルを反転。</div>
<div>
<br /></div>
<div>
サーフェスからカメラへのベクトルと法線で内積をとって、</div>
<div>
それを二つのベクトルの長さで割ることで、cosineを得られる。</div>
<div>
0~1なので、rampで色付けすれば完了!</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvLduT9jj5dcgFL_EgDhfEFOQRoQukmfm0n-HUMYOS4gGU_FCRAzH5UBSRDiSaodaJUA4TiYvd6_OyK0hyCizUbaDxIhVGx4yAIPh0jAGgpsa-4dR7irm94zH_G6FNd_iP9jN5Rwldkgo/s1600/ss10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvLduT9jj5dcgFL_EgDhfEFOQRoQukmfm0n-HUMYOS4gGU_FCRAzH5UBSRDiSaodaJUA4TiYvd6_OyK0hyCizUbaDxIhVGx4yAIPh0jAGgpsa-4dR7irm94zH_G6FNd_iP9jN5Rwldkgo/s1600/ss10.jpg" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-23871559468731377372014-05-26T14:43:00.003+09:002016-11-07T10:03:04.816+09:00Houdiniでシェーダいじり その2 座標で色変えちゃう編<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>
<a name='more'></a><br /><br />
<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: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFbDS0rdFNYY_fTrOcpfv3jyGbcJG_tni0cOCUbeWK57Jx18zdszqMpDteuJn_ruy0jscXgD33GZWsx97TfsTj_5lZxNtzMGwC1taZ888afDhH3qGZBiPYSYaRYGC7JczUXUUNDNMBrL4/s1600/ss06.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFbDS0rdFNYY_fTrOcpfv3jyGbcJG_tni0cOCUbeWK57Jx18zdszqMpDteuJn_ruy0jscXgD33GZWsx97TfsTj_5lZxNtzMGwC1taZ888afDhH3qGZBiPYSYaRYGC7JczUXUUNDNMBrL4/s1600/ss06.jpg" width="320" /></a></div>
<br />
<div>
<br />
<br />
global variablesから、"P"を引っ張ってくる。<br />
これをtransformでワールド座標系に変換。<br />
<br />
あとは、ある範囲の高さに応じて、rampで量調整。<br />
<br />
<br />
これをsurface modelの'emit_int'に挿す。<br />
<br />
<br />
<br />
今回はこれだけ。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
で、ここで気づいたこと。<br />
copy前にmaterialノードでアサインしておくと、<br />
ベースオブジェクトの座標で色づけしてくれるのでは...<br />
<br />
無理っぽいです。<br />
なので、copy前にポジションを別のアトリビュートで作っておいて、<br />
そのアトリビュートを使う。<br />
<br />
情報量的にもちょういと無駄だけども一番簡単な解決法でした。<br />
<br /></div>
genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-44769020538929948392014-05-22T20:45:00.000+09:002016-11-07T10:03:29.758+09:00Houdiniでシェーダいじり その1 motion vector map編モーションブラーをAEでつけるために、モーションベクターマップ吐き出したいが、<br />
デフォでは用意されていない。<br />
<br />
<a name='more'></a><br /><br />
<br />
自作。<br />
<br />
vのアトリビュートを使って出すことに。<br />
<br />
<br />
<br />
<br />
マテリアルパレットに、ノーマルをレンダするマテリアルはあるのでそれをベースに、<br />
パラメータノードでvを引っ張ってくる。<br />
<br />
数値調整して「bind」ノードに突っ込み、extra image plane用のVEX variableを作っておく。<br />
<br />
<br />
以上。<br />
<br />
<br />
<br />
<br />
飽和しないように、任意の数で割れるようにすることと、0.5かけて、0.5足す。<br />
ノーマライズしない。してしまうと、ほぼ静止しているものがカラーリングされて残念なことになる。<br />
明示的に、空間をワールドから、カメラにしておく。currentは信用ならん。<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhAOP663ed_hRPKxkeOx1zh_fi5qGwqsgDNUWMO8RRVQnh5XF_q_FUM-zu7NKBb34Q8fZV0VT6hGgsb-zRH1cd1TkuHTMs_TKVzKDeewRibPHGk5W2-uq2QYFoLrEnW_93uI5Nf02DVw8/s1600/ss01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhAOP663ed_hRPKxkeOx1zh_fi5qGwqsgDNUWMO8RRVQnh5XF_q_FUM-zu7NKBb34Q8fZV0VT6hGgsb-zRH1cd1TkuHTMs_TKVzKDeewRibPHGk5W2-uq2QYFoLrEnW_93uI5Nf02DVw8/s1600/ss01.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYFe8nKF_qMqE03BNhGfpPh-V4CcLlX-43icgxSXPI4YVTnTfU-_0iy8s7KYh6xfeT_f6TfzxgmYUbuaDwbbDlYT_WTphAaMbrjYO0jTK56aYEHDirefvr9dOJ9eswO8AoucTZ-hfnuuU/s1600/ss02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYFe8nKF_qMqE03BNhGfpPh-V4CcLlX-43icgxSXPI4YVTnTfU-_0iy8s7KYh6xfeT_f6TfzxgmYUbuaDwbbDlYT_WTphAaMbrjYO0jTK56aYEHDirefvr9dOJ9eswO8AoucTZ-hfnuuU/s1600/ss02.jpg" width="221" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTf4SptpJd81tydCDj6w1im09eEuBZDALDNBArza1n_zbmL2M7nW-JkDn4ROb6EmN1R7KfvjWeaGiMw5EcjWlxi8KhDSYuQh5aM8z1ew4pDljmHFtLQTlEOTKhd-gAnIQ7GjJZEquFplc/s1600/ss03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTf4SptpJd81tydCDj6w1im09eEuBZDALDNBArza1n_zbmL2M7nW-JkDn4ROb6EmN1R7KfvjWeaGiMw5EcjWlxi8KhDSYuQh5aM8z1ew4pDljmHFtLQTlEOTKhd-gAnIQ7GjJZEquFplc/s1600/ss03.jpg" width="221" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsqXMNgX59UCEmM_Af0vFEup7qYnVcZKzG3cDhnytGKjJ-04YxY_TIQBF3YYWyaemh1RP9Gbo2pFm6ZGF73ziJ_undWeazzF0g-iUdqJXF5u66DdBhXomkYk94eoIGUKkUsRI_CT1cNkg/s1600/ss04.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsqXMNgX59UCEmM_Af0vFEup7qYnVcZKzG3cDhnytGKjJ-04YxY_TIQBF3YYWyaemh1RP9Gbo2pFm6ZGF73ziJ_undWeazzF0g-iUdqJXF5u66DdBhXomkYk94eoIGUKkUsRI_CT1cNkg/s1600/ss04.jpg" width="221" /></a></div>
<br />genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-28045494011713303842014-03-29T15:03:00.003+09:002016-11-07T10:03:47.589+09:00PythonでHoudini その2その1では、手でリスト作ってノード選択したりしてましたが、<br />
選択とかもある程度児童で選ぶべるような関数も書いておきます。<br />
<br />
<a name='more'></a><br /><br />
<br />
<script src="https://gist.github.com/genchansansan/42d8814878e39c844b1c.js?file=houdini_python_functions.py"></script>
<br />
反復が繰り返されて、大量にノードができちゃったときは、一括変更できてとても便利。<br />
<br />genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-61022271143925985302013-11-05T23:53:00.001+09:002016-11-07T10:04:04.378+09:00fieldforceのfieldに動きがあるときさて、いつか忘れましたが、CGWORLDで、<br />
SOPで作ったVector Fieldをfieldforceとして使ったものが載っていました。<br />
<br />
<a name='more'></a><br /><br />
<br />
便利です。<br />
<br />
んで、fieldforceに使うfieldがずっと変わらないなら、特に、他に気を付けることもないのですが、<br />
変わる場合は、少しいじる必要のある場所が。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhur24weNKQrS45hC_5GcRCCfmh5orFq4gK4r-D_n9UHXKM1TT7zz-VTMCh5Lw5PYWX8oS5Tt_MNlhkTf5W4PL4NA_wZF4cODCY6gM-g0CUCMkvt_UUW5IQL8hf-l5mFZ-lPVIIS97ltgw/s1600/%E5%90%8D%E7%A7%B0%E6%9C%AA%E8%A8%AD%E5%AE%9A+1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhur24weNKQrS45hC_5GcRCCfmh5orFq4gK4r-D_n9UHXKM1TT7zz-VTMCh5Lw5PYWX8oS5Tt_MNlhkTf5W4PL4NA_wZF4cODCY6gM-g0CUCMkvt_UUW5IQL8hf-l5mFZ-lPVIIS97ltgw/s320/%E5%90%8D%E7%A7%B0%E6%9C%AA%E8%A8%AD%E5%AE%9A+1.jpg" width="217" /></a></div>
<br />
'SOP Path'と'Time'を"Set always"にします。<br />
'Time'だけでも良さそう、と思うのですが、<br />
二つとも変更しないと上手くいかんのです。<br />
<br />
いつも忘れるので、メモ。genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-54497878474845903922013-09-19T00:06:00.002+09:002016-11-07T10:04:22.041+09:00FX Demo Reel作ってみました。<br />
<br />
<a name='more'></a><br /><br />
<br />
まだまだなのはわかっている。わかっているが、こうして成果を時々アウトプットすることも大切です。<br />
でも、これでどっか海外に乗り込めないかな~~なんて。。<br />
奇跡よおこれ!<br />
<br />
<br />
My FX demo reel is now online!<br />
I am studying for an FX artist this year and this video is what <span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="524bb1b2-3a82-45a1-a264-74b293ddac5d" ginger_sofatware_uiphraseguid="7b035af7-a46d-40de-b2b0-a48bde9507b3" grcontextid="i:0">i</span> learned by now.<br />
<br />
<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="d5571966-4e10-4962-8ff7-919ac4ab479a" ginger_sofatware_uiphraseguid="4dcf00f6-fb60-48e9-bc0c-771793b7ec84" grcontextid="i:0">i</span> hope recruiters like it and give me chances to work :)<br />
<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="7f68527c-64d3-413a-8b3d-2cc5f47d133b" ginger_sofatware_uiphraseguid="bf5eeaa0-3195-4b42-a290-7fd8cfe3474f" grcontextid="i:0">i</span> have no job now, so <span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="3b0dcbcb-d3ea-441d-a81a-1631d6e9246b" ginger_sofatware_uiphraseguid="bf5eeaa0-3195-4b42-a290-7fd8cfe3474f" grcontextid="i:1">i</span> can go anywhere and begin to work soon!!!!!!!!!!!<br />
<br />
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="281" mozallowfullscreen="" src="//player.vimeo.com/video/74829323" webkitallowfullscreen="" width="500"></iframe> </div>
<div style="text-align: center;">
<a href="http://vimeo.com/74829323">FX Demo Reel 2013</a> from <a href="http://vimeo.com/genchansansan">Naoki Kato</a> on <a href="https://vimeo.com/">Vimeo</a>.</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
夢語りながら退社し無職になり、引きこもって作って、ここまできましたが、</div>
<div style="text-align: left;">
これからどうなるのか...?<br />
<br />
<br />
<br />
ちなみにこちらが降ってきた隕石。(modo)<br />
<br />
This is the meteor that <span class="GINGER_SOFATWARE_spelling" ginger_sofatware_markguid="01098fb8-c537-49ef-9fd0-9abc9e217dfe" ginger_sofatware_uiphraseguid="6e6e4912-205e-4350-94b8-5ea9302f1de4">falled</span> to the building.(with modo)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicch4bsbvuin7gC-NfLqTvikzKDMqHWJO1QyxMyrGtO_Ft6-3wbxcPdJcXn8VyJ_XgAp6dvIsloaqE5LCuf737eLnv7WR-AcjtO0hhVdaxN3-SoqHwbBdNhQRhLo65D5ZyMGXK0NRP4Ls/s1600/01_ft_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicch4bsbvuin7gC-NfLqTvikzKDMqHWJO1QyxMyrGtO_Ft6-3wbxcPdJcXn8VyJ_XgAp6dvIsloaqE5LCuf737eLnv7WR-AcjtO0hhVdaxN3-SoqHwbBdNhQRhLo65D5ZyMGXK0NRP4Ls/s320/01_ft_01.jpg" width="320" /></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: left;">
石の質感怪しいけれど、見えないからこのままのテクスチャで使ってしまいました。</div>
</div>
genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-87882468279256570272013-07-04T00:59:00.002+09:002016-11-07T10:04:37.691+09:00ビル制作。Houdiniで壊すためのシーン作成。<br />
<br />
<a name='more'></a><br /><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAOulVSudyv80uPT3VYbBjgo_rHM8Y6sJ8e-A_izYb09oIXTA3weBqAhk0d7zh2KfHCK3R19dWl2uVHRDGRSOVipBcrQW5ImrtsI9gIGm3NFUfqvWsymI0r-GhjMD9M1HP8yNMc_Tuv0M/s1600/01_ftqtr_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAOulVSudyv80uPT3VYbBjgo_rHM8Y6sJ8e-A_izYb09oIXTA3weBqAhk0d7zh2KfHCK3R19dWl2uVHRDGRSOVipBcrQW5ImrtsI9gIGm3NFUfqvWsymI0r-GhjMD9M1HP8yNMc_Tuv0M/s320/01_ftqtr_01.jpg" width="180" /></a></div>
<br />
<br />
<br />
新○ビルぱくってそれっぽく。<br />
<br />
<br />
動画作るにしても下が写らないようにして楽しようか。<br />
これ以上ここに時間割くのも微妙だし。genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-81846823915852789972013-05-28T02:45:00.001+09:002016-11-07T10:05:25.646+09:00くらえ! Pyro Cluster!!<iframe allowfullscreen="" frameborder="0" height="375" mozallowfullscreen="" src="https://player.vimeo.com/video/66671024" webkitallowfullscreen="" width="500"></iframe> <br />
<a href="http://vimeo.com/66671024"><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="8fedc626-5836-4c6d-9d30-fcd6c6be507e" ginger_sofatware_uiphraseguid="4999044d-bd50-4182-bc37-996e844bfe36" grcontextid="Pyro:0">Pyro</span> Cluster</a> from <a href="http://vimeo.com/user4783547">Naoki Kato</a> on <a href="http://vimeo.com/">Vimeo</a>.<br />
<br />
<br />
<br />
隕石を降らせたいと思っていたが、知識が足りないため、巨大なPyroコンテナ作り、激重...となやんでいたところ、CGWORLD様が乗っけているじゃありませんか、「Pyro Cluster」の記事。<br />
<br />
<a name='more'></a><br />
<br />
<br />
感謝。<br />
<br />
でも初心者にはなかなかあの本だけじゃセットアップするの大変なのよね。<br />
紙媒体だと、最終的な動きがどうなるかもよくわからないし。<br />
記事書いてる方のブログにも最近解説のっけていらっしゃらないし、個々のノードの詳しい中身がよくわかりません。<br />
<br />
<br />
<br />
でも使えるようになりたいってことで、頑張って作ってみました。<br />
「Pyro FX」タブにある「Pyro Cluster」をとりあえずポチって、眺めること1日。<br />
それを基に、smoke source換えて、Resize Containerと格闘すること半日。<br />
できましたー<br />
結果、、CGWORLDとほぼ同じノード構造にもなりました!<br />
<br />
こんな動きでいいんですよね?ってか、自分が欲しかった動きしてくれてるのでこれでいいことにします。<br />
<br />
「初心者がCGWORLD見ながらやってみた」ブログになりそう。<br />
<br />
<br />
<br />
1.カーブ作って、「Pyro Cluster」!<br />
<br />
一からなんて作れません。作れるようにしないといけないけど。<br />
とりあえず今は、適当にNURBSのカーブ描いて、「Pyro Cluster」をポチっ。<br />
これで、ベース完了。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrMMU0ktmH2yoZP53iBbt4uxnHa-vIIuRTYE2eW_JPEalBQY4kvJp0qJtQAKUBqjTsdoZfHrmEv1x46NDEyoxFSvOXxy1WSBrDo5E-7Cq6-k0DZZXskgmtGfd3OVjxBq0MySGRSr12tB0/s1600/summery_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="117" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrMMU0ktmH2yoZP53iBbt4uxnHa-vIIuRTYE2eW_JPEalBQY4kvJp0qJtQAKUBqjTsdoZfHrmEv1x46NDEyoxFSvOXxy1WSBrDo5E-7Cq6-k0DZZXskgmtGfd3OVjxBq0MySGRSr12tB0/s320/summery_01.jpg" width="320" /></a></div>
<br />
<br />
ちなみに、今回の動画は、最終的にこんなノードたち。<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXOmsNEDEg3UuFXAqCbjBr-waS79s4qZVnz3WsJcXv-aEhzyNhYGQjmIYqqxEzNBZ_a3bftve1Y9w4pN7rp5mAygqgph6m3MIJweLzvnM5Cy2MsaQHf_WXUGdVpXLwlTIITtcwNCLkUK8/s1600/all.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXOmsNEDEg3UuFXAqCbjBr-waS79s4qZVnz3WsJcXv-aEhzyNhYGQjmIYqqxEzNBZ_a3bftve1Y9w4pN7rp5mAygqgph6m3MIJweLzvnM5Cy2MsaQHf_WXUGdVpXLwlTIITtcwNCLkUK8/s320/all.jpg" width="320" /></a></div>
<br />
水色で囲ったところが、「Pyro Cluster」で自動で作ってもらえるところ。<br />
ノードはほぼCGWORLDと同じですよね、、、勝手に解説してよろしいのか、、私が?<br />
<br />
<br />
2.ノード構成<br />
<br />
動くオブジェクトが、今どのコンテナにいるのか、、というより、ここで求めたいのは、オブジェクトが動き、隣のコンテナに入る瞬間を取得している。<br />
<br />
なので、動くオブジェクトの中心点が、どのコンテナ(=cluster attributeの値、、、多分)にいるか、「attribute transfer」で調べ、「time shift」で一フレ前と比較。<br />
同じなら、全部の点を消す。違ったら、「cluster_points」でできた「average_points」のうち、cluster attributeが中心点と同じものだけ残す。<br />
<br />
<br />
<br />
<br />
「object_merge2」・・・パスに沿って動くオブジェクト。<br />
「resmaple1」と「scatter1」・・・カーブのポイント間に点をいっぱい作る。clusterするにはこれしないといけないみたい。<br />
「cluster_points」・・・「cluster」、「scale」ってattribute作ってくれて、点の色を変えてくれてる。ここで、作られる二つのattributeが、それぞれのコンテナの識別、コンテナのサイズを決めてる。<br />
<br />
<br />
「volume1」・・・中心点を作るためだけっぽい。これ、便利そう。<br />
(group作って「add」で中心点作って、groupをdelでも同じことできる。)<br />
「group1」・・・上の中心点だけ格納したグループ。<br />
「delete2」・・・上の中心点を消す。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEircZArfdqyzSmYVWScubfHMtXc7YMEh8Z5XsdPCcU7_CWQZzEQaB3jB2sVJveKM_dyHEWoUMVMPox63G17qwbF1fH2NETt25tV4M_EX1NJN4Z-MHfiDm3DpwE0MryxcfcL2D59eRML2AM/s1600/del2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEircZArfdqyzSmYVWScubfHMtXc7YMEh8Z5XsdPCcU7_CWQZzEQaB3jB2sVJveKM_dyHEWoUMVMPox63G17qwbF1fH2NETt25tV4M_EX1NJN4Z-MHfiDm3DpwE0MryxcfcL2D59eRML2AM/s320/del2.jpg" width="320" /></a></div>
<br />
<br />
「delete3」・・・mergeにより、中心点が0番目のpointになるので、こいつと同じcluster番号のaverage_point以外消す。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibN92LMGkgF1tHamRWvuaKKwVBrm8dqqe-nXVpmZvPkowfTEioJcwE61jKnFMS1UdhjwOAstq12n9SeZdkf4ERU9j0nPZDRMdtacRMk-X4Bc9PTSfY48znXwTNjDzgsVzFmPBGmdo2S_8/s1600/del3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibN92LMGkgF1tHamRWvuaKKwVBrm8dqqe-nXVpmZvPkowfTEioJcwE61jKnFMS1UdhjwOAstq12n9SeZdkf4ERU9j0nPZDRMdtacRMk-X4Bc9PTSfY48znXwTNjDzgsVzFmPBGmdo2S_8/s320/del3.jpg" width="320" /></a></div>
<br />
<br />
ここまでで、動くオブジェクトの最寄のaverage_points一点だけが表示されるようになるはず。<br />
<br />
timeshiftは1フレ前見るようにして、vopsopで<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV4NisUdCp1bTodRkSD8oD-G44ktKxpgohx1DwAthf0mI5EogXTtU2KckscKv09-ZrtQzk_H399WhbzVkS5B_q8oe6fzOXG38kwD5DqowOJerk7ojctW0tmtlHkRb1V1Ol-5hE2Z-EEpQ/s1600/vopsop.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="127" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV4NisUdCp1bTodRkSD8oD-G44ktKxpgohx1DwAthf0mI5EogXTtU2KckscKv09-ZrtQzk_H399WhbzVkS5B_q8oe6fzOXG38kwD5DqowOJerk7ojctW0tmtlHkRb1V1Ol-5hE2Z-EEpQ/s320/vopsop.jpg" width="320" /></a></div>
<br />
clusterを「import attribute」二つでinput indexを0と1でそれぞれ読み込む。<br />
比較した結果を適当に「add attribute」で適当なattributeを作成。<br />
<br />
<br />
「delete4」・・・1フレ目は消さないようにして、あとはvopsopで作ったattributeが0の時、<br />
即ちcluster番号が替わり、最寄のaverage_pointsが替わった時だけ消えないようにする。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW8EQZ0C8456o0S3YydQ_uf8cx6Sp3mbVdQ_CaNSbQgFDqJrIC1pzV303E5fW8P270VTkE3QHp1gErOX5E3oMn1fFmQa21_SP_4bA0ro_2xPzz-TS2MZPJnnMB6sSh7pYTvPiZFUlOSTc/s1600/del4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="183" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW8EQZ0C8456o0S3YydQ_uf8cx6Sp3mbVdQ_CaNSbQgFDqJrIC1pzV303E5fW8P270VTkE3QHp1gErOX5E3oMn1fFmQa21_SP_4bA0ro_2xPzz-TS2MZPJnnMB6sSh7pYTvPiZFUlOSTc/s320/del4.jpg" width="320" /></a></div>
<br />
<br />
<br />
3.sim前に<br />
<br />
source自体を分割する必要はないので、<br />
勝手に作ってくれる「create_density_volume」の「Partitioning」は切っておく。<br />
<br />
DopNetwokは、<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6vpChS2mwCKLq6dHNleYSQDgWrMzD7QeUK6dJePjfJRdMl-LeB8ZHGU6D-Q7Tpph2CplMx_LxckxnpM2GdeyE4Q2uUHt3a0QRXi0XX-yrhEbLG_QePF-4txBcMCYTk2ZD1NWWNvZxOD4/s1600/dopnetwork.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6vpChS2mwCKLq6dHNleYSQDgWrMzD7QeUK6dJePjfJRdMl-LeB8ZHGU6D-Q7Tpph2CplMx_LxckxnpM2GdeyE4Q2uUHt3a0QRXi0XX-yrhEbLG_QePF-4txBcMCYTk2ZD1NWWNvZxOD4/s320/dopnetwork.jpg" width="320" /></a></div>
<br />
で、<br />
「pyro」の「Continuous」はon。<br />
これは毎フレInstance Pointsを見て、点を元にコンテナ作成。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAI92R-oEA6fnf8k3IKLLtBhUvwXEsBQWBH_vwEkR5B-WRDvg1YqtRIGR7pCoAwX3Gr2zKdsjyTRO0Q2lmmqDEKGt5mVACMO94_R8IShP_mKOUjxC7SXW_JSbNs-0bbY7mON8BfD_Z-NY/s1600/smokeobject.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAI92R-oEA6fnf8k3IKLLtBhUvwXEsBQWBH_vwEkR5B-WRDvg1YqtRIGR7pCoAwX3Gr2zKdsjyTRO0Q2lmmqDEKGt5mVACMO94_R8IShP_mKOUjxC7SXW_JSbNs-0bbY7mON8BfD_Z-NY/s320/smokeobject.jpg" width="320" /></a></div>
<br />
<br />
「source_density_from_curve_object1_sourcepts」の「Instancing」をoff。<br />
これなに?helpも「???」<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEWORFgFqjdA1TxFEyGykyYIuz8IpBtLwB-cS6y3iBZ9FaZMegbwgqr34Or7_Yi862PsVxZGCIPXUiCKkxtugLfaEqmgSBGlc8SgJle1q0Qs6dUtY4SOwdaxOmZ-0Kr1L041Nbmi1nQbs/s1600/source_volume.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEWORFgFqjdA1TxFEyGykyYIuz8IpBtLwB-cS6y3iBZ9FaZMegbwgqr34Or7_Yi862PsVxZGCIPXUiCKkxtugLfaEqmgSBGlc8SgJle1q0Qs6dUtY4SOwdaxOmZ-0Kr1L041Nbmi1nQbs/s320/source_volume.jpg" width="320" /></a></div>
<br />
「resize_container」の「Max Bounds」はInitialization Staticに。<br />
他のだと上手くできない。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWy4v90xFJoSS9sro_zok13BQh3R7aLYuhFDVCsVJmHNotm0tjw_s1lM0zsExzvfLqpACdlCjnFnakVUKvlkQ_PbWgu-s9Og79SBAJUo7eMa1C4nASPffbNfRBof62bePbJjn2NJnoJf4/s1600/resizecontainer.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWy4v90xFJoSS9sro_zok13BQh3R7aLYuhFDVCsVJmHNotm0tjw_s1lM0zsExzvfLqpACdlCjnFnakVUKvlkQ_PbWgu-s9Og79SBAJUo7eMa1C4nASPffbNfRBof62bePbJjn2NJnoJf4/s320/resizecontainer.jpg" width="320" /></a></div>
<br />
<br />
<br />
以上。<br />
<br />
<br />
<br />
<br />
<br />
<br />
重いのを如何に速く、が書かれているポイントだということで、<br />
<br />
<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="e7f35bfa-3a7b-4605-a6dd-1b12e6ff7eb4" ginger_sofatware_uiphraseguid="4b5c6a1f-e767-434a-806e-f6a1c2bddf91" grcontextid="Pyro:0">・Pyro</span> Clusterは、自動で作ってくれるのは、simの開始フレで一気にコンテナができるが、<br />
動きによっては、コンテナ一気に全部まだいらね~となるので、不要なコンテナを作らない。<br />
・コンテナできたときにsourceがコンテナ内にないと、コンテナサイズちっちゃくしちゃって、その後のsimが上手く動かないので、これ回避するにはresizeしない(resizeのタイミング自由に換えられるのかしら?)。<br />
<br />
ここらへんを一気に解決してくれる凄い便利なものでした。<br />
こんなん考えつかんわ~すごいわ~。genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-15208257196150660672013-02-03T16:33:00.001+09:002016-11-07T10:05:50.675+09:00グループの中心点の2通りの求め方ボロノイで分割した各破片の中心座標もとめて~~がよく使われるので、まとめ。<br />
<br />
<a name='more'></a><br /><br />
破片の回数だけ、繰り返しできる仕組み。<br />
<br />
<br />
1)ForEach SOP<br />
2)Cop SOP によるDelete Stamp(ってHoudini Cook Bookには確か記載されてました)<br />
<br />
<br />
<br />
<br />
1)ForEach SOP<br />
<br />
voronoiは分割と同時に各破片をGroupに分けてくれるので、<br />
ForEach SOPでGroupで繰り返し処理させる。<br />
<br />
<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/AVvXsEh3LAT5w8GlEFyP2JBDMP4Cacuj4ZfEUSOAlYSH1GxRPNbUwhDeM_YE2wfHR0ainXn3-nR3X89XTXizOByu1bDO8fGcBNB3tD6BBs7ZFy8JoSsTiI2Njelz2aC1wUlUzxYuyldV9-r6inQ/s1600/sop01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3LAT5w8GlEFyP2JBDMP4Cacuj4ZfEUSOAlYSH1GxRPNbUwhDeM_YE2wfHR0ainXn3-nR3X89XTXizOByu1bDO8fGcBNB3tD6BBs7ZFy8JoSsTiI2Njelz2aC1wUlUzxYuyldV9-r6inQ/s320/sop01.jpg" width="313" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: start;">voronoiで作ったのを利用するならGroup Maskに「piece*」。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIUqSyGrSY5hiVFFT0QSy89ITk5yjAqR8kTI5KNaLcTF4UdxE8kalALCVf9pFe_xnKPHz1O7ZTv2f-9PGEPeNS3Bp2enURWdcpupvSkZFmm9voJWdZX-0e7d41tMuz9_wLQKGEul7Zrhk/s1600/foreach_param.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIUqSyGrSY5hiVFFT0QSy89ITk5yjAqR8kTI5KNaLcTF4UdxE8kalALCVf9pFe_xnKPHz1O7ZTv2f-9PGEPeNS3Bp2enURWdcpupvSkZFmm9voJWdZX-0e7d41tMuz9_wLQKGEul7Zrhk/s320/foreach_param.jpg" width="320" /></a></div>
<br />
<div class="" style="clear: both; text-align: left;">
ForEach SOPの中身をこんな感じ。</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBozUCAbnQUaHgu89dHghrtl0JgH8DfLtHVHRXs7lOkEcw8_7VcFvsmJqHAy3j22PIVYVLMrxkF6F7bbm4CFlXTSC1ggM1hlOye9UwZCScal-z1ONw63nSZQWbgVexpUSs8LPMWZr91gU/s1600/foreach.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBozUCAbnQUaHgu89dHghrtl0JgH8DfLtHVHRXs7lOkEcw8_7VcFvsmJqHAy3j22PIVYVLMrxkF6F7bbm4CFlXTSC1ggM1hlOye9UwZCScal-z1ONw63nSZQWbgVexpUSs8LPMWZr91gU/s320/foreach.jpg" width="243" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: start;">ForEachが一つずつグループを取り出してくれるので、センターにpointをadd。</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: start;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_fJpw9yFex4AGeCh4KPzhFeTMvN97UsMKNn6y5aOhuKGbgMtwCpSxtTs7v9kYq-PVJOdnymW-gQ7Ocm7KlOMB6DLPJwUXBhKzma51CIgYFhAmvjmrv9g9NZOg6Z645DTE5-oyG4xbBHI/s1600/add.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="149" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_fJpw9yFex4AGeCh4KPzhFeTMvN97UsMKNn6y5aOhuKGbgMtwCpSxtTs7v9kYq-PVJOdnymW-gQ7Ocm7KlOMB6DLPJwUXBhKzma51CIgYFhAmvjmrv9g9NZOg6Z645DTE5-oyG4xbBHI/s320/add.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
プリミティブをdeleteして中心点だけに。</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJnAsxj730vyaxSJ0CDaqwdVq-2YpCChJGZhJiLR8mYaATKLNbpsO0crM2RNgMx_gEUmpbjH1fca09Ua2C5WmNp_yxe-Qwx6vDAtegtLPxGJA6YkceEfZfi0i3_umDdYERovyWDTEmfS0/s1600/delete.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="274" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJnAsxj730vyaxSJ0CDaqwdVq-2YpCChJGZhJiLR8mYaATKLNbpsO0crM2RNgMx_gEUmpbjH1fca09Ua2C5WmNp_yxe-Qwx6vDAtegtLPxGJA6YkceEfZfi0i3_umDdYERovyWDTEmfS0/s320/delete.jpg" width="320" /></a></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: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBZNLF9-Glei3jErgnI57LQV-riox436oJTB6Onzd23ZZR0JkSjIe_cTxgjOg5dgHNEZdjLisj_5_1Q-AihFaJ8KTlITE8h9gsRxnvMjL4tWzOY02-2dGGNU1ghvXdOnGi_n7eShdV-NU/s1600/disp_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBZNLF9-Glei3jErgnI57LQV-riox436oJTB6Onzd23ZZR0JkSjIe_cTxgjOg5dgHNEZdjLisj_5_1Q-AihFaJ8KTlITE8h9gsRxnvMjL4tWzOY02-2dGGNU1ghvXdOnGi_n7eShdV-NU/s320/disp_01.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
こっからはbestかわからないけど、</div>
<div class="separator" style="clear: both; text-align: left;">
voronoi node下の左側で破片を取り出し、右側が先ほどの中心点の集まり。</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: left;">
<br /></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgytSkZKR-HQ7CxdZK5zCGvIRtT4SImCEpUpkbgiQc8Ti2lMxmOVHl_YT0x8HdpZOm96IX6qJgo9APwviTvBS7WFxJw4et3jQiXUkB2bK8PNhHKy9xt_TQpJXUqEHiEQfOokqbnpcC40ME/s1600/sop_nodes.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgytSkZKR-HQ7CxdZK5zCGvIRtT4SImCEpUpkbgiQc8Ti2lMxmOVHl_YT0x8HdpZOm96IX6qJgo9APwviTvBS7WFxJw4et3jQiXUkB2bK8PNhHKy9xt_TQpJXUqEHiEQfOokqbnpcC40ME/s320/sop_nodes.jpg" width="306" /></a><br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
左側はcopyの反復処理にたいして、一つずつpieceを取り出すために、group指定。<br />
今回は、<br />
`arg(primgroupmask("../voronoifracture1","piece*"),stamp("../copy1","copynum",0))`<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkmy2zI0ITF3SMGhNxdJFFOXwSCsLqx9TcoUQoSUo37we2iNe3DRwSzxAU73yy2zbjvfAAPE3gZBmyPPnbuBad_E8Ahz0punPa2PHrz1mOW3IPyPZjDtTgWNsy4LtxB9ad3z6vPUHhRRI/s1600/obj_delete.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="163" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkmy2zI0ITF3SMGhNxdJFFOXwSCsLqx9TcoUQoSUo37we2iNe3DRwSzxAU73yy2zbjvfAAPE3gZBmyPPnbuBad_E8Ahz0punPa2PHrz1mOW3IPyPZjDtTgWNsy4LtxB9ad3z6vPUHhRRI/s320/obj_delete.jpg" width="320" /></a></div>
<br />
取り出した破片は、transformで真ん中に。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJTrRgdmIbATZ2Po-t76ehWC9Tdmd9xOQMKbKohZTL5QRnjdE3KXm3cuoJtN5JJHBsfxCR4wMP0TOLgST8AUSVWrDI6K8HIw1-pKf3so6I1WzF3R1fy3TSUxJ_hYkuN375DelpkRQvM8M/s1600/obj_trans.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJTrRgdmIbATZ2Po-t76ehWC9Tdmd9xOQMKbKohZTL5QRnjdE3KXm3cuoJtN5JJHBsfxCR4wMP0TOLgST8AUSVWrDI6K8HIw1-pKf3so6I1WzF3R1fy3TSUxJ_hYkuN375DelpkRQvM8M/s320/obj_trans.jpg" width="320" /></a></div>
<br />
stampはcopy SOPの2nd inputに入れた点の数までカウントするように、$PT。<br />
2nd inputが無ければ$CYでNumber of Copiesを参照。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUjyLWQdeiCwCsRH9mrNze19p22ryAedkPV2t1oHeQjm3Zl3aF7rh2RSagUwNp6mBeqh6VSojCbDLFGaEx6XDtDuCydb0RC2JnJs3zTF1mBgItXI8ZMiScLJrVx-H5Z6uZM1-4EFWi_QI/s1600/copy1_stamp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="219" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUjyLWQdeiCwCsRH9mrNze19p22ryAedkPV2t1oHeQjm3Zl3aF7rh2RSagUwNp6mBeqh6VSojCbDLFGaEx6XDtDuCydb0RC2JnJs3zTF1mBgItXI8ZMiScLJrVx-H5Z6uZM1-4EFWi_QI/s320/copy1_stamp.jpg" width="320" /></a></div>
<br />
transformノードを表示させて一つ取り出せていればこんな感じ。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlF_Lz5I8ZkgKOwNXFLCin_pIk1k2cVUeYXiG5dhynUDZzY16Ynr1Kgj15oio6MabuyAhSxnsUZim65oJ-mOiY7LwWGd0KTUSwY5Z5l39KHSJu_gJMbAkgQFcRra3AhWPbtzWA17LsCHo/s1600/disp_02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlF_Lz5I8ZkgKOwNXFLCin_pIk1k2cVUeYXiG5dhynUDZzY16Ynr1Kgj15oio6MabuyAhSxnsUZim65oJ-mOiY7LwWGd0KTUSwY5Z5l39KHSJu_gJMbAkgQFcRra3AhWPbtzWA17LsCHo/s320/disp_02.jpg" width="320" /></a></div>
<br />
<br />
copy SOPを表示させて、元通りになっていれば完了。<br />
中心点に特定のアトリビュートを与えておけば、いろいろいじれる。<br />
今回は、pscaleを作ってvopsopでnoiseを加えるとこんな感じになる。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU-FesSY7jDlQ9LtnSY_ABu_6c3JNc0pL4eUX54AwIncGXp4B_fIIsQOfHNtqz8CF0F5fQwJjtK3ecOzMP10f3391TKSY0xCg2Ijq56jjmJ5KXHs9rsMd9ETYmT8upfBPvUqiAEUGfizg/s1600/disp_03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU-FesSY7jDlQ9LtnSY_ABu_6c3JNc0pL4eUX54AwIncGXp4B_fIIsQOfHNtqz8CF0F5fQwJjtK3ecOzMP10f3391TKSY0xCg2Ijq56jjmJ5KXHs9rsMd9ETYmT8upfBPvUqiAEUGfizg/s320/disp_03.jpg" width="320" /></a></div>
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqQdUVzCIhoJupClq724xxE1AcqXFt61iH4JsKS4Q8GfXBVL9aUzmrrrPM4DGmkqYa9C3urz6e5fqWKnzbni6nPk8t3WnW9yv8u-gkOmXd71LsStmUqH00167dq7xBWInxpm4RlLcDkls/s1600/attri_create.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqQdUVzCIhoJupClq724xxE1AcqXFt61iH4JsKS4Q8GfXBVL9aUzmrrrPM4DGmkqYa9C3urz6e5fqWKnzbni6nPk8t3WnW9yv8u-gkOmXd71LsStmUqH00167dq7xBWInxpm4RlLcDkls/s320/attri_create.jpg" width="229" /></a></div>
<br />
2)Cop SOP によるDelete Stamp<br />
<br />
copyで複製するとなんかバグっていくので、好かないんだけど、<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaG6B0D5qqOrgY4xGygbUHkTEZTZQPufYV6I8cKWYKc5Gh9zq-EVMNVNu06JTassC8WoILrpxPSPD2tYG-QbvD1ZFukip3doSZm1Ent5VL9C1wSiGRkIHGgs_6-DflBzcDj2NKbG4jy1c/s1600/nodes.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaG6B0D5qqOrgY4xGygbUHkTEZTZQPufYV6I8cKWYKc5Gh9zq-EVMNVNu06JTassC8WoILrpxPSPD2tYG-QbvD1ZFukip3doSZm1Ent5VL9C1wSiGRkIHGgs_6-DflBzcDj2NKbG4jy1c/s320/nodes.jpg" width="162" /></a></div>
<br />
copyで複製する数は、今回はnullから「piece」を含むgroupの配列作って、<br />
argcで何個あるかカウントさせたもの。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwTlIzDD0-MI2bUS1sCM0DnfMxxx0qCbm62yFP0VetBRMjHUlGkDwVlH7KGWyiqXmgnZ6MbASG2a0YnLEYBVe0yvhYDQN4Wp4tEaeCfiPRHZRM1u1JZ-dubJ_z9WXyV7nGYF2XTb2ZgaA/s1600/copy_copy.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwTlIzDD0-MI2bUS1sCM0DnfMxxx0qCbm62yFP0VetBRMjHUlGkDwVlH7KGWyiqXmgnZ6MbASG2a0YnLEYBVe0yvhYDQN4Wp4tEaeCfiPRHZRM1u1JZ-dubJ_z9WXyV7nGYF2XTb2ZgaA/s320/copy_copy.jpg" width="320" /></a></div>
<br />
$CYで上のNumber of Copiesまでカウントアップしていくstampを作っておく。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq8mQza6cmqIQy8_4iYp9zbtngINnlEZ3SnXl_W2mlkqFZF0lG5HtOYU56ZSI1Qqy0IJAPRBvWhwFtVdzhY5nF-XZvDVbFzRMi1ZkV7ZwToIOcLl1FYrC3E4rdcmXkR-n_SrOO55pZwBE/s1600/copy_stamp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq8mQza6cmqIQy8_4iYp9zbtngINnlEZ3SnXl_W2mlkqFZF0lG5HtOYU56ZSI1Qqy0IJAPRBvWhwFtVdzhY5nF-XZvDVbFzRMi1ZkV7ZwToIOcLl1FYrC3E4rdcmXkR-n_SrOO55pZwBE/s320/copy_stamp.jpg" width="320" /></a></div>
<br />
<br />
ここはforEachで使ったのと同じ、、というかここからパクリました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4m6MmmZAhrCX93XWB2xs-OqlabacStsfb381L1sCEVHGz_9ytH47JR6CxfkFxA2YDWAi3C8xCwyEvGngygIFxwExj6sRdpg6aLdKaRvZqPAP-FArW5nEqJVGdTg-NH_BFEuYf1Ite5Fg/s1600/delete.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4m6MmmZAhrCX93XWB2xs-OqlabacStsfb381L1sCEVHGz_9ytH47JR6CxfkFxA2YDWAi3C8xCwyEvGngygIFxwExj6sRdpg6aLdKaRvZqPAP-FArW5nEqJVGdTg-NH_BFEuYf1Ite5Fg/s320/delete.jpg" width="320" /></a></div>
<br />
これで中心点だけ取り出せる。後はforEachと同じように、またcopyを使いましょう。<br />
<br />
<br />
<br />
<br />
破片の数を変えたりすると、ファイル開きなおさないと点と破片が一対一対応せず<br />
ぐちゃぐちゃになるのよね。<br />
とりあえず、ForEachのほうが、loop処理がまとめられて自分的には好き。<br />
以上、メモ。genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-6332507551687977022013-02-01T23:51:00.000+09:002016-11-07T10:05:58.749+09:00Pyroの基礎まとめPyroでflameをベースにまとめ。<br />
<br />
<a name='more'></a><br /><br />
<br />
基本のvolumeについて。<br />
<br />
<br />
fuel : 燃料。燃えるもの。<br />
<br />
temperature : Fireのdensity。炎の見え具合。smokeやflameの昇り具合にも影響(+Buoyancy)。<br />
<br />
heat : Fireの色。<br />
<br />
density : smokeの量。<br />
<br />
<br />
こんな数式ではない部分もあるとは思うが、イメージとして。。<br />
<br />
if temperature > ignition:<br />
burn = fuel * burnrate<br />
new smoke = burn + sootrate<br />
heat = max(heat, burn)<br />
divrgence += burn * gas_relaease * burn_influence<br />
temperature += burn * heatoutput * temp_burn_influence<br />
fuel -= burn * (1 - fuelinnerefficiency)<br />
<br />
<br />genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-35781894813695036812013-01-19T22:45:00.000+09:002016-11-07T10:06:08.552+09:00frequently used expressions<br />
<a name='more'></a><br /><br />
書き途中。。<br />
よく使うのをまとめておくページ。<br />
<br />
<br />
<br />
<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="f6fca4f2-c956-49ba-86dc-c2ec4d71bb3e" ginger_sofatware_uiphraseguid="0efcc5bf-d683-4015-8b15-19608a836a79" grcontextid="dopobjscreatedby:0">dopobjscreatedby</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="43eadf84-a425-403f-9daf-7e75c1825ead" ginger_sofatware_uiphraseguid="0efcc5bf-d683-4015-8b15-19608a836a79" grcontextid="(:1">(</span>) :<br />
<br />
<br />
<br />
<br />
<br />
<b><i><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="53759f7f-a43d-48b6-85c0-605813c788a7" ginger_sofatware_uiphraseguid="44e4dcaf-54ea-42e4-92da-cae7f78626ae" grcontextid="float:0">float</span></i> <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct" ginger_sofatware_markguid="f164d98d-e00d-4a82-a4f3-b8a595424c66" ginger_sofatware_uiphraseguid="44e4dcaf-54ea-42e4-92da-cae7f78626ae" grcontextid="dopfield:1">dopfield</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="f514b8d3-6d10-4973-9e33-43a44c68105f" ginger_sofatware_uiphraseguid="44e4dcaf-54ea-42e4-92da-cae7f78626ae" grcontextid="(:2">(</span><i>string</i> <span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="5ffa09c1-dc06-4dca-9467-1f2b67b8e976" ginger_sofatware_uiphraseguid="44e4dcaf-54ea-42e4-92da-cae7f78626ae" grcontextid="dop:3">dop</span>, <i>string</i> object_spec, <i>string</i> sub_data_name, <i>string</i> record_type, <i>float</i> record_number, <i>string</i> field_name)</b> : dop内オブジェクト"object_spec"のサブデータ"sub_data_name"の"record_type"の"record_number"番目の"field_name"の数値を返す。<br />
<b><i><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="df9b3636-6a32-499c-99af-b8e1c37ce60f" ginger_sofatware_uiphraseguid="66944611-8020-4022-9987-d07d36ff76b8" grcontextid="string:0">string</span></i> <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct" ginger_sofatware_markguid="ec3142fd-c2a9-4887-81b2-3e8ef8927f80" ginger_sofatware_uiphraseguid="66944611-8020-4022-9987-d07d36ff76b8" grcontextid="dopfields:1">dopfields</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="03620ea4-252c-4f10-b439-f65046c82c2b" ginger_sofatware_uiphraseguid="66944611-8020-4022-9987-d07d36ff76b8" grcontextid="(:2">(</span>)</b><i><br /></i><br />
<b><i><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="6d12cafe-fe42-4389-b693-efe640a4d2cb" ginger_sofatware_uiphraseguid="38154ed4-7f58-4f5d-a10c-a1a2539c1c7e" grcontextid="float:0">float</span></i> <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct" ginger_sofatware_markguid="fc37d11f-8c30-4bb8-b4cc-78f9ede8e59a" ginger_sofatware_uiphraseguid="38154ed4-7f58-4f5d-a10c-a1a2539c1c7e" grcontextid="dopoption:1">dopoption</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="362335a9-0be0-43d7-8036-871b1bab6724" ginger_sofatware_uiphraseguid="38154ed4-7f58-4f5d-a10c-a1a2539c1c7e" grcontextid="(:2">(</span><i>string</i> <span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="a6a9b766-9b2f-49ca-ac31-6b9d3c07339c" ginger_sofatware_uiphraseguid="38154ed4-7f58-4f5d-a10c-a1a2539c1c7e" grcontextid="dop:3">dop</span>, <i>string</i> object_spec, <i>string</i> sub_data_name, <i>string</i> field_name)</b> : dopfieldの"record_type"="Options", "record_number"="0"を入れたもの。<br />
<b><i><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="1676068f-80b4-4922-97bb-9201c7a88b1a" ginger_sofatware_uiphraseguid="8869a69a-8789-4586-84d5-733936cb06e5" grcontextid="string:0">string</span></i> <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct" ginger_sofatware_markguid="087b195e-84e5-48ec-a118-244d51957471" ginger_sofatware_uiphraseguid="8869a69a-8789-4586-84d5-733936cb06e5" grcontextid="dopoptions:1">dopoptions</span> ()</b><br />
<br />
※指定するものがDOP Import Recordsと似ている。<br />
<br />
<br />
<br />
<br />
<br />
<b><i><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="db1d94ea-8028-46e0-87f4-dc87bb9650f4" ginger_sofatware_uiphraseguid="f7d49c00-6879-4083-9d5e-3583e3301af0" grcontextid="float:0">float</span></i> point<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="05e28a9e-e911-4804-bbd8-9621c5a2c35d" ginger_sofatware_uiphraseguid="f7d49c00-6879-4083-9d5e-3583e3301af0" grcontextid="(:1">(</span><i>string</i> surface_node, float point_number, string attribute_name, float attribute_index)</b> : 指定されたSop node内のpoint_number番目のattribute「attribute_name」のattribute_index番目の数値を返す。 <br />
<br />
<b><i><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="2e6a4461-0b36-4adf-830f-e2183a1fc9d9" ginger_sofatware_uiphraseguid="bfa65d88-84d0-4b2a-a588-0cdbc9989be1" grcontextid="string:0">string</span></i> points<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="7685dfed-7fa6-42b9-be83-01da9c230c25" ginger_sofatware_uiphraseguid="bfa65d88-84d0-4b2a-a588-0cdbc9989be1" grcontextid="(:1">(</span>string surface_node, float point_number, string attribute_name)</b><br />
<b><i><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="123fb893-aa4c-4273-a362-7a6d152db95a" ginger_sofatware_uiphraseguid="3297ce17-0d21-4f5d-8a54-b9fa0b6cef72" grcontextid="float:0">float</span> </i>prim<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="82b6ae5c-776e-4929-96c4-559272066417" ginger_sofatware_uiphraseguid="3297ce17-0d21-4f5d-8a54-b9fa0b6cef72" grcontextid="(:1">(</span>string surface_node, float primitive_number, string attribute_name, float attribute_index)</b><br />
<b><i><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="6f9b064e-bf48-4867-83c0-6caaccf97ac5" ginger_sofatware_uiphraseguid="21160618-c823-4d43-a4b9-d31a3fbddf09" grcontextid="string:0">string</span></i> <i></i>prims<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="68feaba5-9ee4-4786-92ec-d7a9135b3478" ginger_sofatware_uiphraseguid="21160618-c823-4d43-a4b9-d31a3fbddf09" grcontextid="(:1">(</span>string surface_node, float primitive_number, string attribute_name)</b><br />
<br />
<span style="color: red;">※DOPNetwork内でも使える。</span><br />
<span style="color: red;">(<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="a8deba42-236e-470e-a139-37e4bb9f4bc6" ginger_sofatware_uiphraseguid="3e5892be-4168-49a3-9afc-c7e74ad98999" grcontextid="ex:0">ex</span> : point<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="b0fa3e4d-723c-4650-9dfa-15980514c7de" ginger_sofatware_uiphraseguid="3e5892be-4168-49a3-9afc-c7e74ad98999" grcontextid="(:1">(</span>"/obj/AutoDopNetwork<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="3c4c73f3-9554-47ab-847d-3d19744e266d" ginger_sofatware_uiphraseguid="3e5892be-4168-49a3-9afc-c7e74ad98999" grcontextid="::2">:</span>$OBJNAME/Geometry"<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="5e6ad1f3-f132-4bf5-b272-e2b51889069c" ginger_sofatware_uiphraseguid="3e5892be-4168-49a3-9afc-c7e74ad98999" grcontextid=",:3">,</span>0,"<span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct" ginger_sofatware_markguid="ac29a723-6546-4cae-b160-cd6d6a997391" ginger_sofatware_uiphraseguid="3e5892be-4168-49a3-9afc-c7e74ad98999" grcontextid="foo:4">foo</span>"<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="4e5ba51b-f1a2-4114-bdec-98e18016c3b3" ginger_sofatware_uiphraseguid="3e5892be-4168-49a3-9afc-c7e74ad98999" grcontextid=",:5">,</span>0)</span><br />
<span style="color: red;">「:」は「/」でもいけた。事前に"foo"というpoint attributeをgeometry内で作っておく。)</span><br />
<br />
※attribute_indexはattributeが配列じゃなかったら、0。<br />
<br />
<br />
<br />
<br />
<br />
<b><i><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="1166b32b-6b2f-4184-bf12-cba419337848" ginger_sofatware_uiphraseguid="0ddcad8c-fa0c-4405-919f-ecbbdb8140ce" grcontextid="string:0">string</span></i> <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct" ginger_sofatware_markguid="7bda9706-cd37-4b1f-b796-24c6ab79e917" ginger_sofatware_uiphraseguid="0ddcad8c-fa0c-4405-919f-ecbbdb8140ce" grcontextid="primgrouplist:1">primgrouplist</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="48624bae-0d10-4871-b1b4-aa792e028305" ginger_sofatware_uiphraseguid="0ddcad8c-fa0c-4405-919f-ecbbdb8140ce" grcontextid="(:2">(</span><i>string</i> surface_node)</b> : 指定のノードのprimitiveのgroupのリスト<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="bc8b8340-2d9c-40f0-8f88-15041b9459ef" ginger_sofatware_uiphraseguid="0ddcad8c-fa0c-4405-919f-ecbbdb8140ce" grcontextid="(:3">(</span>スペースを挟んだ文字列<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="7a7a2564-c28a-4884-a038-494438916443" ginger_sofatware_uiphraseguid="0ddcad8c-fa0c-4405-919f-ecbbdb8140ce" grcontextid="):4">)</span>を返す。<br />
<b><i><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="9aa88b62-e4a9-455f-8c62-8827b6f82491" ginger_sofatware_uiphraseguid="41a325d9-4e29-4307-80a9-4b569508a464" grcontextid="string:0">string</span></i> <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct" ginger_sofatware_markguid="fbe33e2d-2bdd-4b3a-aa08-a709518eae77" ginger_sofatware_uiphraseguid="41a325d9-4e29-4307-80a9-4b569508a464" grcontextid="pointgrouplist:1">pointgrouplist</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="b38f2c59-038e-43c5-8a34-c0881fc172a9" ginger_sofatware_uiphraseguid="41a325d9-4e29-4307-80a9-4b569508a464" grcontextid="(:2">(</span><i>string</i> surface_node)</b> : pointのgroup。<br />
<br />
<b><i><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="95e92b71-9f30-44f8-aa59-fce73b0886fc" ginger_sofatware_uiphraseguid="9e308b98-77e4-40c4-a742-09ca94de5edd" grcontextid="float:0">float</span></i> <span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="56ad1bf0-4588-41c9-9da3-17952aad53c4" ginger_sofatware_uiphraseguid="9e308b98-77e4-40c4-a742-09ca94de5edd" grcontextid="npoints:1">npoints</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="10acbb76-240c-4e78-b3c6-a6cd02edac00" ginger_sofatware_uiphraseguid="9e308b98-77e4-40c4-a742-09ca94de5edd" grcontextid="(:2">(</span><i>string</i> surface_node)</b> : 指定のノードのジオメトリの持つポイントの数を返す。<br />
<br />
<b><i><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="00cba4dc-6c24-454e-aefd-ad51ec2a546b" ginger_sofatware_uiphraseguid="1579f723-1e35-4dcb-b4fd-a0117619af0c" grcontextid="string:0">string</span></i> <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct" ginger_sofatware_markguid="7687cfce-f2d3-41f9-933d-eec82bc678e5" ginger_sofatware_uiphraseguid="1579f723-1e35-4dcb-b4fd-a0117619af0c" grcontextid="arg:1">arg</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="6c0a6391-0960-40ec-a73e-01c05e23a4b2" ginger_sofatware_uiphraseguid="1579f723-1e35-4dcb-b4fd-a0117619af0c" grcontextid="(:2">(</span>string line, float <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct" ginger_sofatware_markguid="30feee33-cc8f-4a2d-8dd8-2873a65afa60" ginger_sofatware_uiphraseguid="1579f723-1e35-4dcb-b4fd-a0117619af0c" grcontextid="argNum:3">argNum</span>)</b> : lineのargNum番目にあるものを返す。<br />
<b><i><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="b99c2a67-8d87-450f-9ebc-494819a582d4" ginger_sofatware_uiphraseguid="0387605a-989e-42c8-a483-11f0fbe661b4" grcontextid="float:0">float</span> </i><span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct" ginger_sofatware_markguid="30b05661-9d24-44df-9e9f-59cab610c311" ginger_sofatware_uiphraseguid="0387605a-989e-42c8-a483-11f0fbe661b4" grcontextid="argc:1">argc</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="d0e2d191-2a80-4bd8-90ef-a3fa0713c604" ginger_sofatware_uiphraseguid="0387605a-989e-42c8-a483-11f0fbe661b4" grcontextid="(:2">(</span>string line)</b> : lineの要素の数を返す。<br />
<br />
<br />
<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="3fe833b0-d06c-4fec-aad0-f154da930a2f" ginger_sofatware_uiphraseguid="4ceb6230-fcc7-48e9-9849-ab5d5f3877b1" grcontextid="var:0">var</span> <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct" ginger_sofatware_markguid="67642b68-afae-4895-88d5-db2b1a8380f6" ginger_sofatware_uiphraseguid="4ceb6230-fcc7-48e9-9849-ab5d5f3877b1" grcontextid="ch:1">ch</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="0e17356d-0921-4a10-b705-198c8ca82140" ginger_sofatware_uiphraseguid="4ceb6230-fcc7-48e9-9849-ab5d5f3877b1" grcontextid="(:2">(</span>string channel)<br />
<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="96a895aa-f456-4242-8b33-59f1a16360e8" ginger_sofatware_uiphraseguid="335346ff-0930-4ae3-b325-721f6565a423" grcontextid="string:0">string</span> <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct" ginger_sofatware_markguid="4bfd1a1c-4a8d-4cf9-84e2-99c7961a7d01" ginger_sofatware_uiphraseguid="335346ff-0930-4ae3-b325-721f6565a423" grcontextid="ch:1">ch</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="898536ad-7d5f-4a00-9508-32761dcdff6d" ginger_sofatware_uiphraseguid="335346ff-0930-4ae3-b325-721f6565a423" grcontextid="(:2">(</span>string channel)<br />
<br />
※houdini(HScript)は文字列をスペースごとに区切って配列にするようです。<br />
(<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="7053bcf6-42aa-48e3-9a64-ecd02e6cf746" ginger_sofatware_uiphraseguid="ec6f6351-e9a0-476b-a989-cb3544f558bb" grcontextid="ex:0">ex</span> : <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct" ginger_sofatware_markguid="4f7f0ca6-7205-49f2-be91-6c8021cdeba9" ginger_sofatware_uiphraseguid="ec6f6351-e9a0-476b-a989-cb3544f558bb" grcontextid="arg:1">arg</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="94b5ddd2-d3d8-4fc8-996c-fb7b33d67322" ginger_sofatware_uiphraseguid="ec6f6351-e9a0-476b-a989-cb3544f558bb" grcontextid="(:2">(</span>"<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="c2920cc9-353b-455a-bb56-b08e5e2cfdb4" ginger_sofatware_uiphraseguid="ec6f6351-e9a0-476b-a989-cb3544f558bb" grcontextid="hoo:3">hoo</span> <span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="2cfbccf7-8f03-4982-8214-dcfc7c7eefe7" ginger_sofatware_uiphraseguid="ec6f6351-e9a0-476b-a989-cb3544f558bb" grcontextid="foo:4">foo</span> bar.", 1) -> "<span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct" ginger_sofatware_markguid="4a48059e-a82e-4483-a043-baf7647e5f2a" ginger_sofatware_uiphraseguid="ec6f6351-e9a0-476b-a989-cb3544f558bb" grcontextid="foo:5">foo</span>"<br />
C#的には、<br />
<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="c1de1858-31dd-4b35-9b56-0530af2ba77a" ginger_sofatware_uiphraseguid="621b7c30-79d5-468c-b799-9295c56e6931" grcontextid="string:0">string</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="1ef3795a-c022-4704-b2fa-6e68a3ca1a15" ginger_sofatware_uiphraseguid="621b7c30-79d5-468c-b799-9295c56e6931" grcontextid="[:1">[</span>] line = new string<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="9c68b814-6fb2-4e73-9976-ba6d527208fc" ginger_sofatware_uiphraseguid="621b7c30-79d5-468c-b799-9295c56e6931" grcontextid="[:2">[</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="7d7e19b9-b6f3-4fe8-aa39-aa386592bf2e" ginger_sofatware_uiphraseguid="621b7c30-79d5-468c-b799-9295c56e6931" grcontextid="]:3">]</span>{"<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="d5f9f84d-24dd-435f-ac40-f1907fdbd233" ginger_sofatware_uiphraseguid="621b7c30-79d5-468c-b799-9295c56e6931" grcontextid="hoo:4">hoo</span>", "foo", "bar"}<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="325014ad-27dd-49a8-9c7b-8ef7ab4c589f" ginger_sofatware_uiphraseguid="621b7c30-79d5-468c-b799-9295c56e6931" grcontextid=";:5">;</span>return line<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="544dccb3-2798-4448-8fb7-0428b5a8143a" ginger_sofatware_uiphraseguid="621b7c30-79d5-468c-b799-9295c56e6931" grcontextid="[:6">[</span>1];<br />
てな感じでしょうか。) <br />
<br />
<br />
<br />
<span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="56103bcf-86d0-45b5-ad1a-1b724b116558" ginger_sofatware_uiphraseguid="8081216d-c593-47f1-abf6-8335ebd7861d" grcontextid="stamp:0">stamp</span><span class="GINGER_SOFATWARE_correct" ginger_sofatware_markguid="7b3671e6-5ceb-4bdd-ba0b-24d4c03fc45a" ginger_sofatware_uiphraseguid="8081216d-c593-47f1-abf6-8335ebd7861d" grcontextid="(:1">(</span>)<br />
CopyやらSOP Solverで頻出。<br />
<br />
string <span class="GINGER_SOFATWARE_spelling" ginger_sofatware_uiphraseguid="21196046-b390-4041-a157-a13dfb198573">padzero(size,</span> value) : valueをsizeで指定した桁の数(満たない場合は0が追加される)にする。<br />
<br />
<br />
<br />
<br />
nodeとかchnnel内文字列で使う相対パスについて、<br />
"./~" : 自分自身のパラメータ「~」を参照。<br />
"../~" : 自分の親のnodeのパラメータ「~」を参照。<br />
自分と同じ階層のnodeを参照。<br />
※「..」と打って出てくるのは親のパラメータ。<br />
「../」と打って出てくるのは同じ階層のnode。<br />
「.」が上、「/」が下ってな感じ?<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-50394420831220099592013-01-06T03:28:00.001+09:002016-11-07T10:06:41.325+09:00DOP Import Recordsについて先日のようにimpact dataを利用する場合も使えるが、<br />
データの内容や取りやすさを考えると"Impact Analysis DOP"使った方がいいと想う。<br />
<br />
<a name='more'></a><br /><br />
<br />
インパクトした点だけ欲しくてシミュレーションの時間を短く済ましたいときには<br />
DOP Import Records(以下、DOPIR)がいいかも。<br />
<br />
で、このDOPIRはDOP Networkの各種データに簡単にアクセスできる。<br />
多分こんな感じで各パラメータを設定すればいいみたい。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuu-Qj2gJpNWciN2JFt0MwqK6Tqu2Aff0bqxrwN8yd-wFOLJlxV7EiAEswukqq8xvPCRWRSA4IZ4zWEbi3MKnbS7OliBUzvO1xl7vYE8jYy0gQRWsZgTybPEVVBxEerBipfmJQ9nrQERY/s1600/01_dopir_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuu-Qj2gJpNWciN2JFt0MwqK6Tqu2Aff0bqxrwN8yd-wFOLJlxV7EiAEswukqq8xvPCRWRSA4IZ4zWEbi3MKnbS7OliBUzvO1xl7vYE8jYy0gQRWsZgTybPEVVBxEerBipfmJQ9nrQERY/s400/01_dopir_01.jpg" width="400" /></a></div>
<br />
<br />
試しに、<br />
"Data Path"を"Position"<br />
でやってみたらちゃんと数値持ってこれた。<br />
<br />
<span style="color: red;">※"Position"にある</span><br />
<span style="color: red;">p(vector) : ワールド座標におけるスタート位置。</span><br />
<span style="color: red;">t(vector) : スタート位置からの相対座標。</span><br />
<span style="color: red;">のようです。</span><br />
<span style="color: red;">"VOPSOP"で"position = p + t"にすれば、各オブジェクトの中心点らしきものが取得できました。</span><br />
<br />
<br />
<br />
<br />
DOP Import : "DOPIR"の"Data Path"の階層(=DOP object)のデータをImport。<br />
DOPIR : "Data Path"の下の階層のデータをImport。<br />
<br />
みたいな使い分けでいいのかしら?genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-73957986097452589402013-01-05T20:00:00.002+09:002016-11-07T10:07:28.874+09:00impact情報収集係 その2CG Worldにも掲載されている、Impact Analysis DOPを使った情報のimpact情報の収集もしてみました。<br />
<br />
<a name='more'></a><br />
<br />
<br />
やり方はこちらも意外と簡単、、というか上のタブに用意されていたのね。<br />
気づかなかったよ。<br />
ついでに、衝突データを表示させてみた、、、CGWorld丸パクリでサーセン。<br />
<br />
<iframe allowfullscreen="allowfullscreen" frameborder="0" height="375" mozallowfullscreen="mozallowfullscreen" src="https://player.vimeo.com/video/56772494?title=0&byline=0&portrait=0&color=136485" webkitallowfullscreen="webkitallowfullscreen" width="500"></iframe> <br />
<a href="http://vimeo.com/56772494">Imapct Analysis</a> from <a href="http://vimeo.com/user4783547">Naoki Kato</a> on <a href="http://vimeo.com/">Vimeo</a>.<br />
<br />
<br />
<br />
RBD object作って、上のタブのRgid Bodies -> RBD Impactsを押す。<br />
<br />
RBD objectを選択して、Enter。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7XwYzyFI5JupDlnZ5cd4HyOmssp4DP78ewlzXHUii9yzwmBNWEZezs-DOg7xKPNGHOocITduLyH8hmDU0AHUJ6miSmerC6tZqTPVeYAAb_BGc_He37nAnK-UglrayBNKqBbbcCMiL99U/s1600/02_impactanalysis_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="107" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7XwYzyFI5JupDlnZ5cd4HyOmssp4DP78ewlzXHUii9yzwmBNWEZezs-DOg7xKPNGHOocITduLyH8hmDU0AHUJ6miSmerC6tZqTPVeYAAb_BGc_He37nAnK-UglrayBNKqBbbcCMiL99U/s320/02_impactanalysis_01.jpg" width="320" /></a></div>
<br />
<br />
すると、Import_Impactsというジオメトリが自動で作られて、<br />
その中のDOP Importでデータを見れる。<br />
<br />
Impact Analysisの"Data Name"と<br />
DOP Import の"Geometry Data Path"に同じ名前が入っているのが大切なんですよね?<br />
多分こないだ自前でやったときはこれしてなかった。<br />
(=Impact Analysisの"Data Name"を"Solver"のままにしてた。)<br />
<br />genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-64814284316556446592013-01-03T16:34:00.001+09:002016-11-07T10:07:41.538+09:00impact情報収集係 その1impact情報を収集したい。<br />
<br />
<a name='more'></a><br />
<br />
CGWorld様のおかげで、簡単にできるわいと思って再現しようとしたら、<br />
出来ない。<br />
<br />
Multi Solverがわからん。<br />
ヘルプ読みながら、理解深め中。<br />
<br />
<br />
<br />
初心者向けなものはないかと思ってググッテいたら、ありました!<br />
<br />
簡単!!<br />
このやり方H12からのようなのでメモ。(DOP Import RecordがH11に出てこないので)<br />
<br />
<br />
<iframe allowfullscreen="allowfullscreen" frameborder="0" height="375" mozallowfullscreen="mozallowfullscreen" src="https://player.vimeo.com/video/56648224?title=0&byline=0&portrait=0&color=136485" webkitallowfullscreen="webkitallowfullscreen" width="500"></iframe> <br />
<a href="http://vimeo.com/56648224">Impact_points_collection</a> from <a href="http://vimeo.com/user4783547">Naoki Kato</a> on <a href="http://vimeo.com/">Vimeo</a>.<br />
<br />
<br />
<br />
ボロノイ分割したオブジェクトをRBD glue objectsとしてDOPでsim。<br />
いつも通り。<br />
<br />
自動生成されるgeometry > DOP Importでsim結果を見る。<br />
<br />
さらに、別のジオメトリを作っておいて、DOP Import Recordsを作る。<br />
(下図は全体図。DOP Import Recordsは左上。)<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikAIv2mIp6BljWeUH9FI7wlKARp5_2ZsK7SyV4sGdPgyf4_8gOUrWi6H-DTrFY6hHlJTwxZMg-c8izyPQlhF_gvAJfZfThZyuHuenQmZeb7TyoICUveISJJbCHWF3pCJGm-v_RB-JaShY/s1600/01_geo_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikAIv2mIp6BljWeUH9FI7wlKARp5_2ZsK7SyV4sGdPgyf4_8gOUrWi6H-DTrFY6hHlJTwxZMg-c8izyPQlhF_gvAJfZfThZyuHuenQmZeb7TyoICUveISJJbCHWF3pCJGm-v_RB-JaShY/s320/01_geo_01.jpg" width="320" /></a></div>
<br />
参照したい場所の設定。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiASzQYsnv5MBXh-x-Urbza1y-TKT1lG1MN_Vpc5KucftRhlLBQOy4zWyTJxqNvdkAAEnRbGqxM5AWD7mebfEa8UOivvPQs9S-GJan9lMQr8vxrLep0Kg_OYSkmHGHZTXDSr5E-F-oz-E4/s1600/01_geo_02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="122" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiASzQYsnv5MBXh-x-Urbza1y-TKT1lG1MN_Vpc5KucftRhlLBQOy4zWyTJxqNvdkAAEnRbGqxM5AWD7mebfEa8UOivvPQs9S-GJan9lMQr8vxrLep0Kg_OYSkmHGHZTXDSr5E-F-oz-E4/s320/01_geo_02.jpg" width="320" /></a></div>
<br />
一番上の図右下の<br />
popnet内にsource作って、Const Birth Rateに<br />
<br />
<span style="color: #6aa84f;">npoints("/obj/impact_points/dopimportrecords1")*$FPS</span><br />
<br />
<br />
Const Birth Rate : Number of particles to emit per second (when <b class="ui">Constant
activation</b> is on).<br />
= 毎秒いくつパーテクル出すかえ?<br />
<br />
ってことらしいので、とりあえずDOP Import Recordsに読み込まれたポイントの数にフレームレート掛けた分だけ発生させる。<br />
(FPS = 計算回数じゃないとこれとりこぼしたり、余分に作ったりしそう...)<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPCJKdjh11PnO3pqXUVNRnqZ2jR5xTsEBOeBfcv_FCpWXVoBAFIbzKvThWgOFQYDEZ3POSXqR6pWhwjeobTYBwTnWR60fr91m6G-fv-cWzDCoDwcxCKnJmbyCZvPbvvkgim6rEFNFWM4E/s1600/02_poposource_02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPCJKdjh11PnO3pqXUVNRnqZ2jR5xTsEBOeBfcv_FCpWXVoBAFIbzKvThWgOFQYDEZ3POSXqR6pWhwjeobTYBwTnWR60fr91m6G-fv-cWzDCoDwcxCKnJmbyCZvPbvvkgim6rEFNFWM4E/s320/02_poposource_02.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlBk_BHjRv0_mojvCTB38LZLTByvhtDW22RIybt7HQIgu-7vQAfVXKyJ_olcctVmkWJkRvgtUpJLZb3y_PY1goqdcPM0BHHi3JQE06U4SPIq-pi-egZ7iUpoNqG1V0GfBn8r06zZM2cGw/s1600/02_poposource_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlBk_BHjRv0_mojvCTB38LZLTByvhtDW22RIybt7HQIgu-7vQAfVXKyJ_olcctVmkWJkRvgtUpJLZb3y_PY1goqdcPM0BHHi3JQE06U4SPIq-pi-egZ7iUpoNqG1V0GfBn8r06zZM2cGw/s320/02_poposource_01.jpg" width="320" /></a></div>
<br />
<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;">
impactしたときのデータだから下向きだったり....</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;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
ここからは、DOP Import Recordsから左に繋がってるノードのメモ。</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;">
addされたポイントにこんなattribute作る。</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju16XnVY-QYFPT8rPQha67qiXHDKdCnYFPWZpier0NzJrGzRRnsIvx5DnLG5Ak_GbVYMLT0LzosHC9t5_oI968Z6iBOwHx6pzW6V7aymlDoOLWogcEjGC0DfAOrYhvop8CJvtuVzjDPF0/s1600/01_geo_03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju16XnVY-QYFPT8rPQha67qiXHDKdCnYFPWZpier0NzJrGzRRnsIvx5DnLG5Ak_GbVYMLT0LzosHC9t5_oI968Z6iBOwHx6pzW6V7aymlDoOLWogcEjGC0DfAOrYhvop8CJvtuVzjDPF0/s320/01_geo_03.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Solver内のノード。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Group内Expression : <span style="color: #6aa84f;">if( npoints("../OUT_RECORD") > 0 && (point(opinputpath(".",0), 0, "P", 0) + point(opinputpath(".",0), 0, "P", 1) + point(opinputpath(".",0), 0, "P", 2)) == 0, 1, 0)</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: #6aa84f;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: #6aa84f;"><br /></span></div>
AttribCreate内Expression : <span style="color: #6aa84f;">point("../OUT_RECORD", 0, "P", 0)</span><br />
<span style="color: #6aa84f;"> point("../OUT_RECORD", 0, "P", 1)</span><br />
<span style="color: #6aa84f;"> point("../OUT_RECORD", 0, "P", 2)</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4WFJv1fsmHqiy1m0umKQkg21Ap0wvH8Lpb6rBD1E9nPd5NDY7FSpOSd_sa97n5Y1Vaya4T6U-Xa4cl1vHpKq4TkmK27gAv3Ndj71y38uYcvhBJYErp5XBkT2nv8GM9PxludDRk2DKFlg/s1600/03_solvver_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4WFJv1fsmHqiy1m0umKQkg21Ap0wvH8Lpb6rBD1E9nPd5NDY7FSpOSd_sa97n5Y1Vaya4T6U-Xa4cl1vHpKq4TkmK27gAv3Ndj71y38uYcvhBJYErp5XBkT2nv8GM9PxludDRk2DKFlg/s320/03_solvver_01.jpg" width="320" /></a></div>
<br />
<br />
参照URL:<br />
<br />
<a href="http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&p=113742&sid=7d0ac136c72f40ae117bed885675ef46">http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&p=113742&sid=7d0ac136c72f40ae117bed885675ef46</a>genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-2221522308250032182013-01-03T04:37:00.003+09:002016-11-07T10:07:50.506+09:00星 破壊的な何か part1いろんな方のブログやらtutを見て、パクってみました。<br />
<br />
<a name='more'></a><br />
<br />
<br />
<br />
<br />
<iframe allowfullscreen="allowfullscreen" frameborder="0" height="281" mozallowfullscreen="mozallowfullscreen" src="https://player.vimeo.com/video/56635994?title=0&byline=0&portrait=0&color=136485" webkitallowfullscreen="webkitallowfullscreen" width="500"></iframe> <br />
<a href="http://vimeo.com/56635994">Fracturing Stone</a> from <a href="http://vimeo.com/user4783547">Naoki Kato</a> on <a href="http://vimeo.com/">Vimeo</a>.<br />
<br />
<br />
<br />
CGWorldの星に彗星衝突を真似しようと思って、作り始めたのはいいけど、<br />
宇宙だと暗すぎて、デモリールには使いづらいのかなと思い、<br />
地球上で。<br />
<br />
<br />
とりあえず、ボロノイで割った玉を壊すところまで。<br />
<div>
テクスチャ付いてきてないじゃん!!</div>
<div>
restがないからかな??</div>
<div>
<br /></div>
<div>
<strike>やり直そう、、後で。</strike><br />
<br />
<br />
やり直しましたのがこちら。<br />
やはり、attributeのrestが無いから、テクスチャもちゃんとついてこなかった。<br />
<br /></div>
<div>
<iframe allowfullscreen="allowfullscreen" frameborder="0" height="281" mozallowfullscreen="mozallowfullscreen" src="https://player.vimeo.com/video/56678311" webkitallowfullscreen="webkitallowfullscreen" width="500"></iframe> <br />
<a href="http://vimeo.com/56678311">Fracturing Stone</a> from <a href="http://vimeo.com/user4783547">Naoki Kato</a> on <a href="http://vimeo.com/">Vimeo</a>.<br />
<br /></div>
<div>
<br />
<br />
元オブジェクトをボロノイ分割したもの+</div>
<div>
破片(小)+</div>
<div>
破片(極小)</div>
<div>
<br /></div>
<div>
の3を足しました。</div>
<div>
<br /></div>
<div>
破片(極小)までCopy SOPで全て破片に置き換えたらレンダ激重....</div>
<div>
<br /></div>
<div>
でもポイントをRender as Points(geometry : Render > Geometry)でレンダすると大きさを持った球がレンダされる。パーティクルみたいに常にサイズ一定でレンダしてくれないかしら?</div>
genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.comtag:blogger.com,1999:blog-293227287792034330.post-7892944356098628312013-01-01T22:17:00.000+09:002016-11-07T10:07:58.504+09:00Copyとpointのattributesなんだよattributeって...<br />
<br />
<a name='more'></a><br /><br />
<br />
"Copy"SOPの前にattributeを加えておくと、<br />
複製された後の個々のコピー達に個性を与えられるよう。<br />
<br />
よく使いそうな奴のみ選んでみた。<br />
<br />
<br />
<b><span style="font-size: large;">v</span></b> (vector) : 速度。popを利用すれば手軽にくっついてくる。<br />
<span style="color: red;">※Nやorientがなければが前向きも決める(=N)。</span><br />
<br />
<br />
<span style="font-size: large;"><b>N</b> </span>(vector) : コピーの法線.....多分、前向きを決める(+Z axis)。<span style="color: red;">※orientがなければ!!</span><br />
<b><span style="font-size: large;">up</span></b> (vector) : 上方向(+Y axis)。<span style="color: red;">※orientがなければ!!</span><br />
<b><span style="font-size: large;">orient</span></b> (float4(quaternion)) : 直訳すると「方位」.......クォータニオンなので、Nとupを両方合わせたもの?<br />
<br />
<br />
<span style="color: red;"><br /></span>
<span style="font-size: large;"><b>rot</b></span> (quaternion) : 上のattributeで決められたorientationを元に回転。genchansansanhttp://www.blogger.com/profile/07541046806649501308noreply@blogger.com