Jump to content

Search the Community

Showing results for tags 'attribute'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General
    • Lounge/General chat
    • Education
    • Jobs
  • Houdini
    • General Houdini Questions
    • Effects
    • Modeling
    • Animation & Rigging
    • Lighting & Rendering
    • Compositing
    • Games
    • Tools (HDA's etc.)
  • Coders Corner
    • HDK : Houdini Development Kit
    • Scripting
    • Shaders
  • Art and Challenges
    • Finished Work
    • Work in Progress
    • VFX Challenge
    • Effects Challenge Archive
  • Systems and Other Applications
    • Other 3d Packages
    • Operating Systems
    • Hardware
    • Pipeline
  • od|force
    • Feedback, Suggestions, Bugs

Found 86 results

  1. Import attribute into VOPS

    So I started watching this excellent tutorial about creating a spiderweb and got 3 minutes in.... https://www.youtube.com/watch?v=LFkzD9cgxek It's over my head with the coding at the moment so I thought I would try to create the same with SOPs and a bit of VOPs. I got pretty far pretty quick, and everything works so far (some dodgy maths, and weird values that work), but I am stuck on the VOPs bit. I want to randomise the rotations for the spar angles, I have them setup as primitive attributes, each one having a different number. I can get the attribute into VOPs (I think), but I'm pretty stuck at how to implement the randomisation per piece/attribute. Any help appreciated. HIP file attached. ) spiderweb_v002.hip
  2. Hi, for some reason, I can't use a custom integer attribute like (i@a=@Frame;) to drive offset(x) it a 'Mountain SOP' but if I assign @Frame it works just fine. I also tried it in a 'Timeshift' node with the similar result. Am I missing something? q2.hipnc
  3. Ok so just when I thought I had got my head around for each loops, I am struggling to get a custom attribute into a transform. The attribute is certainly seen by the copy to points node. and when I try to detail it in the transform, it justs gives back a zero. I've tried by including the transform in the for each loop, with a block begin fetch input etc. Makes no difference. (Using the spare input and -1 tag instead of the "../iteration". I've tried all combinations of cases @ signs, $ signs and whatever else. The "global attributes" colour and the scale nodes work fine. effector_v003.hip
  4. Hi) Can I somehow get the maximum(and the minimum) value of an attribute in VEX? I want to use them in a FIT function.
  5. Recently I started learning VEX, but now and then I hit a wall. In this case I can't find the answer on my own. What I'm trying so solve here, is to read the pscale from the closest point. //PSCALE @pscale = random(@P);; //NEARPOINT string me = itoa(@ptnum); i@near = nearpoint(0,'!'+me,@P); //READ PSCALE FROM NEARPOINT @npt_pscale = point(0, "pscale",@near); Getting an attribute with the point function works fine in most cases, like with the @P or @Cd, but with pscale it gives me a value of 0.0. Not sure I this is the best method, or maybe I'm overlooked something. I really can use some help. nearpoint_pscale.hip
  6. Hi, Can I somehow attach a string variable to an attribute? I want to get something like @P."string" where instead of "string" there should be "x, y or z"
  7. Hello everyone, I am new to houdini, and I am trying to do something I think should be simple, but I can't wrap my head around how to set it up correctly so that it works. I want to transfer a point attribute from points generated on a source mesh, back onto set mesh or ideally into a redshift shader (RS_material) to control the opacity. I am trying to use the super cool tutorial below, and use the points generated to drive the reveal of a mesh through the use of the opacity channel in the redshift shader. I can't seem to understand how to set this up so that the parts that need to see each other can, and do I need to convert the attribute into something that can go from 0 - 1 and / black to white? I'm just a bit lost and im sure I over complicate things, so if anyone would please just point me in the right direction at least, it would be much appreciated. Like what is the general basic order I should of this? mesh - generate points - I can see the attribute in my geo-sheet but now what? attribute transfer I can't seem to use correctly Thank youuu !!!
  8. Hello there!! I want to select all the primitives that have a specific attribute - @P = 0 - and assign a specific color to them. How can I do this in VEX or with nodes? cheers!!
  9. Hello there!! I want to select all the primitives that have a specific attribute - @P = 0 - and assign a specific color to them. How can I do this in VEX or with nodes? cheers!!
  10. Hello peeps! I want to do something really simple but for some reason it isn't working… I have an attribute P1 that I want to use in the distance scale of my polyextrude. For some reason the extrusions are infinite. Does anybody know why is that? cheers! extrusion.hipnc
  11. Hi!! I have subdivided the primitives of an icosaedron. What I want is for each primitive, to select a random number of subdivisions (the small black triangles) , extrude them and control their density with an attribute. How can I do that?? POPULATION -HAPPINESS.hipnc
  12. Hi guys, I'm currently using the Bound node as part of modelling project and am looking to store the Y rotation created by the "Oriented Bounding Box" option. Is there a way to store these values or can you create the same rotation a different way after creating the bounding box? Any advice would be greatly appreciated! Cheers! -Henry
  13. I got this dla growth system, that generate new points from "old" points each frame. i want to instance different objects to the growing dla system. My problem is that when i use an attribute randomize "pscale" and "orient" to the growing points, that result that each point changes size for each frame, same goes for orient. Ive put my randomize in the solver, and was hope that would do it, but no luck. I guess i have to give each point a id attribute once its born, but not sure how to proceed. I went through entagmas toturial "Diffusion Limited Aggregation", that is where my dla/growth system is from, so im just going to give ewach point a randomize pscale and orient. Anyone know how to do this? dla_attribute_problem.hiplc
  14. Hi people, I got some problem with color loss in my balls array attached to point box. Everything is working as intended until I transform my array to RBD Object. In my scene I would like to have balls bounce around and collide with everything but I would like to have some materials and distribute them randomly on them as well. Everything is working but color is lost inside Assemble node at the end in Attribute Wrangle node called : add_name_attribute. I have no idea what happens but this node is making additional groups from my balls and in the end there are many groups which I don't need. All balls are turning grey in viewport as well. If you could have a look I would be grateful. ajz3d_randomize_materials2.hipnc
  15. Hi, I'm trying to increment a point attibute value over time in vex. A basic exemple would be to animate a group node to increment a counter each time it select points. Then, emitt particles if the points have been selected 3 times, or be able to know if a point has already been selected before. So I tryed to do a setpointattrib to a node that is not time dependent, but it doesn't seem to work. Is there a way to do it in vex ? Thanks, Charles
  16. Hello there! Kinda new around here; think this is my first post, but lurking in the shadows and reading a lot this forum has been a great resource in learning the tools of the trade with Houdini lately. Well, straight to the point; I'm wondering if it's possible to make a parameter fetch a value from a created attribute. Can't post my network right now, but imagine; I have a IsoOffset, which creates a volume from a Boolean to be read by a Measure node; After that I promote the created Primitive attribute to a Detail attribute and Scatter some points on it. After this, a PopNetwork is created and I want it to emmit from the created points; but I need it to stop when the Volume Detail attribute is over a certain value; I'm wondering if via Wrangle I can do this with an If function, but then again, how would I transfer the final variable value to the Birth Rate Parameter in the Pop Source? I thought of something like this in the Parameter Field `detail("obj/Geometry1/attribpromote1", "VolCut", 0)` but it doesn't seem to work. Any ideas? Kind of noobish, so don't judge me hard on this! Cheers and thanks in advance!
  17. Hey all, I'm super new to Houdini with a background in game development. I was going through tutorials on pluralsight and I'm loving it so far. So I've been expanding on the content and diving into Vex, and I hit a snag trying to run a Solver that changes generated point colours, because I wanted read from and modify persistent data on a separate point outside of the solver network. I simply created details on the point in an Attribute Wrangle in dataHolders and thought it would be easy to read and write to them from an attribute wrangler infectedPoints in the solver. The problem is the vex script in the attribute wrangler can't actually read the details ie: int pointsVaccinatedSoFar = detail("../../../dataHolders/dataHolderPoint","pointsVaccinated",0); int maxPointsToBeVaxxed = detail("../../../dataHolders/dataHolderPoint","maxPointsToBeInitiallyVaccinated",0); printf("points Vaxxed so far: %g\n",pointsVaccinatedSoFar); printf("points Vaxxed so far: %g\n",maxPointsToBeVaxxed); The font node pulls the details properly and prints them. But the printf always yields 0 when maxPointsToBeVaxxed should be 10. I'm guessing I'm breaking some kind of data context/scope protocol in Vex buuut I don't know enough about Houdini yet to really understand what's going on if that's the case. Or I guess I'm not using detail() properly, or both Any help would be appreciated! I'm using Houdini Indie so if you guys can read it I can upload the .hiplc file. Thanks!
  18. Hello All, I have created a model in Houdini which consists of 6 different sections. All those areas have their unique Point attribute, so I merged everything into one object with the help of VDB and transferred all the point attributes. I would like to have a different shader on all those 6 sections of the geometry. My approach was to create one Redshift Shader network and with the help of Blend material and Unique attributes for Blend weight, separate all shaded areas. But for one of the areas I needed to use separate Blend Material and a different displacement. So do I need to create Groups based on those Unique attributes and assign shader within the geometry node with 6 unique Redshift Shader networks? Or there is a way to assign those 6 shaders by the attribute?
  19. Hello Guys. I got stuck here in a middle of an project and i can't find a solution. My problem is : I have a grid of points , and an animated point running over the surface of the grid. My "running" point have an attribute that is transferd ( via attrib transfer SOP inside anSolver) to the grid points by an proximity radius. then I use the transfered attribute to isolate only the grid points that are tuched by the "running"point. But the @ptnum of the remaining points is changing. And i need the @ptnum to grow in the order detection ( @ptnum 1, 2, 3, 4, 5 etc) why is that happening to understand better I've attached the scene file ptnum_chaos.hip
  20. I have some prims that I need to drive through a Clip SOP. Each prim has got its own clipping plane origin and direction, previously computed and stored in prim vector attributes, eg v@clipOrigin and v@clipDirection I would like to connect these attribute values to the inputs of a Clip SOP: Origin & Direction parameters but cannot figure out how to do it. I tried (just showing the Origin.x parameter of the Clip here, but the y/z and the Direction.x/y/z would be analogous: @clipOrigin.x no error, but wrong result (alway zero) v@clipOrigin.x error: unable to evaluate expression - extra tokens detected in expression ch("../nodeJustAboveClip/clipOrigin/x") error (bad parameter reference) hou.ch("../nodeJustAboveClip/clipOrigin/x") error (unknown function in expression) also tried with a spare parameter I realize the clipOrigin is not a parameter on my nodeJustAboveClip SOP, but rather an attribute on its prim output. So 3-5 are likely just plain wrong. Just in case Clip assumes it is running over points rather than prims, I also inserted a Attribute Promote SOP to copy the prim v@clipOrigin to each point. With version 1 above, the result is the same - no error but always zero. If you know how to do this, thank you in advance ! This is in Houdini 16.5 Indie -------- SOLVED: I was using the wrong syntax in the parameter expressions. You can pick up prim or detail attributes in SOP (not just Clip SOP) parameters like this: prim(surface_node, prim_num, attrib_name, attrib_index) detail(surface_node, attrib_name, attrib_index) details(surface_node, attribute) point(surface_node, point_number, attribute, index) Note these are VEX expression functions used in parameter expression one-liners, not regular VEX functions used in wrangles. The signatures of the functions are slightly different.
  21. Hi @ll, Firstly, enchanted to meet you all. I was testing the VEX function “opfullpath” in a simple way : // Getting the intrinsinc detail “numprim” via the function “detailintrinsinc”. Houdini Version : Nodes : one polygon Mesh(@opinput0) + attrWrangler. Detail intrinsinc signature is : detailintrinsic(string geometry, string intrinsic) Thus #1 : string geometry must be the path to Geometry Thus #2 : the command “in theory” could be : int primCount = detailintrinsinc( “op:`opfullpath(“../myInputedGeo”)`”,”primitivecount”); printf(“prim count : %g \n”, primCount); // to display. Saddly it doesn’t work… But : op:`opfullpath(“../myInputedGeo”)` is NOT a string it generes a string Thus #3 : command could be : string fullpath = `opfullpath(“../myInputedGeo”)`; int primCount = detailintrinsinc( fullpath,”primitivecount”); printf(“prim count : %g \n”, primCount); // to display. Saddly it doesn’t work… So it’s really hard to me to spot the worry…..because if you use the “lazzy” signature : detailintrinsinc(int opinput, string intrinsinc); It works but it has really really less power than using a path as the code will just look a the input0 of the wrangler’s entry rather than all over the scene to get its info. Probably a syntax error from me ? So if any body could help, you will be welcome please !!!. Bests, alr + + + pathtogeo-v004.hipnc
  22. Hi there. I have a small issue going on. I have a source emitting boxes as packed rbds. The boxes have different sizes according to the pscale value and that attribute is stored in the packed prims in the assemble sop. When I use a dopimport to read back the points and copy boxes on them, pscale value is gone, it looks like the dopnet didn't store it. Usually this is not an issue because the static geometry is transformed with the transform pieces sop. But here there's this issue with the pscale attribute. I attach a very simple setup that shows the problem in action. Thanks a lot! packedPscale.hipnc
  23. C4D-Style Effector

    Just throwing this one out there. I keep seeing people looking for easy ways to control attributes, a lot of whom reference C4D's effectors. So I made one. It's come in handy a few times already so I thought I'd package it up nicely and upload it. Let me know if you find it useful, find some bugs, or have any questions MT_PlainEffector.hdalc
  24. I'm trying to drive a BlendShapes' SOP blend parameter using a point attribute, @fade. The @fade is a point attribute and have it's value animated. But the blend parameter doesn't appear to read this animated values and keep showing 0 instead. The question: the blend parameter doesn't work with point attributes? I tried VEX and Hscript forms (@fade and $FADE). The second crashes.
  25. I need an advice from you, guys! How the local attributes of PolyExpand2D SOP are to be used? I want to make a non-uniform offset with these inside scale attributes. But I do not know the workflow for this.