Jump to content

Polyxion

Members
  • Content count

    4
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Community Reputation

1 Neutral

About Polyxion

  • Rank
    Peon

Personal Information

  • Name
    John

Recent Profile Visitors

886 profile views
  1. Hi everyone, this is my first time writing tools with python, so maybe I got something completely wrong here. I want to built a HDA to setup the houdini scene by selecting project, sequence and shot number. For that I created a HDA with a ordered menu and a drop down listing all available projects. The menu is created by a python function in the python module and then called in the menu script area. I then have another ordered menu to select from all the available sequences based on the selected project. A callback script on the project drop down is triggering the create menu function for the sequence drop down. I then need to know the currently selected project in the project drop down. I tried getting this information with the node eval parm, but this is only kind of working. It returns the right token, but as an integer and multiple times for each menu item causing a long loop. I also tried using the menu parm template, but I cannot access the data correctly. What would be the best way to geht the menu label as a string for the currently selected item in the drop down menu? Thanks Here is some of the code I used: #ProjectMenuDropDown def projectMenu(): import os projectPath = 'H:/' projectList = os.listdir(projectPath) projectMenu=[] for i, item in enumerate(projectList): projectMenu.append(i) projectMenu.append(item) return projectMenu #Call function in menu script hou.pwd().hdaModule().projectMenu() #Callback function to trigger sequence menu in python module hou.phm().sequenceMenu(kwargs) #SequenceMenuDropDown #SequenceMenu def sequenceMenu(kwargs): import os node = kwargs['node'] projSelect = node.parm('project').eval()
  2. Shell fracture precision/interpenetration issues

    Hi, the problem with your scene is the collision object itself, or better said the representation of the collision object that bullet builts for the simulation. You can see and display this collision shape in your RBD Packed Object/Bullet Data and then Show Guide Geometry. The torus for example has no hole any more (because of the convex shape) and thats why all your pieces penetrate through. The problem is that bullet only works/works best with convex geometry, concave geometry will be super slow and unstable. To simulate such complex collision objects like the torus you need to decompose them into smaller convex pieces that can be handled by the bullet solver. I have added two methods to your scene file and marked the corresponding nodes red. First is the voronoi decomposition. For that you fracture your collision object the same way you did it with your shatter geo and load it as a static object with the rbd packed object (make sure to also give it a name attribute and pack it). If you turn on the Show Guide Geometry you can see the shape fits the torus much better. Of course the more fractures you have the better the representation of the torus will get. The second method ist the vdb spheres method. For that you convert your collision object into a vdb volume and fill the object with spheres. After naming and packing them you can also load them via a RBD Packed Object but make sure to tick the "create convex hull of connected primitives" on. All these Geometry representations like spheres, boxes and so on will be simulated super fast by the bullet engine. The collision padding will make the collision shape bigger, but also rounder because it kind of extrudes along the corner edges. You can see that pretty good by turning on the Show Guide Geometry and changing the padding amount. There are also some really good videos on the sidefx vimeo channel where Jeff goes over all kinds of collisions with various solvers including bullet. Shatter Tests - Torus - 02_edit.hiplc
  3. Pyro fire test

    Hi Tom, first of all the detail really depends on the source itself and on the feature sizes of the forces you apply. So before upressing and simulating with a crazy amount of voxels it is really important to have an interesting and detailed source as a base. For example you can use the noise in the fluid source to mask out your source volume and get more broken up patches. In the simulation itself use microsolvers like turbulence and shredding to modify your sim and add detail. To safe disk space write out only the fields that you really need. For example storing velocity will take up three times as much as density because it has to store 3 floats per voxel compared to 1 float for density. I would also recommend to simulate dual rest fields and use them to add detail during render time in the shader. Make sure you turn them on on the smokeobject and the pyrosolver and set the right frame offset and blending depending on your scene. In the pyroshader you can then mask your fields with noises based on these advected positions. You can also use different noise sizes and patterns for different fields e.g. heat and temperature. cheers
  4. RBD retime rotation problem

    Hi everyone, I´m fairly new to houdini and this forum already did a fantastic job answering my questions just by reading through all of these posts. But now I got a little stuck and haven´t really found a clear explanation for my problem. I have done a RBD Simulation, which is prefractured, simulated in DOPs and cached out as bgeo. Afterwards I created a time blend and time shift node to retime the simulation (not linear, maximum is about four times slower). The slowdown of the translation data is fine, but the rotation has some strange jumping artifacts. It seems that the rotation data is not interpolated properly by the time blend and just keeps flipping between the original frames. Does the time blend also work with rotations? The original simulation has some very fast rotations and movements, especially when the impacts happen. Maybe I need more substeps in DOPs but this will change the look and speed of the whole simulation? Is there a better workflow of doing this retiming stuff, especially when it also includes particles and smoke sims? Thanks in advance.
×