# probiner

Members

86

1

1. ## Any mid-term work going on in London ?

Hey Came to London to work for Crowd at MPC. Here's a summary of the challenges I responded to in Houdini: At the moment, I'm looking for the next thing to hop on. Most jobs for Houdini are VFX centric and I'm mostly a generalist leaning more towards geometry, rigging and motion processing side of things. Here's some public Orbolt Assets: https://orbolt.com/search/?q=probiner Building one right now to upload, to alike the matrix one, visualize arrays of vectors: https://i.imgur.com/ZPki1XN.png Let me know if there's something fit mid-term going be it for Houdini or XSI or even just if you're around and want to have a chat! Thanks
2. ## Triangulate a non convex polygon

Maybe this is solved by looking at how did you get to this point. Starting from this point though and looking like you have a U initial shape you could always intersect() from the primitive center to the U and if doesn't find a primitive is deleted with removeprim(). PRB_IntersectDelete.hiplc Cheers
3. ## Crowd Look at bug?

I found some issues with it as well but due to the pace I was running at I did not report it and just did my own. If you have a reasonably simple scene, report it. Cheers
4. ## Oriented Bounding Box - Store as Attribute?

Here's an example constructing a matrix from the bounding box points that can be later used. PRB_BoundCenterAndMatrix.hiplc You could request something like this was generated by the node itself. Cheers

Check:
6. ## cutting iteratively a geometry

Hey, check the attached scene. PRB_IterativeClip.hiplc Notice that the iteration count is control by the number of points of what is connected to the second input of the for loop "block end". The rest is creating a matrix on the scattered points so the grid being cut is placed into a new pose, cut and put back into the original pose. Hope it helps Cheers
7. ## Vex shifting values.

Modulo indeed a way to go and worth to learn about. Here's some pieces to help with a VEX setup: vertexprimindex() gives you the index on a primitive and primvertexcount() gives you max amount. Modulo the first with the second while adding an offset value to the first and you got your carrousel. Or... you can just shift the points with Sort SOP and read the value from the point with the same newly aquired index. Scene PRB_ShiftAttrib.hiplc Another example of a setup using Modulo. If confused check the initial explanation. Cheers

9. ## cheap&fast sims following animation?

Thanks a lot @yglemarec sorry for the slow reply. That indeed improve a lot the following up the anim by the sim wire. Although, I'm still not getting the tip to bend/flow from one side to the other, for example. What I was sorting looking for is the squishiness of a tentacle against obstacles + its' ability to act like a muscle on it's own. Neither stiff anim only , neither ragdoll sim only. Thanks for the tip, was of great use already!
10. ## cheap&fast sims following animation?

I'm mostly geared toward parametric setups with immediate interaction, easy to "art-direct", but there's things only sims can solve, so I'm looking into introducing some cheap&fast sims into my setups. What do I mean with "cheap&fast"? Take the example these boxes being simmed and then use the resulting packed geo to instantiate rubber toys: https://streamable.com/fnrmf Not accurate, but fast. So, to sim on simple proxy meshes and then use those to drive complex meshes. Now, today I was going through this tentacle setup, that is using curves: https://streamable.com/sqssf And basically I wanted the curves to collide with each other and with obstacles, so I made them Wire Objects, pinned the first point and setup a ground and an obstacle. But the results were not very inspiring (black: sim, yellow: parametric anim). What I basically want is the sim to look like the anim, but when there's a collision, to solve it, while still trying to keep up with the anim afterwards. I tried to use the "Glue Wire to Animation" from the shelf and select some points, but apparently when it's glued it follows 100% and so the results are weird. I was more looking for the curve to bump on the obstacle but still follow through to the other side and eventually catch up with the anim pose: Maybe I shouldn't be using DOP or gravity at all... There are a number of sim systems in Houdini and I would like to know where I should be digging to attain this sort of cheap&fast effect, not just for this particular problem but for overall situations where there's a strong parametric element to the animation and one wants to enrich it with sim calculations that adhere to the parametric anim, not just an initial pose. Thanks CurveSimWebr.7z

Nice @Noobini Using what you're showing I tried to go with GameDev Toolset's PolyDeform, a basic xyzdist wrap, and my Smooth to fix some spacing. PRB_AtomsBoneWrap.hiplc
12. ## VEX:: User-defined functions calls problems

