
anim
Moderator-
Content count
2,765 -
Donations
0.00 CAD -
Joined
-
Last visited
-
Days Won
150
anim last won the day on October 29 2020
anim had the most liked content!
Community Reputation
1,168 ExcellentAbout anim
-
Rank
Grand Master
- Birthday 02/28/1985
Contact Methods
-
Website URL
http://tomas.slancik.com
Personal Information
-
Name
Tomas
-
Location
New York
Recent Profile Visitors
16,539 profile views
-
printedblu started following anim
-
HEEEELP PLEASE!! vellum instance orientation problem!!!! :(
anim replied to dyei nightmare's topic in Effects
currently you are deleting the original pathchname attribute, so next frame your @patch will be mostly 0s also, essentially every frame where there are no ew patches generated all of them will be 0 so in your sopsolver1/attribpromote1, uncheck Delete Original to keep the patchname attrib on points also you may want to merge your nodes after vellum source if you want to see the correct orient at the end of every frame -
Maybe use smooth brush to smooth out those imperfections any time you start noticing penetrations like that, as sculpt pushes along normals, so you will easily get intersecting geo on detailed surface
-
action for the values outside the find attribute value array
anim replied to amin.khormaei's topic in Scripting
seems to work exactly that way, what exactly is not working for you? attached file with the same code Specific_pscale_fix.hip -
Can't we apply materials to point groups using the material SOP?
anim replied to KavinduMathish's topic in General Houdini Questions
If you switch Attributes drop-down to Point attributes it should work for point groups In the past I think Mantra didn't work with point based shop_materialpath so there is a chance it still doesn't, but if I remember correctly Redshift did, I haven't tried for a while though -
action for the values outside the find attribute value array
anim replied to amin.khormaei's topic in Scripting
Not by Houdini right now, but I think you may want something like this int values[] = findattribval(0,"point","random_number",3); @pscale = find(values, @ptnum) >= 0 ? chf('specific_pscale') : chf('rest'); -
it's not random order, it's ordered by proximity you are looking up n-points in 2nd input whose "P" attrib value is within certain radius from certain value 1. from value of @P, which is different for each point, therefore you will get different points that are closest to that value @P ordered from closest 2. from value of @Cd, which is the same for each point (since nonexistent on first input it's the default value of) {1, 1, 1}, therefore for each point you will get the same array of points ordered by proximity to {1, 1, 1}
-
the indent is off on that line just erase the space in front of 'for' on the mentioned line
-
you should be able to extract any data from deep image using dsmpixel() VEX function so if this data is for example P channel, you get array of the values per pixel and create a point for each of the values
-
read object paths from point attribute
anim replied to Secretspaces's topic in General Houdini Questions
if your path attribute is Detail string attriute then it would be `details(-1,'path')` -
I believe this distinction is pretty well described here https://www.sidefx.com/docs/houdini/dopparticles/filaments.html also it's possibly based on a paper like this, where you can learn more about the target use cases and comparison to other approaches http://page.math.tu-berlin.de/~pinkall/forDownload/filaments.pdf https://dl.acm.org/doi/abs/10.1145/1778765.1778852
-
or directly Material SOP for that matter but also you should be able to use wildcards, adhoc groups (or any syntax that group fields allow) with inprimgroup() function
-
Iterate over all available Heightfield layers and combine everything into one?
anim replied to ron2812's topic in General Houdini Questions
not sure if there is a node for this, I'm not that familiar with hfields but you should be able to do it in Volume Wrangle string pattern = "rocks path* dirt*"; // pattern matching layer names you want to combine float combinedlayers = 0; for (int i=0;i<nprimitives(0); i++){ string name = prim(0, "name", i); if (match(pattern, name)){ float value = volumesample(0, name, @P); combinedlayers = max(combinedlayers, value); // combining layers using maximum } } f@mask = fit01(combinedlayers,1,0); // mask will contain complementary areas to combined layers -
primintrinsic(), detailintrinsic() and corresponding set functions allow acces to intrinsic attributes on the geometry either at prim or detail level each prim type has specific set of intrinsic attributes and some intrinsics are read only, you can see them in Geometry Spreadsheet in Intrinsics dropdown more info also way to list them all is here https://www.sidefx.com/docs/houdini/model/attributes.html#intrinsic
-
if your array is not varying per point (at least from your example) and you still want to use Point wrangle instead of detail you can simplify your code further to int pts[] = neighbours(0,0); if(find(pts, @ptnum) >= 0) { @P.y = 1; } or @P.y += 1; if you want to offset them instead of hardcode to 1
- 10 replies
-
- foreach
- neighbours
-
(and 2 more)
Tagged with: