Re: Find cluster from polygon - script
If you are using python, you can get all clusters elements with Cluster.Elements and then search in that list with 'if .. in", that would save you from looping through all the elements. But, since you can have one poly index in multiple clusters you'll still need to loop through all the PolyClusters. # PolyIndex = The Index of your Polygon in integer. cls = obj.ActivePrimitive.Geometry.Clusters.Filter('poly') for cl in cls: elms = cl.Elements if PolyIndex in elms: print "[%s] in [%s]" % (PolyIndex,cl.Name) Martin On Wed, Dec 14, 2016 at 12:59 PM, Matt Lindwrote: > Depends how the polygon is referenced in your code. > > A Polygon is a geometry component and part of the object's primitive. A > Cluster is a type of metadata and lives outside the geometry, but makes > references to parts of the geometry. Most methods provided in the SDK work > in a top-down fashion. That is, they start with a major object or > primitive, then the methods dig down to find subcomponents or elements of > smaller stature. What you're requesting is the ability to go the other > direction (bottom-up). While some examples of that do exist in the SDK, > they're pretty scarce and I don't think any exist for your particular > request. > > If you have a reference to a polygon as a ClusterElement you may be able to > call the .Parent property to crawl up the graph to get the Cluster that > owns > it. > > If you have a reference to a polygon as a PolygonFace as obtained through > most of the geometry methods, then no. You must traverse the clusters and > query if the polygon is contained within. > > If you want to bypass the object model and go completely old school command > based manipulating of strings, you may (in some cases) dump the full path > of > the polygon, then tokenize it by '.' characters and crawl up the path until > you find the cluster. There are limitations with this method as the number > of path components is not consistent and will change depending on various > factors such as whether the object is part of a model or not, the type of > cluster applied (polygon, point, sample, ...), the context in which the > polygon reference was obtained, etc... Any solution using this tactic can > work for specific situations, but will be error prone for the general case. > > In some back door esoteric secret handshake situations, you might be able > to > use a SubComponent Object to find the cluster, but if you do that you > already know the cluster, so creating the SubComponent is irrelevant. > > Long story short, if you only need to find the owning cluster once or > twice, > then just traverse the clusters and query if the polygon is in the cluster. > If you have to do this en masse, then it might pay off to create reverse > lookups maps using a simple associative array to store references to the > cluster in the indices (eg; Array[PolygonIndex] = Cluster). Creating the > maps will take some time, but once they're established your lookups will be > very fast. > > > Matt > > > > > Date: Tue, 13 Dec 2016 18:45:36 -0200 > From: Fabricio Chamon > Subject: Find cluster from polygon - script > To: "softimage@listproc.autodesk.com" > > Hey guys, > > is there a quick way to find which cluster(s) a polygon belongs to without > looping over all cluster elements? > > thanks. > > > -- > Softimage Mailing List. > To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com > with "unsubscribe" in the subject, and reply to confirm. > -- Softimage Mailing List. To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with "unsubscribe" in the subject, and reply to confirm.
Re: Setting ICE attribute DataArray in javascript
I always cringe when I see the SafeArray suggestion as it doesn't tell the whole story. I haven't tried this for ICE attributes, but for all other things JScript requiring the use of an array, you can use the GridData object from the Softimage SDK. It's a lot more convenient than dabbling with the esoteric SafeArray object and is fully supported by the Softimage SDK avoiding the workarounds for certain commands and methods. The GridData object is smart enough to automatically resize itself when ingesting data from a known source (for multi-dimensional arrays): var oObject= Selection(0); var oGridData = XSIFactory.CreateGridData(); oGridData.Data = oObject.ActivePrimitive.Geometry.Vertices.PositionArray; LogMessage( "Grid[rows,cols]: " + oGridData.RowCount + ", " + oGridData.ColumnCount, siComment ); The Grid doesn’t auto-resize for all array types, but it supports most you’ll encounter such as cluster data (envelopes, materials, user normals, vertex colors, texture UVWs, ...). to write the data to another property, just assign the .Data property in reverse of what is shown above. oCluster.Elements.Array = oGridData.Data; Anyway, writing the data to the ICE Attribute does work, but as you found out you must freeze the modeling history of the ICE Attribute property because technically (I think) it’s an operator. That implies it has an internal update callback which will get triggered after any attempt you make to modify the data. You make a change, then the update callback is triggered recomputing and applying the original data you overwrote. Freezing the operator converts it to static data which you can then modify with script. As for purely JScript issues with arrays, you only need to convert to a safeArray when you need to modify array data and send it back into Softimage. If you’re just reading data, or modifying it locally with no intention of sending it back where it came from, you don’t have to convert. that’ll save overhead in the runtime of your code. Another shortcut is the use of the .Array() method to convert the data to safeArray to make it more concise and easier to read in code. For example: // Get envelope weights and convert from safeArray to JScript array in the process var aEnvelopeWeights = ( oEnvelope.weights.Array ).toArray(); // Get vertex colors on mesh located nearest specified set of position coordinates var oPointLocators = oPolygonMesh.GetClosestLocations( aPositions ); aVertexColors = oPolygonMesh.EvaluateClusterProperty( oPointLocators, oParentCluster, oClusterProperty ).toArray(); Just enclose the quantity to be converted in parentheses, then append .Array() to the right parenthesis. the only caveat is to make sure the quantity to be converted is not null or else it’ll throw an error. Matt Date: Tue, 13 Dec 2016 20:34:02 -0200 From: Fabricio ChamonSubject: Setting ICE attribute DataArray in javascript To: "softimage@listproc.autodesk.com" Hey, lots of questions these days, sorry. So I'm searching all day through the list and internet to find a solution for this... I'm trying to set per polygon ice attribute values on a mesh via sdk (javascript). The subject was already discussed, Stephen Blair have some studies on it, one solution was given but in the end I'm still not able to get it working. So here's roughly my code: var ICEAttr = highResGeo.AddICEAttribute("rbdId", siICENodeDataLong, siICENodeStructureSingle, siICENodeContextComponent2D ); var myDataArray = new Array(); var faces = highResGeo.Facets; for (i=0;i
Re: Find cluster from polygon - script
Depends how the polygon is referenced in your code. A Polygon is a geometry component and part of the object's primitive. A Cluster is a type of metadata and lives outside the geometry, but makes references to parts of the geometry. Most methods provided in the SDK work in a top-down fashion. That is, they start with a major object or primitive, then the methods dig down to find subcomponents or elements of smaller stature. What you're requesting is the ability to go the other direction (bottom-up). While some examples of that do exist in the SDK, they're pretty scarce and I don't think any exist for your particular request. If you have a reference to a polygon as a ClusterElement you may be able to call the .Parent property to crawl up the graph to get the Cluster that owns it. If you have a reference to a polygon as a PolygonFace as obtained through most of the geometry methods, then no. You must traverse the clusters and query if the polygon is contained within. If you want to bypass the object model and go completely old school command based manipulating of strings, you may (in some cases) dump the full path of the polygon, then tokenize it by '.' characters and crawl up the path until you find the cluster. There are limitations with this method as the number of path components is not consistent and will change depending on various factors such as whether the object is part of a model or not, the type of cluster applied (polygon, point, sample, ...), the context in which the polygon reference was obtained, etc... Any solution using this tactic can work for specific situations, but will be error prone for the general case. In some back door esoteric secret handshake situations, you might be able to use a SubComponent Object to find the cluster, but if you do that you already know the cluster, so creating the SubComponent is irrelevant. Long story short, if you only need to find the owning cluster once or twice, then just traverse the clusters and query if the polygon is in the cluster. If you have to do this en masse, then it might pay off to create reverse lookups maps using a simple associative array to store references to the cluster in the indices (eg; Array[PolygonIndex] = Cluster). Creating the maps will take some time, but once they're established your lookups will be very fast. Matt Date: Tue, 13 Dec 2016 18:45:36 -0200 From: Fabricio ChamonSubject: Find cluster from polygon - script To: "softimage@listproc.autodesk.com" Hey guys, is there a quick way to find which cluster(s) a polygon belongs to without looping over all cluster elements? thanks. -- Softimage Mailing List. To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with "unsubscribe" in the subject, and reply to confirm.
Re: thickness - avoiding self intersections
oh that is really neat Cristobal, thanks for the screenshot and explanation! going to use that right now! 2016-12-13 21:58 GMT-02:00 Cristobal Infante: > Another option would have been to ray the original geo to the converted > vdb geo. Using vdb reshape for the erode, and minimun distance on the ray > node. This would give you the same topo, on the inner side so no need to > worry about UVs. > > So many options ;) > > > On Tue, 13 Dec 2016 at 22:08, Fabricio Chamon wrote: > >> doh..sorry I misspelled your name. Jonathan =) >> >> 2016-12-13 20:07 GMT-02:00 Fabricio Chamon : >> >> yeah Johnatan me to, not super addicted to the voronoi stuff...that >> straight edges are terrible... I like to use the iterative shatter in >> IFX...to be honest IFX is a super tool for shattering, but it crashes often >> with complex geometry (or skips the operator), which makes it unsuable >> unfortunatelly. Houdini on the other hand is super robust, but needs more >> advanced work to get that detailed edges. >> >> I've already seen this guy's video, it is a nice technique, but it limits >> you in a way you can't distort too much the geometry or it starts >> degrading. In such a procedural oriented DCC like houdini I tend to dislike >> having these limitations, because it makes you care too much about your >> parameters, and your output is not 100% reliable all the time. One could >> introduce small artifacts that are hard to see in dense meshes but will >> surelly show up as holes or overlapping geo at rendertime. >> >> anyway, I'm also diving slowly into houdini as projects allow, and I'm >> liking it so much! >> >> 2016-12-13 19:31 GMT-02:00 Jonathan Moore : >> >> hey thanks everyone for the feedback. I tried meshmixer, but houdini >> actually does the job better and faster (of course because it is more >> biased in terms of workflow choices), so I'll stick to that ultimately. The >> attribute transfer SOP was what I needed. yayy =) >> >> >> Had a little play with MeshMixer and came to the same conclusions. >> >> Your original request made think a bit more about fracturing in Houdini. >> I tend to use iFX in XSI and transfer the fractured geometry via Alembic to >> Houdini as I don't like using Voronoi fracturing. In researching other >> techniques I came across a nice workflow using Attribute Transfer and >> Attribute VOP's to apply noise to both the edges and internal faces of the >> Voronoi fracture to get rid of the straight edges and planer internal >> faces. Not sure if it's any use to you or if it's a techniques you're >> already using but somebody might find it useful. >> >> It's so simple I'm a tad annoyed I didn't think of something similar >> myself - but I'm relatively new to Houdini so I'm not beating myself up too >> much! :) >> >> https://vimeo.com/176497413 >> >> >> >> >> On 13 December 2016 at 19:48, Fabricio Chamon wrote: >> >> hey thanks everyone for the feedback. I tried meshmixer, but houdini >> actually does the job better and faster (of course because it is more >> biased in terms of workflow choices), so I'll stick to that ultimately. The >> attribute transfer SOP was what I needed. yayy =) >> >> 2016-12-12 19:10 GMT-02:00 Jonathan Moore : >> >> you could try Meshmixer, it’s free and used for 3D printing but has a >> “hollowing” feature that might work. >> >> -Ronald >> >> >> Interesting. Meshmixer works in a similar manner to the VDB tools in >> Houdini (it's solidifying and hollowing tools are based on voxels). >> >> I can see how it's useful for it's designed purpose in 3d printing but it >> will be interesting to throw some lower poly stuff at it and see how much >> of the topology survives the process. >> >> On 12 December 2016 at 15:41, toonafish wrote: >> >> you could try Meshmixer, it’s free and used for 3D printing but has a >> “hollowing” feature that might work. >> >> >> >> -Ronald >> >> >> >> >> >> >> >> On 12 Dec 2016, at 16:25, Fabricio Chamon wrote: >> >> ...well and minutes after writing the e-mail I found a really reliable >> solution in houdini, that is messing with vdb to smooth the internal part. >> The vdbsmooth op retains the nice sharp corners while reducing >> intersections, that is exactly what I want! The only problem is how to >> merge both parts back while mantaining UVs. Houdini is giving me this >> warning: *"A mis-match of attributes on the inputs was detected. Some of >> the attribute values may not be initialized to expected values, i.e.: name, >> path, N, uv."* >> >> Of course this is me not handling the attribute transfer correctly, so >> any help is much appreciated! =) >> >> Tree and results: >> >> >> >> 2016-12-12 12:55 GMT-02:00 Fabricio Chamon : >> >> Hey everybody, >> >> what are your choices when it comes to thickness/solidify (or whatever >> you call it)
Re: Setting ICE attribute DataArray in javascript
found the culprit... I was running this on a live alembic file...for some reason it does not work. As soon as I freeze the mesh then it works great. 2016-12-13 20:38 GMT-02:00 Fabricio Chamon: > ...and here is the blog post where Stephen shows his code: > https://xsisupport.com/2013/03/25/aha-setting-dataarray2d-with-jscript/ > > btw I'm on soft 2015 SP2 > > 2016-12-13 20:34 GMT-02:00 Fabricio Chamon : > >> Hey, >> >> lots of questions these days, sorry. >> >> So I'm searching all day through the list and internet to find a solution >> for this... I'm trying to set per polygon ice attribute values on a mesh >> via sdk (javascript). >> The subject was already discussed, Stephen Blair have some studies on it, >> one solution was given but in the end I'm still not able to get it working. >> >> So here's roughly my code: >> >> var ICEAttr = highResGeo.AddICEAttribute("rbdId", siICENodeDataLong, >> siICENodeStructureSingle, siICENodeContextComponent2D ); >> var myDataArray = new Array(); >> var faces = highResGeo.Facets; >> for (i=0;i > var face = faces(i); >> myDataArray[i] = parseInt(x); //does not matter, assume any value for x >> } >> >> //now here's the tricky part >> >> da1 = getSafeArray(myDataArray); >> da2 = getSafeArray([myDataArray]); >> ICEAttr.DataArray = da2; >> >> >> //helper function >> function getSafeArray(jsArr) { >> var dict = new ActiveXObject("Scripting.Dictionary"); >> for (var i = 0; i < jsArr.length; i++) >> dict.add(i, jsArr[i]); >> return dict.Items(); >> } >> >> >> >> >> This SafeArray stuff is the solution proposed by Stephen on his >> blog...but gives me : >> >> *WARNING : 3392 - Invalid offset specified while extracting data from >> this attribute: * >> *// * >> >> Any hints on what I'm doing wrong ?? >> >> Thanks! >> >> >> > -- Softimage Mailing List. To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with "unsubscribe" in the subject, and reply to confirm.
Re: thickness - avoiding self intersections
> > doh..sorry I misspelled your name. Jonathan =) No worries. I often misspell it myself - when I've been a tad too greedy with the vino the night before. ;) On 13 December 2016 at 22:08, Fabricio Chamonwrote: > doh..sorry I misspelled your name. Jonathan =) > > 2016-12-13 20:07 GMT-02:00 Fabricio Chamon : > >> yeah Johnatan me to, not super addicted to the voronoi stuff...that >> straight edges are terrible... I like to use the iterative shatter in >> IFX...to be honest IFX is a super tool for shattering, but it crashes often >> with complex geometry (or skips the operator), which makes it unsuable >> unfortunatelly. Houdini on the other hand is super robust, but needs more >> advanced work to get that detailed edges. >> >> I've already seen this guy's video, it is a nice technique, but it limits >> you in a way you can't distort too much the geometry or it starts >> degrading. In such a procedural oriented DCC like houdini I tend to dislike >> having these limitations, because it makes you care too much about your >> parameters, and your output is not 100% reliable all the time. One could >> introduce small artifacts that are hard to see in dense meshes but will >> surelly show up as holes or overlapping geo at rendertime. >> >> anyway, I'm also diving slowly into houdini as projects allow, and I'm >> liking it so much! >> >> 2016-12-13 19:31 GMT-02:00 Jonathan Moore : >> >>> hey thanks everyone for the feedback. I tried meshmixer, but houdini actually does the job better and faster (of course because it is more biased in terms of workflow choices), so I'll stick to that ultimately. The attribute transfer SOP was what I needed. yayy =) >>> >>> >>> Had a little play with MeshMixer and came to the same conclusions. >>> >>> Your original request made think a bit more about fracturing in Houdini. >>> I tend to use iFX in XSI and transfer the fractured geometry via Alembic to >>> Houdini as I don't like using Voronoi fracturing. In researching other >>> techniques I came across a nice workflow using Attribute Transfer and >>> Attribute VOP's to apply noise to both the edges and internal faces of the >>> Voronoi fracture to get rid of the straight edges and planer internal >>> faces. Not sure if it's any use to you or if it's a techniques you're >>> already using but somebody might find it useful. >>> >>> It's so simple I'm a tad annoyed I didn't think of something similar >>> myself - but I'm relatively new to Houdini so I'm not beating myself up too >>> much! :) >>> >>> https://vimeo.com/176497413 >>> >>> >>> >>> >>> On 13 December 2016 at 19:48, Fabricio Chamon >>> wrote: >>> hey thanks everyone for the feedback. I tried meshmixer, but houdini actually does the job better and faster (of course because it is more biased in terms of workflow choices), so I'll stick to that ultimately. The attribute transfer SOP was what I needed. yayy =) 2016-12-12 19:10 GMT-02:00 Jonathan Moore : > you could try Meshmixer, it’s free and used for 3D printing but has a >> “hollowing” feature that might work. >> >> -Ronald > > > Interesting. Meshmixer works in a similar manner to the VDB tools in > Houdini (it's solidifying and hollowing tools are based on voxels). > > I can see how it's useful for it's designed purpose in 3d printing but > it will be interesting to throw some lower poly stuff at it and see how > much of the topology survives the process. > > On 12 December 2016 at 15:41, toonafish wrote: > >> you could try Meshmixer, it’s free and used for 3D printing but has a >> “hollowing” feature that might work. >> >> -Ronald >> >> >> >> On 12 Dec 2016, at 16:25, Fabricio Chamon wrote: >> >> ...well and minutes after writing the e-mail I found a really >> reliable solution in houdini, that is messing with vdb to smooth the >> internal part. The vdbsmooth op retains the nice sharp corners while >> reducing intersections, that is exactly what I want! The only problem is >> how to merge both parts back while mantaining UVs. Houdini is giving me >> this warning: *"A mis-match of attributes on the inputs was >> detected. Some of the attribute values may not be initialized to expected >> values, i.e.: name, path, N, uv."* >> >> Of course this is me not handling the attribute transfer correctly, >> so any help is much appreciated! =) >> >> Tree and results: >> >> >> >> 2016-12-12 12:55 GMT-02:00 Fabricio Chamon : >> >>> Hey everybody, >>> >>> what are your choices when it comes to thickness/solidify (or >>> whatever you call it) geometry? >>> What software/operator or plugin you find most reliable to ouput a
Re: Setting ICE attribute DataArray in javascript
...and here is the blog post where Stephen shows his code: https://xsisupport.com/2013/03/25/aha-setting-dataarray2d-with-jscript/ btw I'm on soft 2015 SP2 2016-12-13 20:34 GMT-02:00 Fabricio Chamon: > Hey, > > lots of questions these days, sorry. > > So I'm searching all day through the list and internet to find a solution > for this... I'm trying to set per polygon ice attribute values on a mesh > via sdk (javascript). > The subject was already discussed, Stephen Blair have some studies on it, > one solution was given but in the end I'm still not able to get it working. > > So here's roughly my code: > > var ICEAttr = highResGeo.AddICEAttribute("rbdId", siICENodeDataLong, > siICENodeStructureSingle, siICENodeContextComponent2D ); > var myDataArray = new Array(); > var faces = highResGeo.Facets; > for (i=0;i var face = faces(i); > myDataArray[i] = parseInt(x); //does not matter, assume any value for x > } > > //now here's the tricky part > > da1 = getSafeArray(myDataArray); > da2 = getSafeArray([myDataArray]); > ICEAttr.DataArray = da2; > > > //helper function > function getSafeArray(jsArr) { > var dict = new ActiveXObject("Scripting.Dictionary"); > for (var i = 0; i < jsArr.length; i++) > dict.add(i, jsArr[i]); > return dict.Items(); > } > > > > > This SafeArray stuff is the solution proposed by Stephen on his blog...but > gives me : > > *WARNING : 3392 - Invalid offset specified while extracting data from this > attribute: * > *// * > > Any hints on what I'm doing wrong ?? > > Thanks! > > > -- Softimage Mailing List. To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with "unsubscribe" in the subject, and reply to confirm.
Setting ICE attribute DataArray in javascript
Hey, lots of questions these days, sorry. So I'm searching all day through the list and internet to find a solution for this... I'm trying to set per polygon ice attribute values on a mesh via sdk (javascript). The subject was already discussed, Stephen Blair have some studies on it, one solution was given but in the end I'm still not able to get it working. So here's roughly my code: var ICEAttr = highResGeo.AddICEAttribute("rbdId", siICENodeDataLong, siICENodeStructureSingle, siICENodeContextComponent2D ); var myDataArray = new Array(); var faces = highResGeo.Facets; for (i=0;i
Re: thickness - avoiding self intersections
doh..sorry I misspelled your name. Jonathan =) 2016-12-13 20:07 GMT-02:00 Fabricio Chamon: > yeah Johnatan me to, not super addicted to the voronoi stuff...that > straight edges are terrible... I like to use the iterative shatter in > IFX...to be honest IFX is a super tool for shattering, but it crashes often > with complex geometry (or skips the operator), which makes it unsuable > unfortunatelly. Houdini on the other hand is super robust, but needs more > advanced work to get that detailed edges. > > I've already seen this guy's video, it is a nice technique, but it limits > you in a way you can't distort too much the geometry or it starts > degrading. In such a procedural oriented DCC like houdini I tend to dislike > having these limitations, because it makes you care too much about your > parameters, and your output is not 100% reliable all the time. One could > introduce small artifacts that are hard to see in dense meshes but will > surelly show up as holes or overlapping geo at rendertime. > > anyway, I'm also diving slowly into houdini as projects allow, and I'm > liking it so much! > > 2016-12-13 19:31 GMT-02:00 Jonathan Moore : > >> hey thanks everyone for the feedback. I tried meshmixer, but houdini >>> actually does the job better and faster (of course because it is more >>> biased in terms of workflow choices), so I'll stick to that ultimately. The >>> attribute transfer SOP was what I needed. yayy =) >> >> >> Had a little play with MeshMixer and came to the same conclusions. >> >> Your original request made think a bit more about fracturing in Houdini. >> I tend to use iFX in XSI and transfer the fractured geometry via Alembic to >> Houdini as I don't like using Voronoi fracturing. In researching other >> techniques I came across a nice workflow using Attribute Transfer and >> Attribute VOP's to apply noise to both the edges and internal faces of the >> Voronoi fracture to get rid of the straight edges and planer internal >> faces. Not sure if it's any use to you or if it's a techniques you're >> already using but somebody might find it useful. >> >> It's so simple I'm a tad annoyed I didn't think of something similar >> myself - but I'm relatively new to Houdini so I'm not beating myself up too >> much! :) >> >> https://vimeo.com/176497413 >> >> >> >> >> On 13 December 2016 at 19:48, Fabricio Chamon wrote: >> >>> hey thanks everyone for the feedback. I tried meshmixer, but houdini >>> actually does the job better and faster (of course because it is more >>> biased in terms of workflow choices), so I'll stick to that ultimately. The >>> attribute transfer SOP was what I needed. yayy =) >>> >>> 2016-12-12 19:10 GMT-02:00 Jonathan Moore : >>> you could try Meshmixer, it’s free and used for 3D printing but has a > “hollowing” feature that might work. > > -Ronald Interesting. Meshmixer works in a similar manner to the VDB tools in Houdini (it's solidifying and hollowing tools are based on voxels). I can see how it's useful for it's designed purpose in 3d printing but it will be interesting to throw some lower poly stuff at it and see how much of the topology survives the process. On 12 December 2016 at 15:41, toonafish wrote: > you could try Meshmixer, it’s free and used for 3D printing but has a > “hollowing” feature that might work. > > -Ronald > > > > On 12 Dec 2016, at 16:25, Fabricio Chamon wrote: > > ...well and minutes after writing the e-mail I found a really reliable > solution in houdini, that is messing with vdb to smooth the internal part. > The vdbsmooth op retains the nice sharp corners while reducing > intersections, that is exactly what I want! The only problem is how to > merge both parts back while mantaining UVs. Houdini is giving me this > warning: *"A mis-match of attributes on the inputs was detected. Some > of the attribute values may not be initialized to expected values, i.e.: > name, path, N, uv."* > > Of course this is me not handling the attribute transfer correctly, so > any help is much appreciated! =) > > Tree and results: > > > > 2016-12-12 12:55 GMT-02:00 Fabricio Chamon : > >> Hey everybody, >> >> what are your choices when it comes to thickness/solidify (or >> whatever you call it) geometry? >> What software/operator or plugin you find most reliable to ouput a >> good geo? >> >> I'm doing some fracture work lately, and I've always had problems to >> solidify complex geometry (with varying thickness/sharp angles and >> corners/etc). It ends up self-intersecting the inside part, which >> obviusly >> causes problems when you have to shatter later on. >> >> Here's a good
Re: thickness - avoiding self intersections
yeah Johnatan me to, not super addicted to the voronoi stuff...that straight edges are terrible... I like to use the iterative shatter in IFX...to be honest IFX is a super tool for shattering, but it crashes often with complex geometry (or skips the operator), which makes it unsuable unfortunatelly. Houdini on the other hand is super robust, but needs more advanced work to get that detailed edges. I've already seen this guy's video, it is a nice technique, but it limits you in a way you can't distort too much the geometry or it starts degrading. In such a procedural oriented DCC like houdini I tend to dislike having these limitations, because it makes you care too much about your parameters, and your output is not 100% reliable all the time. One could introduce small artifacts that are hard to see in dense meshes but will surelly show up as holes or overlapping geo at rendertime. anyway, I'm also diving slowly into houdini as projects allow, and I'm liking it so much! 2016-12-13 19:31 GMT-02:00 Jonathan Moore: > hey thanks everyone for the feedback. I tried meshmixer, but houdini >> actually does the job better and faster (of course because it is more >> biased in terms of workflow choices), so I'll stick to that ultimately. The >> attribute transfer SOP was what I needed. yayy =) > > > Had a little play with MeshMixer and came to the same conclusions. > > Your original request made think a bit more about fracturing in Houdini. I > tend to use iFX in XSI and transfer the fractured geometry via Alembic to > Houdini as I don't like using Voronoi fracturing. In researching other > techniques I came across a nice workflow using Attribute Transfer and > Attribute VOP's to apply noise to both the edges and internal faces of the > Voronoi fracture to get rid of the straight edges and planer internal > faces. Not sure if it's any use to you or if it's a techniques you're > already using but somebody might find it useful. > > It's so simple I'm a tad annoyed I didn't think of something similar > myself - but I'm relatively new to Houdini so I'm not beating myself up too > much! :) > > https://vimeo.com/176497413 > > > > > On 13 December 2016 at 19:48, Fabricio Chamon wrote: > >> hey thanks everyone for the feedback. I tried meshmixer, but houdini >> actually does the job better and faster (of course because it is more >> biased in terms of workflow choices), so I'll stick to that ultimately. The >> attribute transfer SOP was what I needed. yayy =) >> >> 2016-12-12 19:10 GMT-02:00 Jonathan Moore : >> >>> you could try Meshmixer, it’s free and used for 3D printing but has a “hollowing” feature that might work. -Ronald >>> >>> >>> Interesting. Meshmixer works in a similar manner to the VDB tools in >>> Houdini (it's solidifying and hollowing tools are based on voxels). >>> >>> I can see how it's useful for it's designed purpose in 3d printing but >>> it will be interesting to throw some lower poly stuff at it and see how >>> much of the topology survives the process. >>> >>> On 12 December 2016 at 15:41, toonafish wrote: >>> you could try Meshmixer, it’s free and used for 3D printing but has a “hollowing” feature that might work. -Ronald On 12 Dec 2016, at 16:25, Fabricio Chamon wrote: ...well and minutes after writing the e-mail I found a really reliable solution in houdini, that is messing with vdb to smooth the internal part. The vdbsmooth op retains the nice sharp corners while reducing intersections, that is exactly what I want! The only problem is how to merge both parts back while mantaining UVs. Houdini is giving me this warning: *"A mis-match of attributes on the inputs was detected. Some of the attribute values may not be initialized to expected values, i.e.: name, path, N, uv."* Of course this is me not handling the attribute transfer correctly, so any help is much appreciated! =) Tree and results: 2016-12-12 12:55 GMT-02:00 Fabricio Chamon : > Hey everybody, > > what are your choices when it comes to thickness/solidify (or whatever > you call it) geometry? > What software/operator or plugin you find most reliable to ouput a > good geo? > > I'm doing some fracture work lately, and I've always had problems to > solidify complex geometry (with varying thickness/sharp angles and > corners/etc). It ends up self-intersecting the inside part, which obviusly > causes problems when you have to shatter later on. > > Here's a good example, this is a corner piece from a rubiks cube (left > original, right solidified, bottom isolated internal result geo): > > > > I've tried some options like: > > - apply the operator, then select the internal part
Re: thickness - avoiding self intersections
> > hey thanks everyone for the feedback. I tried meshmixer, but houdini > actually does the job better and faster (of course because it is more > biased in terms of workflow choices), so I'll stick to that ultimately. The > attribute transfer SOP was what I needed. yayy =) Had a little play with MeshMixer and came to the same conclusions. Your original request made think a bit more about fracturing in Houdini. I tend to use iFX in XSI and transfer the fractured geometry via Alembic to Houdini as I don't like using Voronoi fracturing. In researching other techniques I came across a nice workflow using Attribute Transfer and Attribute VOP's to apply noise to both the edges and internal faces of the Voronoi fracture to get rid of the straight edges and planer internal faces. Not sure if it's any use to you or if it's a techniques you're already using but somebody might find it useful. It's so simple I'm a tad annoyed I didn't think of something similar myself - but I'm relatively new to Houdini so I'm not beating myself up too much! :) https://vimeo.com/176497413 On 13 December 2016 at 19:48, Fabricio Chamonwrote: > hey thanks everyone for the feedback. I tried meshmixer, but houdini > actually does the job better and faster (of course because it is more > biased in terms of workflow choices), so I'll stick to that ultimately. The > attribute transfer SOP was what I needed. yayy =) > > 2016-12-12 19:10 GMT-02:00 Jonathan Moore : > >> you could try Meshmixer, it’s free and used for 3D printing but has a >>> “hollowing” feature that might work. >>> >>> -Ronald >> >> >> Interesting. Meshmixer works in a similar manner to the VDB tools in >> Houdini (it's solidifying and hollowing tools are based on voxels). >> >> I can see how it's useful for it's designed purpose in 3d printing but it >> will be interesting to throw some lower poly stuff at it and see how much >> of the topology survives the process. >> >> On 12 December 2016 at 15:41, toonafish wrote: >> >>> you could try Meshmixer, it’s free and used for 3D printing but has a >>> “hollowing” feature that might work. >>> >>> -Ronald >>> >>> >>> >>> On 12 Dec 2016, at 16:25, Fabricio Chamon wrote: >>> >>> ...well and minutes after writing the e-mail I found a really reliable >>> solution in houdini, that is messing with vdb to smooth the internal part. >>> The vdbsmooth op retains the nice sharp corners while reducing >>> intersections, that is exactly what I want! The only problem is how to >>> merge both parts back while mantaining UVs. Houdini is giving me this >>> warning: *"A mis-match of attributes on the inputs was detected. Some >>> of the attribute values may not be initialized to expected values, i.e.: >>> name, path, N, uv."* >>> >>> Of course this is me not handling the attribute transfer correctly, so >>> any help is much appreciated! =) >>> >>> Tree and results: >>> >>> >>> >>> 2016-12-12 12:55 GMT-02:00 Fabricio Chamon : >>> Hey everybody, what are your choices when it comes to thickness/solidify (or whatever you call it) geometry? What software/operator or plugin you find most reliable to ouput a good geo? I'm doing some fracture work lately, and I've always had problems to solidify complex geometry (with varying thickness/sharp angles and corners/etc). It ends up self-intersecting the inside part, which obviusly causes problems when you have to shatter later on. Here's a good example, this is a corner piece from a rubiks cube (left original, right solidified, bottom isolated internal result geo): I've tried some options like: - apply the operator, then select the internal part and relax/smooth the geo (not ideal, since it starts to degrade the original shape, to the point it starts creating some internal/external intersections in some areas) - using blender, that has a nice feature on its thickness operator called "clamp". It is exaclty what I need, but it's limited and does not work good in this piece for some reason. I'm sure there are more smart options out there...maybe a vdb stuff for the internal part, then converting it back to geo, but I'm out of ideas right now. How would you approach this ? (mesh is attached, in case someone wants to give it a shot). Thanks a lot guys! >>> >>> -- >>> Softimage Mailing List. >>> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com >>> with "unsubscribe" in the subject, and reply to confirm. >>> >>> >>> >>> -- >>> Softimage Mailing List. >>> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com >>> with "unsubscribe" in the subject, and reply to confirm. >>> >> >> >> -- >> Softimage Mailing List. >> To unsubscribe, send a mail to
Find cluster from polygon - script
Hey guys, is there a quick way to find which cluster(s) a polygon belongs to without looping over all cluster elements? thanks. -- Softimage Mailing List. To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with "unsubscribe" in the subject, and reply to confirm.
Re: thickness - avoiding self intersections
hey thanks everyone for the feedback. I tried meshmixer, but houdini actually does the job better and faster (of course because it is more biased in terms of workflow choices), so I'll stick to that ultimately. The attribute transfer SOP was what I needed. yayy =) 2016-12-12 19:10 GMT-02:00 Jonathan Moore: > you could try Meshmixer, it’s free and used for 3D printing but has a >> “hollowing” feature that might work. >> >> -Ronald > > > Interesting. Meshmixer works in a similar manner to the VDB tools in > Houdini (it's solidifying and hollowing tools are based on voxels). > > I can see how it's useful for it's designed purpose in 3d printing but it > will be interesting to throw some lower poly stuff at it and see how much > of the topology survives the process. > > On 12 December 2016 at 15:41, toonafish wrote: > >> you could try Meshmixer, it’s free and used for 3D printing but has a >> “hollowing” feature that might work. >> >> -Ronald >> >> >> >> On 12 Dec 2016, at 16:25, Fabricio Chamon wrote: >> >> ...well and minutes after writing the e-mail I found a really reliable >> solution in houdini, that is messing with vdb to smooth the internal part. >> The vdbsmooth op retains the nice sharp corners while reducing >> intersections, that is exactly what I want! The only problem is how to >> merge both parts back while mantaining UVs. Houdini is giving me this >> warning: *"A mis-match of attributes on the inputs was detected. Some of >> the attribute values may not be initialized to expected values, i.e.: name, >> path, N, uv."* >> >> Of course this is me not handling the attribute transfer correctly, so >> any help is much appreciated! =) >> >> Tree and results: >> >> >> >> 2016-12-12 12:55 GMT-02:00 Fabricio Chamon : >> >>> Hey everybody, >>> >>> what are your choices when it comes to thickness/solidify (or whatever >>> you call it) geometry? >>> What software/operator or plugin you find most reliable to ouput a good >>> geo? >>> >>> I'm doing some fracture work lately, and I've always had problems to >>> solidify complex geometry (with varying thickness/sharp angles and >>> corners/etc). It ends up self-intersecting the inside part, which obviusly >>> causes problems when you have to shatter later on. >>> >>> Here's a good example, this is a corner piece from a rubiks cube (left >>> original, right solidified, bottom isolated internal result geo): >>> >>> >>> >>> I've tried some options like: >>> >>> - apply the operator, then select the internal part and relax/smooth the >>> geo (not ideal, since it starts to degrade the original shape, to the point >>> it starts creating some internal/external intersections in some areas) >>> >>> - using blender, that has a nice feature on its thickness operator >>> called "clamp". It is exaclty what I need, but it's limited and does not >>> work good in this piece for some reason. >>> >>> I'm sure there are more smart options out there...maybe a vdb stuff for >>> the internal part, then converting it back to geo, but I'm out of ideas >>> right now. >>> >>> How would you approach this ? (mesh is attached, in case someone wants >>> to give it a shot). >>> >>> Thanks a lot guys! >>> >> >> -- >> Softimage Mailing List. >> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com >> with "unsubscribe" in the subject, and reply to confirm. >> >> >> >> -- >> Softimage Mailing List. >> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com >> with "unsubscribe" in the subject, and reply to confirm. >> > > > -- > Softimage Mailing List. > To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com > with "unsubscribe" in the subject, and reply to confirm. > -- Softimage Mailing List. To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with "unsubscribe" in the subject, and reply to confirm.
User attributes from Houdini to XSI? Freelance job
We need to move animated geometry with animated attributes from Houdini to Softimage. We can get vertex_colors in via FBX, but so far not animated ones. From the short Crate documentation on the topic, I can see it is possible to import custom attributes from alembic files via ICE, but it is beyond my ICE capabilities. Subsequently I would like to hear if someone here is up for the task for a remote freelance gig, and available? Right now I just need to find someone who knows how to do it, check availability and fee, before committing to the job. Cheers Morten > Den 8. december 2016 klokken 15:24 skrev Olivier Jeannel >: > > > Never tested before, but for what I read it talks about "arrays" and > "vertex". Maybe check in houdini what you're exporting. > In Houdini you can create Vertex Attributes or Point Attributes, they are > not the same. > When export-binding paramaters you have an option for Float Array, which is > not the same as single Float. > > 2016-12-08 14:48 GMT+01:00 Sandy Sutherland : > > > Morten - Houdini normally stores vertex colour data in Cd, try that > > instead of H_vertex_color. > > > > S. > > > > On Thu, Dec 8, 2016 at 1:39 PM, Morten Bartholdy > > wrote: > > > >> I am using Crate to import alembic from Houdini into XSI for rendering, > >> and we would like to transfer custom data, in this case actually just > >> simple vertex colors. > >> > >> Reading up on Crate documentation there is one page about Custom > >> Attribute Import using ICE to import alembic data, and it is not terribly > >> explanatory, so this far I don't have things working, but I think I can see > >> there is an attribute named H_vertex_color when I have set up the string > >> stuff, but I get this error: > >> > >> # ERROR : ExocortexAlembicSoftimage1.1 - Alembic: float_array node error: > >> Could not find H_vertex_color > >> > >> Does anyone here have tips or pointers regarding importing custom data > >> from Houdini? > >> > >> > >> Cheers > >> Morten > >> -- > >> Softimage Mailing List. > >> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com > >> with "unsubscribe" in the subject, and reply to confirm. > >> > > > > > > -- > > Softimage Mailing List. > > To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com > > with "unsubscribe" in the subject, and reply to confirm. > > > -- > Softimage Mailing List. > To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with > "unsubscribe" in the subject, and reply to confirm. -- Softimage Mailing List. To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with "unsubscribe" in the subject, and reply to confirm.
Re: Alembic sticky memory properties
I ended up deleting it, so I could control it directly with overrrides - thanks for the tip :) Morten > Den 8. december 2016 klokken 20:14 skrev Steven Caron: > > > Yes, its useful for animating visibility of an object. But it can confuse > Softimage a bit when switching passes or overrides. Sometimes it just needs > a refresh. ie. toggle the partition visibility. Of course if you don't need > it, delete it. > > On Wed, Dec 7, 2016 at 12:59 AM, Morten Bartholdy > wrote: > > > Didn't know there could be alembic visibility ops but that was the culprit > > it seems - thanks! > > > > Cheers > > Morten > > > > > -- > Softimage Mailing List. > To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with > "unsubscribe" in the subject, and reply to confirm. -- Softimage Mailing List. To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with "unsubscribe" in the subject, and reply to confirm.