Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by riviera

  1. HOT variants ("Drew vs Christian" :))

    Not sure about the details (I'm not following Maya and/or its api for good reasons), but I think both apps' devkits come with a version of TBB (the SideFX guys don't seem to waste time over including any open-source library they find useful ). In other words, TBB is also included with Maya, but I doubt the version number will match the one in Houdini. Btw, I uploaded two new repos: - https://github.com/johnnyquest/hot -- this is the same as Drew's repo but it has some "semi-automatic" build scripts for Windows (I might try to add some multithreading to this later) - https://github.com/j...t/hotOcean_Maya -- this is Nico Rehberg's code a bit cleaned up, and a cross-platform waf build script is also provided (should work on both linux and windows)
  2. HOT variants ("Drew vs Christian" :))

    Hey Drew, Thanks for the quick answer... I saw your previous discussion with Chris about the multithreading details of the code (and glanced into his code as well -- it seems he used the "usual" Houdini threading-util classes to implement multithreading), but my question was basically which codebase is more up-to-date. I (we) needed to have the exact results in both Houdini and in Maya on both linux and windows platforms -- and it works! I compiled these plugins: https://github.com/eloop/hot -- this is your repo, I compiled this on linux right now http://www.nico-rehberg.de/shader.html -- this is Nico Rehberg's Maya plugin, I compiled this on both linux and windows ...and these two give the exact same results for the exact same input parameters (we had problems with different versions before, but didn't dig deeper as it wasn't necessary at the time). Exact same results in Houdini and Maya, on both platforms. (I had to make a few cosmetics & cleanups to Nico's code -- it was MSVC++-only and probably wouldn't build in debug mode even there --, I'll probably put the results up on github and/or send it back to him. I also added a multi-platform waf build script.) On the multithreading side of things, I agree with you completely on not wanting the "abstract" code to get app-specific. Right now I don't really care about multithreading (we can always substitute a low-res mesh for interactive purposes and crank up the resolution when running batch sims). I was thinking of using an OpenMP-style multithreaded loop for the processing of geometry points somehow (I gave it a quick try but the regular GA_FOR_ALL_GPOINTS stuff is too object-oriented for OpenMP's taste ) Thanks for the COP idea, it sounds interesting... And thanks the the plugin in the first place, it rocks Imre
  3. Alembic primitive/point colors to Maya?

    Our "custom" alembic exporter for Houdini can be found here: https://github.com/johnnyquest/hAbcGeomExport This exports the Houdini velocity (v) attribute to the .abc file in a way that can actually be read into Maya as a color set (the attribute should be promoted to per-vertex in Houdini first, for some reason, although per-point "should work" according to abc developers). We chose this method since other than vertex color sets, there's no mechanism in Maya for storing per-point data. (Our maya-to-arnold exporter is hardwired to interpret this special color set as per-point velocity). It would be very nice if ether the Houdini abc exporter and/or the Maya importer supported this, so there would be a painless way of translating this from one app to another.
  4. What is the reasoning behind the variable behavior?

    So basically what you're saying is that you're going to remove support for these variables just because their implementation is buggy? Correct me if I'm wrong, but couldn't this be implemented in a way so the node would evaluate the appropriate centroid() expressions (for the node input), and assign the results to the $CE[XYZ] variables? Something along the lines of $CEX = centroid(opinputpath(".", 0), D_X) $CEY = centroid(opinputpath(".", 0), D_Y) $CEZ = centroid(opinputpath(".", 0), D_Z) (let's assume this is pseudocode ) Then we'd still have the variables without any evaluation inconsistency. (Assuming the centroid() functions evaluate properly). In other words, the variables would just be convenience "shortcuts" for the full expressions.
  5. What is the reasoning behind the variable behavior?

    I for one vote for the old behaviour. I also find quite strange that this was supposedly a "side effect", as it is explicitly documented in the help card, and this is the _expected_ behaviour. All other nodes' local variables work like that. Period. Besides, the $GCX/Y/Z variable(s) (group centroid) still work, so I don't really get what they mean by "unintended behaviour". What they say is sounds pretty inconsistent. Imre
  6. Performance of the new "Source volume"

    For one thing, it IS inefficient (and inaccurate) when using with particle fluids, especially if you want to emit fluid from the surface of a geometry. (I ended up creating an own fluid emitter asset). It can also be inaccurate when inheriting attributes from the source geometry (e.g. per-point velocity).
  7. Blend CHOP questions

    Hi, I have two problems, both related to the Blend CHOP: 1. The Rotation blending modes don't seem to do anything (i.e. behave the same as Euler). (I'm aware that I should use the 'fast linear' option when blending multiple targets, but I have only two.) 2. My other problem is that I want to blend two looped animations but with different lengths. I won't be able to describe this properly, but whoever used this CHOP will probably know what I'm talking about when I say that the 2nd and 3rd input channel lengths are getting "cropped" by the blend input channels. (Damn, I'll probably post an example scene). For example, if the blend input channels (the 1st input of the Blend CHOP, containing one channel for each blend 'target') -- if these channels only a single frame long, the Blend CHOP will 'crop' its result to a single frame too (and this of course means that there won't be any animation). I hope I was clear enough, if not, I'll post some examples... Any ideas from Blend CHOP experts? Thanks, Imre
  8. Houdini 12 Sneak Peek

    You guys are being very subtle, imho H12 SOUNDS FRIKKIN' AWESOME, MIND-BLOWIN', ROCK'N'ROLLIN' HOT STUFF!!! (Sorry, but I had to get it out with the appropriate amount of caps'd letters ) This is so good news I can hardly wait for the release. I always much appreciated the features that SESI implemented throughout the versions -- but this is so many new and useful stuff they could easily bump the version number to h14 or even more. I would have been happy to see _any one_ of the new features in the new version, but having them _all_ is, well... see comment above Anyhow, it must have-been/be a lot of work going into this, so thank you guys at SESI for your efforts. Oh, how long till october...
  9. Hi, I downloaded and built the thing (64bit linux, bullet 2.78 under Houdini 11.0.7xx), and although the test scene works fine, when I construct a dopnet by hand it gives the following results: The dopnet itself is very simple, an active and a passive rigid body, a bullet data node for each, a bullet solver and probably a gravity node. Any ideas why this happens?
  10. bullet behaving strangely

    You were most probably right, I tried to fix it that way and it worked out, thanks. I'm saying "most probably" not because I don't trust your opinion--rather, I don't have any confidence in what I'm doing within this plugin. Basically, I tried to do it the same way as in the single example scene that comes with the bullet DOP (with the teapots): I added a position node, and used that to actually position the object. Hopefully that set the center more or less properly (I dunno). There are a few things I don't understand. For instance, why is the position setting is in "Set Always" state on the Position DOP? (In that mode, the object snaps back to its starting position after a few hundred frames, which is also strange.) Basically, I'm just playing around with the stuff, but I'm not even sure I'm doing the most basic things right. Are there any tutorials about how to use this DOP? Is this thing still under development, or should I look at the bullet SOP plugin? (I've heard it's getting quite sophisticated with constraints and all -- I just like the idea of doing dynamics in a dopnet better.) Even just a few more example scenes would be helpful. I checked out your youtube videos (such as glued rbd objects, etc). Do you do these with this plugin? I'm actually hoping to utilize bullet somehow for actual production. Is there a chance for that, or is this thing still in an early/experimental stage? And again, thanks for your help!
  11. very basic RBD WTF

    Hi, I'm kind of a newbie, just started experimenting with DOPs/RBDs. I put together a very simple scene and got the following error: As you can see, there's nothing special, almost all parameters are at defaults -- I keep on getting these interpenetration artifacts. Tried to use a different scale, solver timestep, etc. etc. I have absolutely no idea how to solve this. I attached the scene (nothing complicated, really). Any ideas would be much appreciated! Thanks, Imre how_come_these_guys_fall_apart.hip
  12. very basic RBD WTF

    Thanks for all your help, much appreciated (seems that I should've RTFM, though ).
  13. very basic RBD WTF

    Hey thanks, I'll give that a try -- it'll probably do the trick. Btw, just to answer the other suggestions: I had up to 60x60x60 divisions on the volume representation, tried increasing everything from global substeps to RBD solver substeps, contact passes, etc. and nothing helped (that's what I meant by 'tried almost everything' ). Oh yeah, btw, in the meantime I triangulated the entire geometry and it started working. What's the explanation for that?
  14. newbie: object name from dop id

    Hi, I'm completely new to DOP networks, so forgive the very basic question (I did look through the manuals/previous topics, though ) To put it short: what I'd need is a function to get the name of the object in a dopnet, based on its objid. What I'm trying to achieve is that I have four toruses (torii?) and four spheres (called torus_<n> and sphere_<n>), which are all rbd objects. I want to constrain them together in order that torus_0 would be pinned to sphere_0, and so on. I'm using an Apply Relationship node with an RBD Spring Constraint connected as relationship. The applyrel node is set to Number Of Relationships Per Object Pair, which seems to create the constraint between all possible combinations of objects by default. I derived from the examples that I should write an expression for the Activation parameter of the applyrel node, so it would only create a constraint where the indices extracted from the object names match. However in the applyrel node there only predefined variables are $AFFECTORID and $AFFECTEDID which return indices of the objects, and what I'd need is their names based on these indices. Any ideas? imre
  15. newbie: object name from dop id

    Thanks a lot -- first I didn't quite get what you meant, then I realized that in DOPs the object ids and object names are kind of interchangeable.
  16. RH Linux 8

    I don't understand why you're having problems switching the desktop environment, as you can easily specify your preferred one at login (I always use KDE, as I think it's less resource hungry than gnome -- and you can change the prefs to use the Win key instead of Alt to adjust the windows). There's also a small app somewhere in the start menu to change the preferred environment. For me, the biggest problem with 3d software on Linux (meaning Maya and Houdini is the system library incompatibility issues; for example you can't run Maya on anything else than rh7.1 as it needs specific versions of system libraries. But perhaps I'm just too unlucky as it seems none of you guys ever had a problem with this. imre