{"id":8548,"date":"2015-09-25T16:36:45","date_gmt":"2015-09-25T07:36:45","guid":{"rendered":"http:\/\/nomoreretake.net\/?p=8548"},"modified":"2017-01-05T22:35:30","modified_gmt":"2017-01-05T13:35:30","slug":"houdini-recipewrangle-memo-01","status":"publish","type":"post","link":"http:\/\/nomoreretake.net\/en\/2015\/09\/25\/houdini-recipewrangle-memo-01\/","title":{"rendered":"Houdini Recipe:Wrangle Memo 01"},"content":{"rendered":"<p id=\"tw-target-text\" dir=\"ltr\" data-placeholder=\"\u7ffb\u8a33\"><span lang=\"en\">VEX sentence of Wran<\/span><span lang=\"en\">gle.<\/span><\/p>\n<h3>Global Varialbles that frequently used<\/h3>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n\/\/SOP\r\n@Cd      \/\/Point Color\r\n@P       \/\/Point Position\r\n@v       \/\/Point Velocity\r\n@ptnum   \/\/Processing Point Number\r\n@pscale  \/\/Particle Scale\r\n@numpt   \/\/Total Point Number\r\n@N       \/\/Normal\r\n\r\n\/\/Time\r\n@Frame;  \/\/Frame\r\n@Time;   \/\/Time\r\n<\/pre>\n<hr \/>\n<p>&nbsp;<\/p>\n<h3>Attribute read and write<\/h3>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n\/\/By Type\r\nf@Float = 1.0;\u3000\/\/float\r\ni@ID = @ptnum;  \/\/int\r\nv@Vec = {0,1,2};\/\/vector\r\nu@UV = {4,5};   \/\/vector2\r\ns@Text = &amp;amp;amp;amp;amp;quot;name&amp;amp;amp;amp;amp;quot;;\/\/string\r\n\r\n\/\/Individual access\u3000(Position)\r\n@P.x = @P.x + rand(@ptnum);\r\n@P.y = anoise(@P.y);\r\n@P.z = fit01(@P.z,0,5);\r\n\r\n\/\/Individual access (Color)\r\n@Cd = {1,0,0};\r\n@Cd.g = @Cd.g+1;\r\n<\/pre>\n<hr \/>\n<p>&nbsp;<\/p>\n<h3><strong>Add Point<\/strong><\/h3>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nvector pos = {0,0,0};\r\naddpoint(geoself(), pos); <\/pre>\n<hr \/>\n<p>&nbsp;<\/p>\n<h3><strong>Add Primitive(Line)<\/strong><\/h3>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nint prim = addprim(geoself(), &quot;polyline&quot;);\r\naddvertex(geoself(), prim, 0);\r\naddvertex(geoself(), prim, 1);\r\n<\/pre>\n<hr \/>\n<p>&nbsp;<\/p>\n<h3>Add Primitive(Face)<\/h3>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nint nPoly = 3;\r\n\r\nif(@ptnum%3 == 0){\r\n    int prim = addprim(0, &quot;poly&quot;);\r\n    for(int i=0; i&lt;nPoly; i++){\r\n        addvertex(0, prim, @ptnum+i);\r\n    }\r\n}\r\n<\/pre>\n<p>(Create the Face everty ptnum order three poins from the input point)<\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<h3>Remove Point<\/h3>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nif (@ptnum%5==0){\r\n    removepoint(geoself(),@ptnum);\r\n}\r\n<\/pre>\n<p>(remove the point that ptnum is \u00a0multiple of\u00a05\u00a0)<\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<h3>Remove Primitive<\/h3>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nif (@primnum%2==1){\r\n    removeprim(geoself(), @primnum, 1);\r\n}\r\n\r\n<\/pre>\n<hr \/>\n<p>&nbsp;<\/p>\n<h3>Create Group<\/h3>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nif(@ptnum &amp;amp;amp;amp;amp;lt; chi('threshold')){\r\n    i@group_mygroup=1;\r\n}\r\nif(@ptnum == 10){\r\n    i@group_mygroup=0;\r\n}\r\n<\/pre>\n<p>Set and see the group in the form of [@group_*].<br \/>\nAny of \u00a0group name to *.<br \/>\nthis group is int type.<br \/>\nCheck if they belong to a group\u30fb\u30fb\u30fb [@group_*==1].<br \/>\nAdd\u00a0to\u00a0group\u30fb\u30fb\u30fb[i@group_*=1]\nRemove from the group\u30fb\u30fb\u30fb[i@group_*=0]\n<p>&nbsp;<\/p>\n<h3>Create Group (other method)<\/h3>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nstring gpName = &amp;amp;amp;amp;amp;quot;testGroup&amp;amp;amp;amp;amp;quot;;\r\n\r\nfor(int i=0; i&amp;amp;amp;amp;amp;lt;@numpt; i++){\r\n\u3000\u3000if(@P&amp;amp;amp;amp;amp;gt;0){\r\n        setpointgroup(geoself(), gpName, @ptnum, 1 ,&amp;amp;amp;amp;amp;quot;set&amp;amp;amp;amp;amp;quot;);\r\n    }\r\n}\r\n<\/pre>\n<p>When making groups of primitive &#8220;setprimgroup&#8221;.<\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3>Create Parameters from the description<br \/>\n<a href=\"http:\/\/nomoreretake.net\/wordpress\/wp-content\/uploads\/2015\/09\/HoudiniWrangleSample.gif\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-7603\" src=\"http:\/\/nomoreretake.net\/wordpress\/wp-content\/uploads\/2015\/09\/HoudiniWrangleSample.gif\" alt=\"HoudiniWrangleSample\" width=\"480\" height=\"450\" \/><\/a><\/h3>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Samplefile<a href=\"http:\/\/nomoreretake.net\/wordpress\/wp-content\/uploads\/2015\/09\/WrangleSample_01.hiplc\"><br \/>\nWrangleSample_01<\/a>.hiplc<\/p>\n<p>&nbsp;<\/p>\n<p>Version\uff1aHoudini 14<br \/>\nWrangle method of description must be careful because there is a case to be changed depending on the version.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>VEX sentence of Wrangle. Global Varialbles that frequently used &nbsp; Attribute read and write &nbsp; Add Point &nbsp;  [&hellip;]<\/p>\n<p><a class=\"more-link\" href=\"http:\/\/nomoreretake.net\/en\/2015\/09\/25\/houdini-recipewrangle-memo-01\/\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":6136,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[70],"tags":[26],"_links":{"self":[{"href":"http:\/\/nomoreretake.net\/wp-json\/wp\/v2\/posts\/8548"}],"collection":[{"href":"http:\/\/nomoreretake.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/nomoreretake.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/nomoreretake.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/nomoreretake.net\/wp-json\/wp\/v2\/comments?post=8548"}],"version-history":[{"count":6,"href":"http:\/\/nomoreretake.net\/wp-json\/wp\/v2\/posts\/8548\/revisions"}],"predecessor-version":[{"id":10220,"href":"http:\/\/nomoreretake.net\/wp-json\/wp\/v2\/posts\/8548\/revisions\/10220"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/nomoreretake.net\/wp-json\/wp\/v2\/media\/6136"}],"wp:attachment":[{"href":"http:\/\/nomoreretake.net\/wp-json\/wp\/v2\/media?parent=8548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/nomoreretake.net\/wp-json\/wp\/v2\/categories?post=8548"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/nomoreretake.net\/wp-json\/wp\/v2\/tags?post=8548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}