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


Forums

  • 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 106 results

  1. Hi All, Im creating geo with a primitive wrangle, each primitive used as a base to create a complex assembly (nothing new for houdini ) However, I would like to create a (handle/container/Null) object (floating on-top the assemble that's non-render'able, im thinking anim/rig like control) the final artist can select to override one of the assemblies attributes ,thus changing its properties. my current concept is to create a centered shaped "poly line" at the each primitive assemble "top" and if a bool user flag is toggled the values are used to alter the assembly stored then in a text file referencing an id so regeneration still keeps the selected ID...... getting more complex by the day. ...Basically a user control surface to alter the primitive assembly. note 1000 assemblies (think forest, with a controller for each tree) Have others come across a solution to solve such a problem ? Any input thankful.. C
  2. Hey everyone, I'm trying to add vellum geometry and constraints dynamically inside a dopnet using sopsolvers. I'm getting an error, but I don't really know why... If someone could have a look into it! Cheers vellum_create_geo_and_cnstrs_during_sim_b.hip
  3. Hey everyone, I've made a crowd simulation, and for that I inputed an FBX (from C4D) with bones and skin to the Agent node and added many animation clips. I wanted to make my chars open their mouth like you'd usually do with a blend shapes node, but the rig is not accessible in Houdini and there's no nodes for skin and bones (if there were I could just add blend shapes to geo) Do you guys have any idea how I could add those facial expressions without going back to C4D and having to add more bones and re-skin the base rig/model? Thank you.
  4. Hey guys, I've always liked the works of Daniel Arsham. He tends to do a lot of eroded pieces with some sort of crystals, usually. I was wondering if anyone had suggestions on how I can create stuff like the pictures below in Houdini. I have used booleans in c4d with a displaced sphere/object but found it not looking as detailed/nice as I would have liked. It also takes quite a bit of time to create each individual object that's put in the boolean. In Houdini, I thought of converting geometry to a VDB then putting it in a volume VOP with some sort of noise and subtracting it from the volume, then converting back to geo. But I'm not too experienced with Houdini tbh and was looking for suggestions on the details of a potential setup.
  5. I’m trying to compare two meshes with the same topology. Problem is one also has certain amount of drift. What’s the best way to map the deformation to a value? Currently I’m taking some reference point that doesn’t deform so much and trying to align them first, then taking the position deltas. But that alignment method is still a little unstable. Another idea I had is to use the lengths between each neighbour, but I haven’t figured out how to use that data yet. Has anyone done this before? Thanks
  6. Hi I'm wondering how I would simulate large bubbles as they're forming or "being blown" I guess I'm mostly asking high level is it possible to create this geometry on the fly and also continuously add new constraints to it until it's fully formed, and then flies off on its own to interact with the world. Thanks
  7. Hi everyone, Anyone knows how I could get the world position of the tip of a bend deformer handle? (see image)
  8. Hi all, after running a guided ocean sim, I have meshed the particles using particle fluid surface, and the resulting surfaces have a “bottom” layer which I would like to delete. Using connectivity SOP and setting the type to Primitive exposes attribute called class, which gives me integer class. Then I used group expression and gave the group name called “kill”. in the Vexpression, I used @class == 10 10 being the class of primitives that comprise the bottom layer that I am trying to delete. Then I put down a blast, and by putting in the group “kill” that I made in the group expression, I am able to delete the bottom layer. so far so good. Only problem is, the class numbers change depending on the frame. So, while class 10 might be the bottom layer that I am trying to delete on frame 1, at frame 2, the class name has changed to something like 12, and my group expression and blast no longer work. How can I use this method when the class changes every frame? If there is a better method to procedurally delete the bottom layer of mesh throughout the frame range (say, 1 to 168), I would love to learn about it. Thank you
  9. Smoke on heavy Alembic

    Hello! So I have an alembic file (5 gb) with an RBD simulation of a wall falling down, and I want to apply some smoke to it. The thing is that the geometry is too heavy and I have to reduce de polygons in order to simulate. I tried with poly-reduce and despite reducing the geometry it applies it per frame so I have to wait 30 secs for a frame to load. I also tried with point deform but I couldn´t manage either. I suppose my question is how would you prepare a heavy alembic geometry with pieces for a pyro sim? Cheers. T.
  10. Hello, I would like to get rid of these edges and keep the bigger rectangle. How can I do this? Thank you
  11. 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
  12. 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!!
  13. 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!
  14. 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
  15. 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!
  16. 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
  17. 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
  18. 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
  19. 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.
  20. 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
  21. 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
  22. 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!!
  23. 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
  24. 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 [Enhancing Gradient Ascent, Descent & Contour Lines] 132 - Intro 133 - Implementation 134 - Tracing Both Directions [Updating Distances Properly] 135 - Concept 136 - Implementation 137 - Looping Streamlines Problem 138 - Adding Trace Parameter [Evenly Spaced Gradient Ascent, Descent & Contour Lines] 139 - Intro 140 - White Paper 141 - Concept 142 - Constructing the For Loop Network 143 - Improving Seed Points Selection for Tighter Packing 144 - Implementing Separation [Enforcing Separation Using Self Proximity] 145 - Concept 146 - Implementation 147 - Optimization 148 - Final Tweak 149 - Applying to 3D Geometry 150 - Conclusion
  25. 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.
×