I don't usually meddle with functions in VEX, but today decided to give it a go since I wanted to have some functions being used by other functions. I'm having issues calling functions inside functions. The code below for example will trigger errors. float foo(float a, b) { a = clamp(a, 0, 1) ; return a + b ; } float bar(float a, b) { return foo(a+.1, b+.1) ; } And it can be "solved" in multiple ways: If for example I comment out the clamp part it passes: If instead I remove the +.1 from foo it works as well. I have other examples where such simple corrections and the multiple corrections don't work or are not straightforward so what I'm after is understanding what's the main cause of this. Either I'm missing some method here ( I did try C++ style declaration / definition) or maybe there's some issue with calling a functions from a function. Cheers PRB_RFE_VEXFunctionCallBug.hiplc
13. ## VEX:: User-defined functions calls problems

That's the issue @f1480187 I could patch here and there, but it's not clear what it is as patching on either function will do... But it's no standard. I did file a bug report, thanks.

Hey I tried the Projection Smooth asset I've put up and I've thought about this in part when I made it. If you check "Sparse" option it does try to space things out. Plus Wrap will make it re project. Now. I've found it that running it in a loop for 500 iterations does better than running it with 500 itself. I guess I could do something just for this ans that asset was thought more for direction constrain than sparse smoothing. There must be a smarter way to do this, eheh. The issue with smoothing iterations is that they return so little after a certain amount. Cheers
15. ## PolyPathFrame

Here's an application of PolyPathTangent. Getting an updated edge normal for a closed polygon: Scene: http://jmp.sh/9k2rO1T Here's a silly application of PolyPathFrame. Dropped some curves and set up a model-able rig: Cheers
16. ## PolyPathFrame

Houdini Digital Asset to generate Reference Frames on a polygonal curve. https://www.orbolt.com/asset/prb::PolyPathFrame::1.0 Cheers
17. ## PolyPathFrame

Just the Tangent but with more options Cheers
18. ## HDA | MatrixDisplay

Houdini Digital Asset to visualize arrays of matrices attributes. https://www.orbolt.com/asset/prb::MatrixDisplay::1.0 Cheers
19. ## How to input an attribute in an HDA parameter?

Ok, here's the how I went about it to avoid burdening the UI. In a wrangle inside the Asset I check if the attribute exists with the same name as the parameter in the UI, and if not I create it with the UI value: float attrib = ch(“attrib”) ; // UI value variable from a spare input in the wrangle SOP. if(! hasprimattrib(0, “hda_attrib”)) f@hda_attrib = attrib ; // If the attribute doesn't exist, it's created and the UI value assigned to it. or if I just need the variable: float attrib = ch("attrib") ; if( hasprimattrib(0, "hda_attrib")) attrib = prim(0, "hda_attrib", @primnum ) ; Might not be very pretty to create/rename/copy attributes before the HDA, but since they share the UI parameter name it's straight forward enough, while allowing neat extra control. Cheers
20. ## How to input an attribute in an HDA parameter?

Scene file attached with a example case(Normal Displacement)where the problem is presented in 3 columns: left: Just HDA with single input value driving all points. center: Attempt to use a random value attribute @foo to drive each point. Failing. right: HDA exploded with @foo driving each point. Working as intended. I inputing @foo and `point(0, "foo", @ptnum)` in the HDA parameter but it didn't work. So what's the best way to set up HDA parameters to also be driven by a per point attribute? Thanks should look like this with the random value point attribute. AttribDriveParameter.hiplc
21. ## Is there anything similar to auto and decltype in VEX

run code: https://repl.it/repls/JaggedAgileMilkweedbug I ask of this to facilitate the overload of solutions with more broad usage. Thanks
22. ## How to input an attribute in an HDA parameter?

I got some answers at sideFX forums and here I explain my questioning a bit more. Basically: Is it possible to drive a single SOP float parameter with a geometry attribute? So far seems like the one way to go about it is to have an extra sting parameter to name the attribute... Cheers
23. ## How to input an attribute in an HDA parameter?

Fixed scene file. Typed "Embeded" instead of "Embedded" in the HDA path >_>
24. ## Batch transform attributes according with a type info

I missed Tansform By Attribute SOP Cheers
25. ## Batch transform attributes according with a type info

Transform SOP allows one to transform geo and at the same time its attributes according to their typeinfo (point, vector, normal). This field controls it: - How to batch transform attributes? - How to filter them in the same manner Transform SOP does? Cheers
×
• Donations