Welcome to od|forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

Search the Community: Showing results for tags 'attribute'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Lounge/General chat
    • Education
    • Jobs
  • Houdini
    • General Houdini Questions
    • Effects
    • Modeling
    • Animation & Rigging
    • Lighting & Rendering
    • Compositing
    • Games
  • 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 55 results

  1. So I was writing some vex code for a scene Im working on, and while I was debugging the code to correct an issue I placed various printf() functions in the code to check the state of the attributes right after I made some changes to them, and I noticed that if I load an attribute in a variable and print it, modify the attribute, reload it in the same variable and then print the variable out again, it wont show the newer value if the loading&printing process is done in the same wrangle node of where the attribute was modified. Here's an example scene wich exactly recreates my scenario. Am I missing something stupid here? Test_attribute.hipnc
  2. Hello! In this Masterclass, at 41:00, the teacher explains that fracture parts of the object can be localy modified using an attribute. So my question is about this : how do you control what part of the object will fracture? is there a way to connect the FEM solver to a voronoi attribute or anything like that? Thank you for your time!
  3. Hi there! I'm looking for a method to colorize SDF (VDB) based on an attribute, which I made, for ie: the distance along the X axis. (The surface created at render) Any help would be appreciated.
  4. 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
  5. Is it possible to create an arbitrarily-named transformation vector attribute through VEX? Let's say I do this in a point wrangle: v@test = {0.5, 1, -0.2}; From what I understand the resulting attribute is what's called an arbitrary vector (indexed by 0, 1, 2). How can I have this created as a transformation vector (indexed by x, y, z)? It seems all of the automatically-cast attributes are created as transformation vectors (@P, @accel, @center, @dPdx, @dPdy, @dPdz, @Cd, @N, @scale, @force, @rest, @torque, @up, @uv, @v), but I need to name the attribute something else. Interestingly, if I create the same attribute with an Attribute Create SOP, with type set to vector, the resulting attribute is a transformation vector (x, y, z). However, I cannot seem to create an arbitrary vector through Attribute Create. What I'm currently doing is first creating the attribute with an Attribute Create SOP, and then modifying it with the point wrangle. But there must be a way to do it without the wrangle? This seems like such a common question, but I've searched all over and looked through many of the vex functions that I thought may be relevant and I can't seem to find anything. Maybe I'm just using the wrong terms.
  6. Hi all I maked a very common break, only a box and some points to fracture and packed. Know i want to find the rotatioin angle through 'w' attribute. No matter what way can be... Thanks!
  7. Hello!, I'm creating an attributte to group only the tips of this extrusions ...I used the front group that polyextrude creates to transfer an attribute to the root.. it's working so far buut the problem is those areas where the attribute of some tips gets to other nearby tips ... I could put a smaller blend value but still for thos tips that are to near I get this problems, of course I understand that the attributte transer is just creating a blend radius without any topology consideration... I was trying to look for some technique to transfer attributte to points that are topological connected, without any luck so far. any ideas?
  8. Hi, When I select points from the viewport, how do I get a value of point attribute in python? I wrote a beginning like this: 1 import toolutils 2 viewer = toolutils.sceneViewer() 3 selection = viewer.selectGeometry('Get Ids From Select Points',geometry_types = [hou.geometryType.Points]) but I don't know how to continue this. thanks Shawn
  9. Hey guys. I'm pretty new to the houdini world, and I've been experimenting a lot of things. Is there a way to get the RGB values of scattered points using attrib wrangle? Im not too familiar with the VEX syntax, so Im having a hard time figuring it out. I have random colours signed to a scatter node and some geometry copied on to the points using a copy node. I want to limit scatter the geometry based on the colour of the scattered point. Thanks!
  10. Hi I'm new to this wrangle node programming, I've been busting my head over why this doesn't work for three days, it's so simple therefor i must be missing out on some general vex concepts. If anyone can please point me in the right direction that would be greatly appritiated. I have a bunch of points on a grid and their moving up and down via noise. I am trying to set up a point attribute that has a value of 1 when a point if moving up (positivly in the Y axis) and a value of 0 when a point is moving down (negativly in the Y axis). This attribute is called Direction, I'm computing the logic on temporary VEX variables and then writing them out to the attributes. Here's how it looks like : // 0 is going down, 1 is going up, -1 means the point has no direction // on the first frame they have no direction so the points just take their current heights so they can use them for comparison on the second and every other frame int temporary_Direction; float temporary_Previous_Frame_Height; if(@Frame == 1) { temporary_Direction = -1; temporary_Previous_Frame_Height = @P.y; } else { temporary_Direction = @Direction; // ------------> this is where the problem is (this is here so that the temporary variable get's the value of the currently proccesing point every frame) temporary_Previous_Frame_Height = @P.y; if(temporary_Direction == -1) // If the point has no direction { if(temporary_Previous_Frame_Height < v@P.y) // If it's going up { temporary_Direction = 1; temporary_Previous_Frame_Height = v@P.y; } if(temporary_Previous_Frame_Height > v@P.y) // If it's going down { temporary_Direction = 0; temporary_Previous_Frame_Height = v@P.y; } } } // Out_Values i@Direction = temporary_Direction; f@Previous_Frame_Height = temporary_Previous_Frame_Height; // Out_Values The problem here seems to be when I declare "temporary_Direction = @Direction", for some reason on the second frame when I read @Direction the value wich is given to temporary_Direction is 0 instead of -1 wich was given to every @Direction on the first frame. Temporary_Previous_Frame_Height updates just fine but temporary_Direction doesnt. Also writing "if(temporary_Direction == -1)" doesnt seem to work either. Is my thought process even slightly right here, what am i doing wrong, are temporary variables created in vex something that exist globally and in order to use them per point we need to read each point's values or are temporary variables something that exist for every point. Also why do i have to give values to all attributes every single frame or else they will reset to 0 (hense the Out_Values section). //////////////////////////// Update Thank you everyone for replying. I've tried out the time shift sop and it work's fine now( I dont even need the Previous_Frame_Height attribute anymore). I've updated the main post with the original hip file and the one with the time shift sop. Learning about the time shift sop is great, but i would still like to improve my thought process on writing code. It would be greatly appritiated if someone can take a look at the original hip file and possibly shed some light on the problem. I've added notes inside the original hip file for clarity. Any help would be appritiated Thanks in advance Original.hip Time-Shift SOP.hip
  11. Hi I need to initialize an attribute in a wrangle wich runs in Detail mode (only once), so I cant simply write " i@status; ", thats why I thought to use a for loop and the setattrib() function, but that code does not create any attribute on the points...why is this happening? Thanks
  12. I'm pretty new to Houdini and i've seen the "Active" attribute come up a few times in tutorials. I searched but couldn't nail down exactly why and where this comes from in Houdini. I get that it seems to pertain to DOPS and Glue constraints but I wasn't really clear on it all. I've seen people create it in sops and use it later in dops to activate things. My questions are: Is the "active" attribute a native attribute that nodes in DOPS looks for? Does it control all dynamics/force/glue or can you specify? Really any general info on it is appreciated! Thanks!
  13. Hi So I have some Vex code and I keep getting this warning: It says "implicit cast from float to int, use explicit cast instead". Now I know this warning message, but I dont understand why Im getting it here, since Im dealing with vectors...the code works and everything, but I keep getting that and I don't know how to get rid of it. Any hints? Thanks.
  14. Hello! I'm encountering a little problem with Pyro Fx. When I export a geo file from any fire, the attributes of heat, temperature and fuel look good in the viewport but when I render them, I get a particles cube. It seems that those attributes are not exported in my bgeo files (I tried with Vdb files and got the same result). Is it a bug or is there a step that I missed in the export? Thank you!
  15. Hello guys, i think this is a peculiar problem I have to "fuse" 2 meshes and VDB looks just perfect for the job. The 1st mesh is an orange (alembic) and it have some perfect UVs. What I did is a simple vdb setup to combine the 2 meshes + an attribute transfer to get the uvs from the orange but, unfortunatelly, it looks like some of the polygons are still connected in some parts where it shouldn't be. Does anyone knows a solution for this? I can't share the original scene so I've recreated it in a simple way. The original one have a face to mix with the orange. here's the images + scene file (with abc) in case someone can have a look at it Thx again, Alvaro UVs Transfer Problem.rar
  16. Hello community : i created this short tutorial on how to use the reorient attribute node in houdini and also i showed how it is work, it is some math matrix stuff, hope you find it helpful and hope you like it : Note : this training will give you nice idea of using the Matrix in Houdini , .
  17. I'm following along a tutorial that uses Houdini 12. I'm on Houdini Indie 15.5. There are a few things that have changed (new check boxes and expression names) and what I'm doing isn't working as it appears to be in the tutorial. There is probably a few ways to do this... I'm open to suggestions, but I want to also understand what changed or what I might be doing wrong. I have two sides of my node graph. One is a Grid plugged into a Mountain (to displace). The other side is a Sphere plugged into an attribute create which I've made an attribute called meshPush. Both sides are piped into an attributeTransfer. Finally at the bottom, there is a point node where I am supposed to add an expression to the Y position to displace my grid using the sphere. When I try to add my expression to position Y (@P.y + $MESHPUSH) that actual attribute isn't working and not actually showing up. Hope this makes sense. Can someone take a look and let me know why this might not be working properly? Thanks in advance from a new Houdini user. Learning_01.hipnc
  18. I ticked the "Create Fracture Attribute" in finiteelementsolver1, can i use that attribute and put that in gravity node somehow to make the fractures be affected by gravity but them only.
  19. I am using the following code to change the scale parameter in a geometry node: { s = @scale; if (s < 1) { if ($FF >= ch("/obj/CONTROLS/Start_Frame_HV")) { s = s + .25; } } return s; } I am able to grab the value, evaluate it, add .25 to it, and it is reflected on the desired frame. However, after the very first time, it will not add to it and it stays at .25 until scene completion. I have tried referencing it via the ch("...") function but it always comes back with a recursion too deep error. Up until it hits the desired frame, which is 24, the value remains at the desired value of 0. Then at frame 24 it is set to .25, so this tells me that this script is evaluated at every frame, or am I missing something? I am able to increment it from 0 to .25 at frame 24, but nothing after that. Any guidance would be much appreciated
  20. Hey Guys , i have a scattered points on a surface , and this points have noise as their color , i want to make a volume from those points , and also multiply volume density with points color , but cant find any way to transfer attribute from points to volumes . is there any solution to make this happen ? thanks
  21. Hi guys, i have this sphere where i have a geo displacement driven by color, to animate the color attribute i thought i could use another sphere that i can animate on the surface, the problem is that i don't know how i can do it. Anyone have some suggestions?
  22. How the heck does this work?! Within the solver is the attribute Transfer with "Previous Frame" in the left input and the Sphere in the right input. How does the solver know to transfer to the grid when it is not specified in the solver? Transfer_within_Solver.hipnc
  23. How exactly does attribute interpolate work? I have the following network but when I change the mountain SOP the points jump all over the place! I've turned on Prim Num attribute and sourceprimuv attribute in the scatter SOP.
  24. Hey guys, I'm having an issue where the Alpha displays properly in the viewport but doesn't work when rendered. I've done this before, just a simple Constant shader, and it always worked. Here is what it looks like in viewport vs render: I looked at other threads and none of the solutions work in this scene. Here is the scene file: 0007_odforce.hip Thanks!
  25. How can i import attribute to geoself() geometry from second input of wrangle node if i don't know type of this attribute. I write function: parameters: native_input = 0 (first input of wrangle node) sample_input = 1 (second input of wrangle node) attribs = string like "attrib1 attrib2 attrib3" native_ptnum = number of point in current geometry where i want create attributes like in second input sampled_ptnum = number of point from second input where i want sample attribute. but cannon import any array attributes like "Cd" and etc... This function correctly worked only if attribute is not array (type = 0 or 1 or 2) :((( void sampleattribs(int native_input; int sample_input; string attribs; int native_ptnum; int sampled_ptnum ) { foreach(string aname; split(strip(attribs), " ")) { aname = strip(aname); if ( haspointattrib(sample_input, aname) ) { int atype = attribtype(sample_input, "point", aname); if (atype==0) { addpointattrib(native_input, aname, int(0)); int value = point(sample_input, aname, sampled_ptnum); setpointattrib(native_input, aname, native_ptnum, value); }; if (atype==1) { addpointattrib(native_input, aname, float(0)); float value = point(sample_input, aname, sampled_ptnum); setpointattrib(native_input, aname, native_ptnum, value); }; if (atype==2) { addpointattrib(native_input, aname, ""); string value = point(sample_input, aname, sampled_ptnum); setpointattrib(native_input, aname, native_ptnum, value); }; if (atype==3) { int def_value[]; addpointattrib(native_input, aname, def_value); int value[] = point(sample_input, aname, sampled_ptnum); setpointattrib(native_input, aname, native_ptnum, value); }; if (atype==4) { int size = pointattribsize(sample_input, aname); string typeinfo = attribtypeinfo(sample_input, "point", aname); float def_value[] = {}; for(int i=0; i<size; i++) append(def_value, 0.); addpointattrib(native_input, aname, def_value); setattribtypeinfo(native_input, "point", aname, typeinfo); float value[]; resize(value, size); int success = -1; //value = point(sample_input, aname, sampled_ptnum); //printf("%d\n", sampled_ptnum); //foreach(float v; value) { printf("%f", v); }; setpointattrib(native_input, aname, native_ptnum, value); }; if (atype==5) { string def_value[]={}; addpointattrib(native_input, aname, def_value); string value[] = point(sample_input, aname, sampled_ptnum); setpointattrib(native_input, aname, native_ptnum, value); }; }; }; };