Jump to content


Popular Content

Showing most liked content on 08/22/2017 in all areas

  1. 2 points
    depending on the number of vertices, the easiest method is most probably using setdetailattrib() like in f1's second example. however, for very dense meshes and if performance is important it's better to iterate over the vertices and resize the array in advance instead of appending in a loop. this way you avoid continuous bounds checking of the array. int num = detailintrinsic(@OpInput1, "primitivecount"); f[]@val_array; resize(@val_array, num); for(int i = 0; i < num; i++) @val_array[i] = vector(vertex(@OpInput1, "uv", i)).y; hth. petz
  2. 1 point
    @greyday, show a simple example JSON readable by external program. The task is simple, but requires to know Python and HOM. The problem of different coordinate systems will also be raised, probably. If you are ready to spend couple of weeks, you can learn Python tutorial (at least, parts 3 through 6), then learn basics of json module (dumping simple dicts and lists on disk). I linked Python 3 pages and Houdini uses Python 2. There won't be any difference in this case, and it is reasonable to learn Python by most recent docs, IMO. Feel free to switch versions at the top bar of the Python site. Then read HOM introduction, find way to access animation values you need. Finally, combine everything in the final project. HOM will be the most tricky: docs are unfriendly. But you can ask here. @j00ey, try json module instead of manual formatting: data = { 'time': time, 'objects': [] } for obj in objs: t, r = get_wt(obj, time) obj_data = { 'name': hou.node(obj).name(), 'translate': list(t), 'rotate': list(r) } data['objects'].append(obj_data) print json.dumps(data, indent=4, sort_keys=True)
  3. 1 point
    If this is just smoke and you are using the fluid source and source volume DOP, just name your densities something different (densityCold and densityWarm for example). Do your simulation and then use 2 DOP I/O nodes to bring in each density separate. From there you should be able to write out the VDBs separate like you want.
  4. 1 point
    Cool stuff. Nice! Just a heads-up that Nvidia driver 384.59 on ubuntu 17.04 breaks OpenCL. 381.22 works fine. EDIT: Sleeping Ubuntu whilst Houdini is open will break OpenCL on 381.22. Error in H16.0.702 is: Machine restart is required to fix.
  5. 1 point
    I believe Core Performance Boost can dynamically apply a minor overclock across all cores and boost four cores up to 4.2GHz (In AMD lingo: "Precision Boost" and "XFR" respectively). Somebody more knowledgeable please correct me if I'm wrong. Couple of Cinebench numbers: CPB on: 2961 CPB off: 2938 Pretty minor dip but that's probably not representative of more single-threaded applications, where that 4.2GHz boost would be more helpful. If you overclock the processor it looks like CPB is disabled regardless. At the moment I have it overclocked to 3.75GHz across all cores (3199 in Cinebench).
  6. 1 point
    I didn't change anything in your file, just imported just the density field, but even with all the fields it doesn't really seem different. Isn't a viewport issue? https://i.imgur.com/ftgGKT7.gifv Here's the file I used to make the gif, in case I changed something without noticing Pyro.Detail.v2a.hiplc
  7. 1 point
    Here, just not that often
  8. 1 point
    I wish I could save an image with my HIP file. Why can't we lock a COP based File node yet?
  9. 1 point
  10. 1 point
    Hey Alvaro, Here is a bit over-complicated setup using a vector field to define the id masks, but you can use also scalar fields directly. In this setup I'm using the id masks ( aka source A, sourceB ) to affect dissipation and turbulence for each source, please look into those "shapers" in the pyro solver. I hope this helps you! Cheers! Alejandro multi.pyro.v1a.hiplc
  11. 1 point
    here's a workaround using VDB (not volume)...you lose a bit of fidelity...I don't know enough about VDB 'reshaping' to regain its orig shape...others might... (no I'm not 'intelligently' solving this problem...just brute force) hmm..just noticed it has a 'shell' effect...interesting... VDB_SDF_boolean.hipnc
  12. 1 point
    wow, thanks so much to everyone for all these great ideas, I have been playing with them all and I really appreciate it. I have tried a few things now. I had started by using using a voronoi cluster and fracture similar to the method as outlined on @mestela's cgwiki , but I could never quite get the level of control vs randomness I wanted. I also struggled to get rid of the L/Tetris shape, although I did try a similar approach as outlined by some of you. However I recently stumbled upon a thread with a brilliant solution from @trandzik which absolutely nails what I am trying to achieve and I can adapt it very well to my particular needs. Thank you so much Peter. A super-cute and most unexpected side-effect of playing about with his setup today, (and throwing in some symmetry and random deletion) - I inadvertently ended up with a pretty excellent space invader generator! See attached
  13. 1 point
    I finally got around to cleaning up the hip file and have attached it. If you end up using this, please let me know how it's going and share a pointer to your work. The major challenge with writing this in VEX was that VEX does not offer any of the canonical data structures one would use to efficiently implement this. For me, the simulation ends up running out of memory around a 1000 frames. As I am novice to Houdini, I would also appreciate any feedback and comments you might have if you end up taking a look. Enjoy? :-) MorphogensisInVex.hiplc
  14. 1 point
    these are potential field lines drawn around positive and nevative charges. its pretty simple to implement in vex. no need for dops or pops. please take a look at the attached file and play with the settings. field_lines.hipnc
  15. 1 point
    cojoMan, I think I found a way to get color into smoke and still render it using the OpenGL rop. Inside the pyro_import add a volume visualization node after the import_pyrofields. Move the display flag to the volume visualization node. With the visualization node selected switch to the Emissions tab and set Emission Scale to 1, Emission Field to "temperature", Emission Color Field to "heat", for Mode choose preset Black Body. This will cause the two attributes, heat and temperature to be mapped to the emissions channel. Meanwhile, move to the out network and select the OpenGL rop. On the Scene tab choose Display Flag for the SOP source instead of the default Render Flag. Because we setup the visualization node to map the attributes into a valid emission channel, the OpenGL rop can make use of that information and renders the color. I have attached a demo file with the visualization node already setup. ap_sphere_fireball.hipnc
  16. 1 point
    Try 'holeSOP'. See attached: ClippedSphere.hipnc
  17. 1 point
    Hey Ahmad, I asked Julien to have a look at it and he suggested the following: In order to get your volume to expand more, you can scatter points in it on every frame and have those points add to the divergence field. You could choose to use your vorticles too. You can also scatter vorticles on the edge of the fluid at every frame to break up the edges of your smoke volume. (So you would have two sets of vorticles, 1) which flows and gets advected with the simulation and another set which just advects the edges (and gets regenerated each frame) -- basically you scatter points only on the edges where your "density < 0.3" for example.) (gas particle to field will help you transfer values). Generally you want a non-divergent simulation, but with explosions you actually want the smoke to diverge hugely, so you want to add to your divegence field. Also the vorticles that get advected by the sim can inject heat into the sim. You make sure that the default cooling rate is quite high, so the smoke cools down quickly, that way when you keep adding "hot spots" within the volume you get the "bubbling smoke" feeling. The rolling clouds come from the hot core to the outside edge. Divergence is a float field (like density). And in the fluid sim the gradient of the divergence field will be used to advect your fields. In simple terms: think about density, the difference from a point with high density and low density will give you a vector. This vector is added/blended with the existing velocity. Generally density can be used for divergence, but as I said, you can add to your divergence field manually and make it expand a lot more. The difference between the high and low value is called "the gradient" (not just in fluid sims). In the files that came with my thesis I use custom fields to manipulate the velocity, temperature and color and I build my own gradient vector based on custom volumes and add it to the velocity directly, so you can have a look at that for an example. Not sure if I'm convinced by the cmivfx tutorial. It looks ok - haven't seen it yet, so can't really comment. If he's using default pyro it might be a bit slow. My computer lies in pieces as I'm doing watercooling atm, but Julien might post you a file tomorrow. If you have questions about the above, please ask as I don't know exactly how detailed I should explain.