Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by Atom

  1. Group in point wrangle

    There is no need to run over all the points. At the top of the wrangle, you can simply choose the group you have already created and run over only those points. That entire block of code can be reduced to a single line, if you run your wrangle over points. @P.z += 1;
  2. If you drop down a popgrains node in line with you other particle nodes, you can gain a small measure of particle separation. This can get you a few more frames before the particle finally overlap and produce intersecting geometry.
  3. I believe a material is embedded in the .rs proxy file, but the problem is pathing to any textures. You can override in the DCC, but pure procedural materials should transfer fine. Try a simple silver or plastic on your .rs proxy.
  4. Graphic Design Zipper?

    What might be a way to model something like this? I could see using an animated mask in a 2D comp program, but I wonder if there might be a way to actually model this so the airplane could pull back the orange grid?
  5. Pyro Simulation

    Try selecting the bottoms of all the pins. Move your mouse into the 3D viewport and press the S-KEY to enter that mode. After you have made the selection, add them to a group. Once you have a group, delete everything, except the points you selected in the group. Submit that piece of geo to the fuel creation, node.
  6. Smooth Pyro Dissolve

    One way is to control the temperature field. In this setup, two animation control the result . One is an animated Clip node, that removes the density from the source while the other is an attribute transfer node that grabs the newly transferred color and supplies it as temperature to the remaining clipped surface. The blend width of the attribute transfer is used to precede the clip, increasing the temperature ahead of it. Once the temperature is above zero, the smoke starts to rise. And the smoke only. ap_up_in_smoke_031420.hiplc
  7. using new noise pattern in pyro

    You could try the fried chicken approach and create velocity vectors using an AttributeFromMap.
  8. That is interesting. So, you could generate whitewater only on reseeded particles, if you separate them before the fluid_compress node. Or surface each set, a little differently.
  9. POPs Slide on surface

    You should be able to group them by hit count, then uses a PopDrag on the group..?
  10. Fluid not colliding with collider

    I'll mention a couple of things. One your merge, collision should be on the left, not the right. Also make sure to visualize your collision surface using the guides of the FLIP Object, not the Static Object. Your particle separation actually controls the resolution of the collision surface, by default. You can "decouple" that default state and set the collision resolution independent of the particle separation. Also make sure you have inverted the surface of the Static Object.
  11. About bend

    Check out the Paper Airplane tutorial. It makes nice use of the new H18 Blend node. https://www.sidefx.com/tutorials/how-to-create-origami-paper-plane/
  12. using new noise pattern in pyro

    Disable Turbulence on shape tab. Add GasOpenCL, connect to Velocity Update and change the code. #include <xnoise.h> #include <interpolate.h> kernel void gasturbulence( int stride_x, int stride_y, int stride_z, int stride_offset, float orig_x, float orig_y, float orig_z, float voxelsize_x, float voxelsize_y, float voxelsize_z, float timeinc, float time, global const void *theXNoise, float amp, float rough, float4 freq, float4 offset, float atten, int turb, int use_control_field, float control_min, float control_max, float control_threshold, float control_influence, int remap_control_field, int controlramp_size, constant float *controlramp_vals, global float *vel_x, global float *vel_y, global float *vel_z, global const float *density, global const float *forcescale ) { size_t x = get_global_id(0); size_t y = get_global_id(1); size_t z = get_global_id(2); size_t idx = stride_offset + x * stride_x + y * stride_y + z * stride_z; // Voxel position in in local space. float3 voxpos = (float3)(orig_x + (x + 0.5f) * voxelsize_x, orig_y + (y + 0.5f) * voxelsize_y, orig_z + (z + 0.5f) * voxelsize_z); // 4D position float4 P = (float4)(voxpos, time); float3 v = 0; if (density[idx] > control_threshold) { float scale = 1; if (use_control_field) { // Fit to 0-1. scale = fitTo01(forcescale[idx], control_min, control_max); if (remap_control_field) scale = lerpConstant(controlramp_vals, controlramp_size, scale); scale += (1 - scale) * (1 - control_influence); } P *= freq; P -= offset; // The call to vop_simplexCurlNoiseVP in vop_curlNoiseVP multiplies // roughness by 2 (maybe to match original finite differencing scheme?) rough *= 2; for (int i = 0; i < turb; i++, P *= 2.0f, scale *= rough) v += scale * curlxnoise4(theXNoise, P); if (atten != 1) v = pow(v, atten); v *= amp * (timeinc * 24); } vel_x[idx] = v.x; vel_y[idx] = v.y; vel_z[idx] = v.z; } All that is really happening is a modification to the velocity field.
  13. One way is to split a new network chain off of the carve. If you drop down a delete and keep only point #0. You can copy your fuse element to that point and it will move with the carve. Merge that with your polywire for the dual effect. ap_LitFuse.hipnc
  14. Sketch and etch style

    I'm not sure how aivarasG generated those points, but you can use the non-intersecting sphere setup along with an attribute from map that converts luminance to density. If you supply enough points and have a high quality image you can approximate the look. In this setup, the brighter the pixel, the smaller the sphere. ap_PRB_non-intersecting_spheres.hiplc
  15. It looks like if you put a sphere inside the garment, you can group by primitives that face away.
  16. Wild fire spread

    Do you have any tips on how to adapt the point wind to the findshortestpath expansion from the tutorial? Basically push the white color of the points in the wind direction, not the actual points themselves? ap_find_shortest_path_wildfire_spread.hiplc
  17. Smoke sim doesn't dissolve correctly

    Set Dissipation way higher. Try like 0.98 and then drop it down toward zero.
  18. Wild fire spread

    Yeah, that one is a nice setup.
  19. Custom velocity field

    Shouldn't you be routing the result of the cross function to v, instead of N? The H18 nodes look for that attribute. Try to populate it.
  20. Studio Workstation

    You may need more than 32Gb of memory. Don't buy a motherboard that can't be upgraded to 128Gb.
  21. Gobo lights

    I think what you might be looking for is the Projection Map under the Spotlight. The field you are populating is for tinting color, which does work.
  22. need help with design process (slime modeling)

    Check out this pizza setup here.
  23. promote via wrangle

    Drop down an attribute wrangle that runs over primitives. Fetch the value using the point function and assign it to a new attribute. f@my_promoted_attrib = point(0,"my_point_attrib",0); You may notice the problem with this, however. I am fetching the attribute from point zero. So to do it right, you would have to loop over all the points for a given primitive and then average them to produce a single result. It just make more sense to use the provided attributePromote node.
  24. I generally set a companion @goal_P attribute on the agent. Then you can reference that goal location inside a popsteerseek to make an agent move in that direction.
  25. If you can group the points near the gap, try an attribute smooth over the UVs on the group, perhaps? Are you sure it's not just a texture issue? Do your textures have a border, maybe?