Jump to content

Search the Community

Showing results for tags 'geometry'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General
    • Lounge/General chat
    • Education
    • Jobs
    • Marketplace
  • 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 96 results

  1. Fluid Along Surface

    Hi Guys, I'm new to Houdini so please, bear with me:) So, what I want to achieve is following: I want to have fluids (or particles, through POP Fluid), that would go up against the gravity (antigravity) along the collision geometry, upwards, along the vectors that are parallel to the surface of geometry. The effect should look like a paint going down on a surface, and covering it, but the direction is reverse, so it goes upwards. The collision geometry is simple, like a sword, thats it. I tried to do it with flip tank, with attraction force, but somehow I couldn't not get the result I was hoping for. Can you please show me the direction I have to follow or an advice I can follow to achieve this result? Is it better to do it through Flip or through particles? Thank you in advance. Cheers, David
  2. Advect particles with object

    Hi All! I am trying to simply advect particles using the geometry of an object moving past them - I'm just looking for a small bit of interaction between them. Could someone point me in the right direction. Searching it online, all I seem to find is "popAdvectByVolume". Thanks so much!!
  3. Hey magicians, Been fighting with this for 2 days, I have a person + suit I did on Marvelous, and I want to attach some tubes on the back. Some people on facebook group suggested Rivet sop, as well as a tutorial with extracttransform + transformpieces, but I don't have luck. I also tried point deform but the geo distorts. When I tried Rivet on the cloth itself, it wiggles, I guess because of the folds moving, so I tried directly with the person inside, and works better, but still not good. I'm attaching some examples: This was the best result so far: T6a4mNQqS0.mp4 But gets fucked at the end: 2IwfUr3sMm.mp4 Any thoughts? Thanks!
  4. I'm trying to make simple patterns/tessellations like the first image (randomized 1 axis rotations, etc.). But my geometry won't lie flat or line up with the grid. I've tried many different orient values, but I can't seem to do a simple 1 axis rotation. It always looks like I spilled potato chips on the ground. Am I just using the wrong quaternion values or is there something wrong with each shapes anchor point? Do I need to nest each triangle in a square plane before rotating them? triangle_grid_v4.hiplc
  5. Hello guys! I have a simple C++ code which should be used by VEX in Houdini. I need to access to geometry data in specific node from current frame till frame 1 in backward direction until certain condition is met. The problem is that this access cause a huge impact on runtime when using wetmap function in a point wrangle node! Here is the sample: #include <iostream> #include <VEX/VEX_VexOp.h> #include <OP/OP_Director.h> #include <GU/GU_Detail.h> #include <SOP/SOP_Node.h> #include <GEO/GEO_VolumeSampler.h> #include <GU/GU_PrimVolume.h> #include <GU/GU_SopResolver.h> #include <VM/VM_Math.h> #include <OP/OP_AutoLockInputs.h> template <VEX_Precision PREC> static void wetmap(int argc, void *argv[], void *) { VEXvec3<PREC> *resultCd = static_cast<VEXvec3<PREC>*>(argv[0]); const char *surfaceAddress = static_cast<const char *>(argv[1]); VEXvec3<PREC> *P = static_cast<VEXvec3<PREC>*>(argv[2]); VEXvec3<PREC> *Cd = static_cast<VEXvec3<PREC>*>(argv[3]); *resultCd = VEXvec3<PREC>{0, 1, 0}; SOP_Node *surfaceNode = OPgetDirector()->findSOPNode(surfaceAddress); exint currentFrame = CHgetFrameFromTime(CHgetEvalTime()); OP_Context context; VEXvec3<PREC> color{0, 0, 1}; if(surfaceNode != nullptr) { for (exint i = currentFrame; i > 0; --i) { context.setTime(CHgetTimeFromFrame(i)); GU_DetailHandle gd_handle = surfaceNode->getCookedGeoHandle(context); } } } void newVEXOp(void *) { using UT::Literal::operator""_sh; new VEX_VexOp("wetness@&VSVV"_sh, // Signature wetmap<VEX_32>, // Evaluator 32 wetmap<VEX_64> // Evaluator 64 ); } I also try to lock the referenced node input just like SOP node examples in HDK but it makes no difference! This is an image of use case: After couple of frames pointwrangle1 become slow to cook and I don't know why! Can anyone help me? Thanks in advance!
  6. In a pipeline that requires you to do VFX work in Houdini and then render said VFX in 3ds max, there are many formats that are viable (I mostly use alembic). But I was not lucky finding a straightforward method/format to export particle systems that were created in Houdini to be later replaced by geometry in 3ds max for rendering. After some tests, we managed to do it using an HDA called PRTRop which exports particles in .prt file format. The particles were then imported into 3ds max using TyFlow, that reads a couple attributes such as width (pscale), id - this one is necessary for tyflow to import the particles, velocity, etc... Then we hit another roadblock: what if I want to export particles with orientation information for my geometry instancing? It turns out that, after some more testing, we discovered Tyflow uses an attribute called Orientation (case sensitive) which is a quaternion just like Houdinis orient attribute, and it has to be exported as a float16. So in case some of you were wondering how to do this, I'm sharing the workflow used here. If some of you know a better way feel free to share it... it might save some lives! Cheers, Mozzo
  7. hey all i'm sure this is a fairly simple one but i'm having a hard time with it :/ been at this for 6 hours today so i have a sim of a big wall exploding outward - it looks great but sadly i have a huge chunk of pieces that fly towards cam an i'll be damned if i can find a way around it - is there any force i can apply from the camera that can push them outwards instead of just heading towards the camera and through it? It would be awesome if i can art direct this a bit more! thanks Ant
  8. Hey everyone! I am try to simply advect particles with a moving object. We have particles/grains floating around and a person runs through them at speed so I just need to create some advection/turbulence, more than what's already created from the collision. I assume it is as simple as pyro but I can't seem to work this one out. Any ideas? Thanks
  9. Working with primintrinsics in VEX

    Hey all, I'm attempting to find the number of unique values across the intrinsic:typename attribute for incoming geometry, but I'm having no luck in getting the uniquevals() function to detect any intrinsics. Originally I assumed that this was just a limitation of the function, but I then realized that the docs explicitly state that you're able to provide the name of 'any attribute (or intrinsic) to read.' For context, let's say I've got a polygonal box and a NURBs curve, which both have unique values for their typename. If I try and access those values in a wrangle, I just get an empty array. I've tried setting the attribute class to 'primintrinsic' instead of 'prim', I've tried removing the 'intrinsic:' prefix from the attribute name, and any number of other gotchas that come to mind. I get the same results when trying to use nuniqueval() and uniqueval() as well. It isn't the end of the world since there are ways to do something similar in python, but if anyone's got some secret sauce to get these VEX functions in particular to play nicely with intrinsics, I'd appreciate the help. Thanks in advance.
  10. I'm looking for some guidance with an effect. I have a pyro simulation of some smoke hitting a floor and the collision is working fine. I want to take the collision information from the sim and pass it back to the floor geometry as a point attribute e.g. an attribute that is 0 when the sim starts but as soon as the smoke touches the floor the attribute changes to one. If anyone that could point me in the direction of how best to achieve this, I've tried to play around with the 'Gas Impact To Attribute' node and I could not work out how to properly wire it up. Thanks! SmokeCollision-01.hipnc
  11. Hi, I would like to create an animation of blooming flower. I've created the basic setup, but I have a problem with intersecting petals. Does anyone have an idea how to get rid of those intersections without deleting whole petals? Thanks in advance for all the answers. flowertest.hiplc
  12. Geometry spreadsheet script

    Hi Guys I want to export spreadsheet value to txt file I know how to export to txt file using Python but I don't know what name(?) of parameter spreadsheet. Help me!!
  13. Hello, i come to you after several sleepless nights due to a matter i can't find a solution. Hopefully some of you may provide help. In my project i have one geo, replicated and simulated in vellum with "Instance on points" method: every 4 frames a new geo is created and the simulation starts. Now i have trouble point deforming the proxy simulated geo with the original geo, because Hi-res and Rest geos should appear exactly when a new proxy is created. I thought it would suffice a ForEach and something like a Birthid attribute to isolate every guy, but it seems i'm not able to make it work. Below the hipfile attached: i simplified it and replaced my original geo with a Rubbertoy; so don't mind too much attention to the shape of the proxy geo... now it's strange, but in my case it did the work. I really hope in some clarifications with the script, i'm stuck there. Thank you very much! pointdeform.hipnc
  14. After more than 5 months of unimaginable amount of work, I am proud to release my first in-depth Houdini course on VEX More details in the video description and the website. Active Patreon members will receive additional discounts proportional to their lifetime support (25% of their lifetime support). Message me on Patreon for your discount coupon. Enjoy! Table of Contents 01 - Introduction [Point Clouds] 02 - Introduction [pcopen() vs pcfind() vs nearpoints()] 03 - Introduction 04 - Implementation 05 - pcfilter() Implementation for pcfind() 06 - pgfind() 07 - pcfind_radius() 08 - Excluding the Current Point & Ad-Hoc Groups 09 - Finding Min & Max Neighbour Points [Unique Pair Matching] 10 - Concept 11 - Implementation [Camera Based Occlusion with Variable Pscale] 12 - Concept 13 - Implementation [Uniform Point Distribution Over Polygonal Surfaces [Point Relaxation]] 14 - Concept 15 - Implementation 16 - Decoupling Operators [Convolution Kernels] 17 - Introduction 18 - Border Handling [Connectivity & k-Depth Point Neighbours Using Edges] 19 - Introduction 20 - Concept 21 - Implementation [Connectivity & k-Depth Point Neighbours Using Primitives] 22 - Concept 23 - Implementation [Extending k-Depth Point Neighbours Using Edges] 24 - Introduction 25 - Concept 26 - Implementation [Extending k-Depth Point Neighbours Using Primitives] 27 - Concept 28 - Implementation [smoothstep() [Cubic Hermite Interpolation]] 29 - Concept 30 - Implementation [Shaping Functions] 31 - Introduction 32 - Implementation 33 - Blurring Attributes [Sharpening Attributes Using Unsharp Mask] 34 - Concept 35 - Implementation [Generalizing the Kernel Code to Handle All Attribute Types] 36 - Concept 37 - Implementation [Attribute Gradient] 38 - Introduction 39 - Concept 40 - Implementation [Gradient Ascent & Descent] 41 - Planar Geometry - Introduction 42 - Planar Geometry - Concept 43 - Planar Geometry - Implementation 44 - 3D Geometry [Contour Lines] 45 - Introduction 46 - Concept 47 - Implementation 48 - Heightfields [Geometric Advection - Orthogonalization & Flowlines] 49 - Introduction 50 - Concept 51 - Implementation [Clustering & Quadtrees] 52 - Concept 53 - Implementation [Adaptive Subdivision] 54 - Introduction 55 - Implementation 56 - Hashing [Adaptive Subdivision] 57 - Improving OpenSubdiv Catmull-Clark Subdivision Surfaces Algorithm 58 - Half-Edges [Adaptive Subdivision] [Aggressive Performance Optimizations] 59 - Eliminating Groups 60 - Custom Fusing In VEX 61 - Recreating Proximity Structures In VEX 62 - Get Unshared Edges In VEX 63 - Final Optimizations [Limit Surface Sampling] 64 - Introduction 65 - OpenSubdiv Patches 66 - Moving Points to the Subdivision Limit Surface 67 - Scattering Points on the Subdivision Limit Surface 68 - Generating a Point Cloud on the Subdivision Limit Surface 69 - Pre-Generating a Point Cloud on the Subdivision Limit Surface 70 - Creating Isolines on the Subdivision Limit Surface [Adaptive Subdivision] 71 - Computing Surface Normals from the Subdivision Limit Surface [Custom Subdivision Surfaces] [Splitting Edges [Edge Divide]] 72 - Concept 73 - Converting Edges to Primitives 74 - Creating New Edge Points [Rebuilding Polygons] 75 - Concept 76 - Implementation 77 - Preserving & Interpolating Attributes 78 - Multithreading by Connectivity 79 - C++ vs VEX 80 - Preserving Groups 81 - Final Optimizations [Implementing Bilinear Subdivision] 82 - Introduction 83 - Concept 84 - Modeling Test Geometry 85 - Starting from Edge Divide 86 - Creating New Face Points 87 - Creating New Edge Points [Creating New Closed Polygons] 88 - Concept 89 - Implementation [Creating New Open Polygons] 90 - Concept 91 - Implementation 92 - Preserving Primitive Groups & Interpolating Primitive Attributes [Preserving Vertex Groups & Interpolating Vertex Attributes for Closed Polygons] 93 - Concept 94 - Implementation 95 - Preserving Vertex Groups & Interpolating Vertex Attributes for Open Polygons 96 - Implementing Iterations 97 - Preserving Literal Groups 98 - Creating Neighbour Primitives 99 - Final Changes 100 - Testing On Complex Geometry [Implementing Catmull-Clark Subdivision] 101 - Introduction [Closed Surfaces] 102 - Rules [Gathering Edge & Face Points] 103 - Concept 104 - Implementation [Computing Weights for New Edge Points] 105 - Concept 106 - Implementation [Computing Weights for Original Points] 107 - Concept 108 - Implementation [Attribute Interpolation] 109 - Concept 110 - Implementation [Boundary Interpolation Rules for New Edge Points] 111 - Concept 112 - Implementation [Boundary Interpolation Rules for Original Points] 113 - Concept 114 - Implementation 115 - Open Surfaces - Handling Corner Points 116 - Handling Non-Manifold Topology [Open Polygons] [Computing Weights for Original Points] 117 - Reverse Engineering OpenSubdiv 118 - Implementation [Computing Weights for New Edge Points] 119 - Reverse Engineering OpenSubdiv 120 - Implementation 121 - Handling Open Polygonal Curves [Handling Mixed Topology] 122 - Full Geometry 123 - Sub-Geometry 124 - Testing On Complex Geometry [Performance] 125 - Profiling [Grouping Boundary Edges from Primitive Group] 126 - Concept 127 - Implementation 128 - VEX vs C++ [Caustics] 129 - Introduction 130 - Sea Caustics 131 - Pool Caustics 132 - Conclusion
  15. I'm looking for an efficient way of separating geometry at points where the two chunks are only connected by a single point. Assigning each chunk a unique ID is the ultimate goal. In the image below, I have forced an edge case. The red circled points are the ones I'm looking to separate without breaking them away from the other connected geometry. I can identify faces that are only connected by a single point. However, separating two chunks larger than a single face but connected by a single point is proving difficult. If anyone has any suggestions for how to achieve this I would very much appreciate the help.
  16. How do you guys deal with assembling a scene in Houdini? For example, say I make a ceiling tile, a floorboard, some wall panels etc. as separate geo nodes. Is there a way to arrange these procedurally on an object level? Or should I be working on one big 'room' SOP with subnets? Is there a general way one should think about piecing nodes together?
  17. Hit data in SOPs

    Hi, As the title says, I'm trying to make hit data in sops. To expand on that I have a sequence of points moving through a piece of geometry and I would like to create a point that lasts for one frame at the point of intersection on the geometry. Is this possible? I have a rough setup that uses nearestpoint and fuse, but the points I am getting are not accurate enough for what I am trying to accomplish. Mostly because the moving points are very fast and all have random speed. Any help would be greatly appreciated. Thanks in advance.
  18. Problemn using Point Deform

    Hello everyone ! I would like to deform a geometry by a fluid simulation using a point deformer. To do so, i plug my geometry and my simulation into my point deform and i use a Timeshift set up on the starting frame as the Rest PointLatice. But instead of following the simulation, it looks like the geometry tries to reach the world center, creating what looks like an unholy abomination. Any help or tip would be deeply appreciated Thanks in advance
  19. I've tried importing several different objs into Houdini, all of which I've tested successfully beforehand in MeshLab. I've tried both file -> import -> geometry, and creating an file node manually. The node appears in the network but the model doesn't appear in the viewport. Why can't I see imported objs?
  20. Hi everyone, I'm trying to do something quite simple but i'm struggling with it. I have an imported pile of sticks, i want to take this pile and copy each stick to a different point on a grid, i know how to do this using the method of having each stick have its own geo node and pluging those into a switch and copy stamping them onto a grid, but i want to achieve this result without having each stick be its own node, as there are 214 individuals this would make for a very crowded network. Could anybody help me out? I have attatched my current set up, I am guessing I need to specify in the copy stamp that for each point it needs to select one of the 214 points which are being fed into it, but i'm not sure how to command this expression? Thanks in advance! Dbrs_wood_twig_T_rfkkwaa_LOD0.obj
  21. Hey, I am trying to reproduce this kind of structure that we can see on this website : http://acme-experience.com/ (under the menu in the bottom left corner). So far I manage to create polylines between points of a grid (pic. 2). But I think this is not the way to go for this effect. Because my polylines have always the same size and they don't seems to come from the center to the outer as much as in the example. I am not so far though but if u have any idea on how I could improve it let me know I am stuck since a day on it... You can find my project file linked if it is helpful. Thank you for reading, And as always take care drawRectLines.hip
  22. Hi, Im trying to create different overrides for diferent arnold render_out nodes, like takes, or like the render setup in Maya, I know I can use the option of use phantom object or matte in the arnold_out node, but is more powerfull to use overrides, it give us the possibility to override more properties like cast shadows, recieve shadows...etc (I dont know this names exactly right now). The thing is I go to out, and I create a node Set_parameter (arnold node) and I conect this to an Arnold_OUT, in the Set_Parameter I create the path for the section I want to override, in this case is an geometry node (selection: obj/geo1/*) inside for example I put a box for testing, and next I write the attribute I want to override, in this case I want to override the arnold parameter from geometry, in this case I write...for example... subdiv_type = "catclarck" subdiv_iterations = 3 ok, this two parameter are working for me, when I activate that arnold rendere node to render, that parameter change and I can watch it in the render, even also work for me this parameter override: matte = True but, and here is my problem, I really want to override the visibility tab arnold parameter, like visibility rays to camera, self shadows an so on...but I cant it work, in this case I write... visibility_camera = False and this last one no work for me, how can I do for this work??? (visibility_camera for example), I only go to the parameter in geometry, arnold, visibility tab and I let the mouse over the parameter, and in the floating window I can watch the parameter, in this case is ar_visibility_camera but I thing for use this attribute we have to remove the ar_ , but event with this I cant get the override for visibility. I let here the official Arnold web site with Set parameter info... https://docs.arnoldrenderer.com/display/A5AFHUG/Set+Parameter Thanks.
  23. Hi all, There likely does not exist a perfect solution here, instead I'm looking to brainstorm and find the most automatic method by which to detect and remove one of two sides from a double-sided polygonal mesh. The end goal is preparing meshes for simulation with Vellum, of e.g. a t-shirt or pants, that has been modelled with two sides (to represent thickness during render). The simple solution would be to provide a separate one-sided mesh for simulation in addition to the renderable mesh, but when that is not possible the current workflow are as follows. Recieve double-sided render mesh (of potentially too-high polygonal count and needless edgeloops unsuitable for simulation) Manually select interior (via e.g. edgeloops and growing of primitive selections) to remove it Remesh to achieve a uniformly distributed triangular mesh Profit The manual step (2) is what's preventing my setup from being applied procedurally to the tens of characters with tens of double-sided geometries each. I'm attaching an example of one such mesh for clarity. Given that thickness is most commonly - but not always - achieved by extruding a single-sided mesh, there are some assumptions we can make about the extruded side; primarily that each exterior primitive will have exactly one associated interior primitive, and that their normals are facing away from each other. So what I've got in mind is somehow iterating over primitives, finding their closest neigbours and checking whether any of them are (1) unconnected, (2) within a certain distance and (3) faces the opposite way. That's about as far as I've gotten at this point, and wanted to enquire with the community about whether anyone has tackled a similar issue, or whether there are any ideas along the same lines? Thanks, Marcus
  24. Hi everyone, I've imported an animated camera from Maya to Houdini, but I would like to scale it along with the geometry in order to keep the proportions. Basically, I want the final proportions to match the ones that geometry and camera have if I remove the transform node “transform1” before the GEO_OUT. Thanks in advance! Alley_test_03.hipnc
  25. Next to each other, a comparison between a detailed terrain in the viewport and terrain in the render that lacks so much detail it's almost another terrain. In the screenprint I show the geometry tab in the render section of the terrain. The terrain has been converted to polygons. Why do I loose detail I already have in the viewport?