Jump to content

Search the Community

Showing results for tags 'sdf'.



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
    • Tools (HDA's etc.)
  • 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 14 results

  1. Hi, The picture shows an object , create > test geo > add velocity > vdbFromPolygon with vel field > visualize velocity. I wonder how to split velocity to tangent velocity and normal velocity. I guess we don't have a node to do it by one click, and need to work on volume vop/wrangle. If anyone knows how to do it, I will appreciate it, thanks!
  2. Hello fellow odforce-people, at the moment I'm working on my bachelor thesis which I'm writing about Dynamic Simulations for Film in Houdini. In order to demonstrate these effects, I'm producing two shots of a short film that I've wanted to do for a long time. And for the environment of this short film I decided to do some procedural modelling with Houdini. And since the houdini community is so extremely generous, I decided to take part myself and share my entire project file. It's slightly messy, but I hope it's useful. * I started out in Cinema 4D where I did some basic cloner-modelling to get all the basic shapes right. * Then I moved into Houdini, converted everything to an SDF and cut out dynamically generated holes. (Scatted loads of spheres into a vdb that I generated from the sdf, displaced the spheres, made an sdf from it and "difference-d" it away from the main mesh.) * Having converted the object back to polygons, I ran the mesh through Instantmeshes to get a clean quad-mesh. (Love this program almost as much as Houdini.) * For uv-mapping and memory-efficient exporting I got rid of all the faces that were not visible from the inside. (more than half) (I wrote a little script that sends rays from every point of the mesh to the 'god-points' in the center (because godrays, haha... ha...) and when any of these rays hit, it's marked as visible (green). Then I get rid of all the invisble points (red). * I unwrapped the mesh using Auto-Unwrap from the game-dev-toolkit and exported it (as well as the high-res-version from before) to Substance Painter where I baked all the maps (normals, AO, etc.) from the hi-res mesh to the low-res mesh. * In painter I just smashed a couple of smart material on there that I found on Substance Share, scaled up the UV-Tiling (because huge mesh) and was pretty much done with texturing. The render is a screenshot from painter's integration of I-Ray. (When I get everything together in Cinema and render with Octane, I'm gonna step the lighting up a notch of course. ) Here's a couple of pics: And attached you'll find the project file as well as the base-obj I started out with from Cinema (And one remesh to work with in case you don't have Instant-Mesh set up). To make viewing easier, I turned on a switch that sclices out only a small part of the arena for editing and increased the voxel-size so that loading only takes 15 seconds instead of half an hour. Cheers, Martin ARENAWRANGLE_TOODFORCE.zip
  3. Hello, I was following a tutorial on how to create a sun in houdini, and I came across a technique used to keep advected points bound to the original surface where they were scattered from (in this case, a sphere). For the purpose of advecting the points, it was created a popnetwork with a curl noise affecting the velocity. To keep the points moving on the surface, the instructor did 2 things: -Turn the sphere into a mesh and convert it into a VDB. -Create a POP VOP, with a Volumesample and a Volumegradient, reading from the vdb converted sphere. After this, the gradient was inverted and multiplied by the output of the Volumesample node and added to the original positions, inputing into the new positions. This last point got me lost. The instructor referenced in some abstract drawings the utility of both this nodes, the Volumesample and Volumegradient and I tried to cross check with Sidefx's Houdini documentation but it didn't have that much info on the subject. Can some one briefly explain what is happening inside both this nodes, and their respective outputs? Thanks.
  4. Colozize SDF

    Hi there! I'm looking for a method to colorize SDF (VDB) based on an attribute, which I made, for ie: the distance along the X axis. (The surface created at render) Any help would be appreciated.
  5. Hello, I am creating sdf vdb volume from polygons. I need filled interior, because later on I will sample those values. However I would like to process my volume a bit, for example smooth, dilate etc. After those operations interior voxels are lost, only area close to the surface contains voxels. Is there a way to get those values back? Thanks, Juraj
  6. Kill particles with SDF

    Hi everybody, I'm currently working on an effect in H14. I am attempting to have particles die when they collide with an SDF/VDB object. I have been using the collision detect node with the collision target set to DOP objects pointing to my static object collision node. However, it doesn't look like it works. The same collision detect does work with a SOP poly object. Is the collision detect node working with SDF's/VDB's? Cheers.
  7. I was looking into sdf and i found this file from Chris. I slightly modified it to get points colored by a ramp using sdf Does anyone know a better way to do that, in a normalized kind of way? I would like not to have to use the fit range to adjust the color ramp. Later i want to use this method to create custom velocity field on a pyro sim to contain the smoke within the velocity field. Thank you Fred sdf to point color.hip
  8. SDF Collision with smokesolver

    Hi guys, I'm doing a dust simulation using smokesolver. I used a VDB from polygon sop and created a SDF version of my deforming, collapsing building for collision object (volume sample). The problem is the SDF collision just clears the smoke when they are colliding and doesn't change the flow at all. I tried to create a sample hip but it seems correct with a simple box. Did anyone have the same experience before? and I should mention that my SDF resolution is enough and. Thanks for noticing
  9. Hi, recently I am facing this issue. The display of sdf and distance vdb is always corrupted in the viewport. I've attached an image. Does anyone know how to fix this?
  10. Hello everyone, I have some serious problems with the simulation time of my Smoke. Suddenly, from frame 69 to frame 70 the SDF calculation for the density source is taking for ever. But there are no major changes in the source geometry. The normal SDF calculation time ranges between several seconds but starting at frame 70 it takes 20min plus. (The source is the geometry from a fractured bulding) Where sould i start to look for a solution? Thank you in advance, Lukas
  11. Hello everyone, Came across a couple (probably) very simple questions regarding the use of GU_SDF and GU_SDFParms today that I'd be grateful if anyone could shine a light on. The first issue I had was in thinking that the SDFParms::setOffset() method would behave similarly to the corresponding parameter on the IsoOffset SOP. In my attempts to use it, however, it doesn't seem to alter my volume. In the most basic situation of creating a single SDF from geometry, my assumption is that I would just need to set the desired properties (including the offset) using the GU_SDFParms class, and they would be respected during the GU_SDF::build and/or getFunction() calls. For example: gdp->getBBox(&bbox); GU_SDF sdfVol; GU_SDFParms sdfParms; sdfParms.setMode( GU_SDFParms::RAY_INTERSECT ); sdfParms.setDivisions( 60, 60, 60 ); sdfParms.setBBox( bbox ); sdfParms.setLaserScan( true ); sdfParms.setFixSigns( true ); sdfParms.setOffset( -0.25f ); // This line doesn't seem to matter, but I wish it would! sdfParms.setSweepCount( 3 ); sdfParms.setSweepThreshold( 2.0f ); sdfVol.build( gdp, sdfParms ); gdp->clearAndDestroy(); GU_PrimVolume *volumePtr = (GU_PrimVolume *)GU_PrimVolume::build( gdp ); volumePtr->setVoxels( sdfVol.getFunction() ); This works as I expected with many of the parameters, but regardless of what I drop in the setOffset method my iso contour is still displayed at 0 in Houdini. Any idea why this would be the case? On the subject of setOffset(), I'd be curious to know the difference (if any) between GU_SDF::setOffset() vs GU_SDFParm::setOffset(). Is it just as a convenience to allow for sharing GU_SDFParm objects but overriding particular GU_SDFs? And a bonus question! There are three modes for converting volumes to SDFs. GU_SDFParms::VOLUMESAMPLE and GU_SDFParms::VOLUMESAMPLEANDREBUILD are outlined on the IsoOffset help card, but does anyone know what GU_SDFParms::VOLUME mode is expected to do? Thanks in advance, and sorry if it's something obvious... stumbling through bit by bit!
  12. SDF Blending

    Levelsets In Production: Spider Man 3 / SDF Blending http://www.jcohen.na...elsets_2007.pdf I've been passing this hip file around, so thought I'd just put it up in the forums GWsdfBlending.hipnc
  13. I am trying to access the data in a VDB sdf volume container that I use as a 3rd input in my node. I managed to install the openvdb headers and everything seems to compile just fine. All I'd like to do is basically access the distance and gradient values in the vdb sdf, given a world space position. I found this beautiful method which seems to address the gradient question... UT_Vector3 GEO_PrimVDB::getGradient ( const UT_Vector3 & pos ) const And this is the code snippet I am using: GU_Detail *sdfInput = new GU_Detail; duplicateSource(2, context,sdfInput); GU_PrimVDB myVDB(sdfInput,0); UT_Vector3 samplepos(1.0,0.0,0.0); UT_Vector3 gradient; gradient=myVDB.getGradient(samplepos); // <--- CRASH [/CODE] ... but when I try to use it , Houdini crashes (it crashes only on the line where I use getGradient method, it doesn't crash when I define *myVDB) I couldn't find the method to access the distance value by the way. I am pretty sure I am doing something terribly wrong cause of my limited c++ knowledge Can someone help me to correct the above code snippet and add the method to access the 'distance' data ?
  14. I am trying to create a simple shader that maps the distance from an object to the red channel. I have a plane I assign the shader to. I have a torus converted to SDF. In the shader I convert P to world space, then use a "volume sample from file" to sample the rendered pixel from the SDF and feed the result to the red channel of my diffuse color. In order to specify the 'file', I use this code op:`opfullpath("/obj/geometry/OUT_SDF")` When I render i just get a black frame. The geometry is there cause i can see the alpha of the plane, but apparently nothing comes out from that "volume sample from file" node. I wonder if it's possible to fetch sdf data directly into a shader. I attached the hip file to illustrate my issue. p.s. I don't want to use an attribute transfer approach in SOP land cause I want to maintain the 'pixel' level resolution in my shader, and don't want to rely upon the resolution of my plane. Any idea ? proximity_shader_test.hip
×