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 'expression'.



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 27 results

  1. hi, I have a question about filecache node. Basically I want to construct folders - project folder - HIP folder (save hip file here) - geo folder (cache here) I think 'project set' set $JOBS a file path, then we can use $JOB to make relative path. However, I try to skip that process because I don't like so much, also most productions don't use it. Then I use this expression in file cache node > geometry file `strreplace("$HIP/geo/$OS.bgeo.sc", "HIP/", "")` It seems to be working well, but I wonder if anyone knows a smarter way, let me know.
  2. Currently I wanted to change some rops´s image path parameters with python. I have the problem that python converts my strings with e.g. "$F4" or "$JOB" expressions in it to absolute paths. Can I avoid that? e.g. : c.parm("vm_picture").set("//testDirectory/teststring_$F4.v001.exr") turns to: //testDirectory/teststring_0079.v001.exr How can I set this up with keeping the $JOB or $F expressions in it? is this possible?
  3. Hi there, First time post here. I'm relative new to Houdini and I really love already it but there are some things that (probably) are really simple but I just can't figure out. I must admit that I have very little experience in expressions and python (which I'm already working on) but for something I'm currently working on I'd hope to have some help before I get proficient enough in that. I have a volume source which emits in the Y axis and I wanna use the gas disturb fields but only on the voxels that are being emitted for the first second, after that I want other microsolvers that I have in the scene to take over. What kind of expression should I use for that? Should I first add some kind of life-attribute and then refer to that or is it much simpler? I looked at the local variables in the gas disturb microsolver but as far as I can tell they all refer to the simulation step time which is in the beginning of the whole simulation. Some help ore pointers are really appreciated. Thanks!
  4. Hi, when creating channel defaults inside digital asset I can set it as a value or hscript expression. Is it possible to set it to python expression? A way would be to create OnCreated script which will assign expression to a channel, or use some hscript for executing python command. But I am curious if there is another - better way Juraj
  5. I have replaced the file with just a cube so you guys can still see what is going on. It's very basic. It's just a box with points at the center of each piece telling what is active and what is not active. however when I put this expression: point("/obj/Angel/AC", groupbyvals("/obj/Angel/AC", D_POINT, "name", $OBJNAME), "ACTIVE", 0) in the active value DOP that I got from another dude on a forum on here, that expression doesn't work. Can someone please tell me what I am doing wrong here? This is for a demo reel project so I am on a time crunch..that's why I'm posting this. Thanks so much!! Angel_Destruction_3.hip
  6. Hi guys! I've made a sim with particles but I would like to keep them rotate in circle for some seconds and then use their inherit velocity. how i can keep them rotating? i've been trying to add angular velocity with cos ($T * 180) ty = sin ($T * 180) this expression, but doesnt seem to work. any suggestions? thanks!
  7. Hi to all! I'm just starting to study Houdini, and I know I'm only at the beginning, but when I'm following some basic tutorials I see some (weird) expressions that I've never seen before. Ok, thanks to those tutorials I can get that if I need to replicate that exercise I need that expression. But how did they get it? Why that one? Why not another one? Will be I able to do that too one day, without just referencing to another exercise I already did? I'm getting scared that maybe I'm just memorizing random stuff instead of really understanding why of those actions. Was like that for all of you? I will just get use to all the expressions or if it's difficult for me now, so it'll be also in the future? Thanks for sharing Any tips or advise is well accepted
  8. Hello, how can I force a channel in a sop to evaluate my python expression as an expression (not as the final value) ? With hscript it is simple I write : `mycode` But with Python I don't get it, sometimes I write something like : frame() or hou.frame() or hou.pwd() And it is recognized immediately as an expression and is evaluated (blue/cyan background), sometimes the very same text is considered as the final value (background black). I sometimes need to enter the code many times in order to have it recognized as code. I do not understand why ? Any help is very welcome (I am on houdini 15.5.565 on Windows 10) Thanks, Nicolas
  9. So I have a scene that composites a bunch of meshes together. What I want to do is build a descriptive filename based on parameters I have set. For example if the mesh is male or female, what version of pants, or shirt is it using etc. I have a ROP with a two expressions in it. The 2nd expression `chs("switch_LEG_Manual/input")` seems to work fine because it is just concatenating a numeric value (0-5) based on a slider position. However trying to add the string prefix HMM, or HMF I'm not having luck. First I tried to use an IF statement, but could not replace the true, false values of 0 and 1 with strings. So I made some detail - string attributes with the prefixes, and then a switch node to pitch the appropriate prefix, but cannot seem to place that detail string attribute in my filename. Aslo tried a local variable $ATT without success. I have tried, $HIP/Clothes_Fitter_Output/LEG_output/`chs("GENDER/string1")`_LEG_Default.`chs("switch_LEG_Manual/input")`.obj - i get nothing.. _LEG_Default. $HIP/Clothes_Fitter_Output/LEG_output/`chsraw("GENDER/string1")`_LEG_Default.`chs("switch_LEG_Manual/input")`.obj - I get the $ATT local variable but not its actual value of (hmm or hmf) $HIP/Clothes_Fitter_Output/LEG_output/`details("../GENDER","GENDER",0)`_LEG_Default.`chs("switch_LEG_Manual/input")`.obj - Any ideas? or a better approach to making dynamic file names in a rop? Thanks.
  10. hi I was trying to use Sopsolver expression to output the previous timestep, but i am not getting the result. this is the expression i use inside sopnetwork using object merge node. stamps("../OUT", "DATAPATH", "../../.:agents/Geometry") flocking_system.hipnc
  11. So I have a switch node I want to direct based on what another switch node's channel is set to. AFAIK || is the "OR" nomenclature but going back to H13 I have not been able to get this to work. Basically if the first switch is set to 3, 5 or 6 set the second switch to 1.. if its not 3,5 or 6 flip it the other way. This is the expression that I have, but it seems to result in in any value being true (1). What am I doing wrong? it doesn't error if(ch("../switch_GLV/input")==3 || 5 || 6, 1,0)
  12. is this possible to make this curve with expression ? tnx
  13. Is it possible to access a single component of a vector in a stamp expression? Or is it just limited to single numbers? I've searched and haven't found anything specific to copy stamping and vectors. For example, if I had a vector attribute called size and I wanted to just get the second component. I've tried: stamp('../copy1', 'size.y', 0) stamp('../copy1', 'sizey', 0) stamp('../copy1', 'size[1]', 0) I know it would be easy enough to create an extra attribute with just the second component to stamp instead. But it seems like this should be unnecessary.
  14. Hi guys. I have a point with an attribute @mesh_path @mesh_path = "/mnt/projects/model/mesh.001.proxy.OBJ" and File SOP connected below I can't read file if I use attribute in a FILE_SOP text Field. `@mesh_path` Is there any possibility to use string variable in FILE SOP text field to read the file?
  15. Hi guys. I have an array of points with an attribute @mesh_path and @map_path @mesh_path = "/mnt/projects/model/mesh.001.proxy.OBJ" and File SOP connected below I can't read file if I use attribute in a FILE_SOP text Field. `@mesh_path` Is there any possibility to use string variable in FILE SOP text field to read the file?
  16. Hi guys. I have a point with an attribute @mesh_path @mesh_path = "/mnt/projects/model/mesh.001.proxy.OBJ" and File SOP connected below I can't read file if I use attribute in a FILE_SOP text Field. `@mesh_path` Is there any possibility to use string variable in FILE SOP text field to read the file?
  17. Hey guys, first post here. I'm extremely noob at Houdini and I've got a very basic question. I've got a particle system going, and after the POPs system in the Source Particles SOP it creates, I'm trying to use the Y position of each particle to drive a Blend Sequence that is copied onto the particles with a Copy SOP. What I haven't been able to find is how to query the Y position of my particles. I can find their positions with the Geometry Spreadsheet, but the name of the attribute it gives me is "P[y]", and typing that into an expression doesn't seem to work. I had thought it might be "@P.y" but that errors out as well. I think one of the problems is that I'm not telling Houdini WHAT to find the Y position of. But again, not sure how to find that. I've googled and did a cursory search of the forums here but all the posts I've found are way more advanced than this simple thing I'm trying to find Can you fine gentlemen/ladies point me in the right direction to find how to query this sort of basic data? wk2_copy.hipnc
  18. Hey guys, I'm sure that everyone who has ever attempted rendering in Hou has experienced the pleasures of using expression functions and pattern matching. The workflow of formatting your target content (geometry, lights etc.) together with this syntax is truly powerfull. For example: I want to render a character and everything else to mask him. Group and expression operators make that easy and dynamic: Render Objects: @character Mask Objects: !@character However at some point the group of @character has to be expanded and the ! negation-operator has to be resolved before the concrete pathes are used to generate the information consumed by the renderer. I guess this is the job of the Pattern Matching and Expression Library I am referring to in the title. Now on an abstract level, this is just a powerfull language for users to dynamically describe (sub-)sets of data which they wish to use for something. Same principle - different data sources: Now what if your Object Names in the Mantra node whose patterns and expressions will be evaluated would not refer to objects in networks but to entries in databases? @group_name string expansion could result in all database entries whose "Group" field matches "group_name". (and of course !@group_name would result in the opposite...) What if we are not talking Mantra ROPs anymore, but maybe a Pyside Standalone or Web Application that lets you enter these patterns and expressions to describe the datasets to pull from any database? How to ?: Does that sound realistic/reasonable/doable at all? If so, do you know any libraries that define expression languages/operators and expose solvers for them? (Sympy!?) Are there some details on how Houdini handles that? How would you go about implementing a Mantra ROP like application that exposes string fields where people can use pattern matching and expressions to describe data that is then pulled from databases?
  19. Hi Everyone! I have a grid, i'd like to select the diagonal points. Im using a group SOP, filter by expression: abs(TX) = abs(TZ); The result is funky (does not select all "TX=-TZ" diagonal but only corner pts) Any workarounds? Thank you very much!!! diagonal_select.hip
  20. NOOB ALERT! Hi, folks! How can I learn function and expression and it's usage? Exhelp or Houdini help is a great tool but like I have encountered today and is encountering everyday finding right function or making the expression correct is a big issue for me. I didn't know what prim() does. Didn't know it actually exists. Then I saw some tut where everyone is using it, then went to exhelp and understood it. I hope you can understand my situation. So, how can I learn them fast or may be a direction to have them all? Here in Odforce or Sidefx many words are alien to me. How can I overcome it? Please, if you can, share with me how you have learnt function and expression Thanks for your great help!
  21. Hi,guys, I am trying to build a digital asset here,It's a asset inside shader,I mean it's at vex builder level. And now I want there to be some parameter which link to a rotation of an object level camera. Because the rotation keep changing,so I must like write a expression for the parameter of the DA. And here is the problem,it seems that I can't write expression at vex builder level,it does not update. I know I can promote parameter to shader level,but I do want to keep it at my digital asset which is at vex builder level. So,how can I get that changing data and make it work for my digital asset? I did some test,maybe someone can check my test scene(houdini14) and help. Thank you guys. Peng.
  22. Hi guys, I'm a Maya guy, new to this world of Houdini. Please don't mind if I’m asking something idiotic. I wanted to move some scattered points on a surface, from top to bottom, and when a point reaches the bottom, it should go back to top and start again moving down. Like this, points should keep moving in loop. I don't want to use particles or solver. I'm looking for some solutions with expressions or vopsop. Hope someone can help me. Thanks in advance.
  23. Hi, so I am new in Houdini and I am trying to deliver my shot now haha. I have a FLIP setup with a custom emitter, and I am trying to animate the emission with expressions and (animated) custom attributes coming from the geo emitter... So my questions are: 1) how can I use a noise() expression in the y scale of my emitter only? Coming from Maya, I was using noise(time) all the time but can only use rand($F) in houdini right now 2) can a POP source use a custom attribute coming from the geo of the emitter, created with Attribute Create? I read my local variable on the emitter but can't use it I can't work with VOPs currently, it's a little bit too complicated, as it's my first houdini scene. I've tried but can't make it do what I want. Thank you!
  24. Hello, I'm having a problem with a setup I'm trying out and I'm hoping someone might have some ideas on what I can do? I'm creating this 'archway' that's made out of spinning blocks. The blocks are moving along the path of the archway. (At home right now, I'll put an explanatory pic up when I'm back at work tomorrow.) For this animation the archway is constantly changing it's shape. To acheive this whole look, I have about 6 nulls which I animate the positions of. Then -create a closed curve through all the nulls. -carve along the curve (this is what makes the cubes travel along the path) -resample the curve -sweep and skin a circle along the curve to create a tube -scatter points on the tube -copy boxes to all these points. This works reasonably except when the curve changes length and then the scatter sop ( or maybe the point numbering of the tube ) changes and all the boxes jump to different parts of the curve. I'm not sure what to do about this. My current idea is to try and keep the length of the curve constant. -Two of the nulls and the bottom part of the curve are off camera. I am thinking I could use a measure sop and a Python expression to iteratively reposition these two off-camera nulls to maintain a constant length. I've had a go, but my Python in Houdini is pretty beginner and I'm not having any luck yet. Any suggestions? Simeon.
  25. Hi, i have a simple question, i am using a sort node with "Proximity to Point" and i want to ignore the Y Axis, therefore i am trying to fetch the Y-Position of the processed Point to my "pointproxy" parameter of the sort node. point("../wrangleNode", ???, "P", 1) As $PT is not available how would i do this? Thanks!