Jump to content


  • Content count

  • Donations

    100.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by symek

  1. OBJ Import Material Links

    If you have a choice you could try FBX, which supports basic materials. You could also look around as there were a couple of MTL parsers for Houdini around. It's a trivial task if you know a little Python. Unfortunately Houdini is hardly used in a scenarios where obj files with mtl becomes handy. Also most Houdini materials seriously overcomes MTL specification.
  2. OBJ Import Material Links

    Houdini OBJ importer actually supports materials assignment, it just doesn't import / create them based on mtl files - you can spot a primitive attribute shop_materialpath pointing to something like /shop/Material_name (as found in obj file). Importer doesn't touch mtl file though, so materials have to be created manually. Note also that materials assignment inside OBJ file itself is based on primitive groups, which also end up in Houdini, so you can assign new materials based on those groups rather than rely on per primitive attribute.
  3. Considering how PTEX ignores entire ecosystem of assets creation, and how game originated tools heavily relying on UVs, reinterpret those assets pipelines without f*cking it, it's hard to believe PTEX has any future as long as a plain polygonal geometry is involved.
  4. Well, despite of the warning about VEX not supporting animated parameters, for years placing $F inside a shader body simply worked. There is a subtle nuance here though, and it't hard to see, since GUI wise all Houdini parms look the same. There are two different things involved here: shader's variables (inputs inside Shops/Vops) and parameters on a nodes. Basically think about Vops (material builder or anything involving nodes and vex) as a pure string based code generator. Code listening will be generated inside Houdini, but interpreted in a different context (inside Mantra), so expressions (usually evaluated inside Houdini) don't fit. Promoting them outside a shader body, allows them to be correctly evaluated prior execution (passing the result to shader body as plain old data variable). Seems like different types of Vops involved subnets has different opinion about what is possible though.
  5. Two minute papers

    Very few research papers fit to immediate implementation. The unfortunate side effect of the citation system (JIF) is an urge of frequent publishing among scientists. It renders a plethora of research with questionable value. They usually indicate general research and progress towards some new possibilities. What is actually implemented few years ahead is a common middle ground different scientists have made available for practitioners. Some exception might be the enhancements to the technology which is already in use like, say, XPBD for Position Based Dynamics.
  6. Detect surface using VEX

    Since you're tracing over second input's geometry (?), tiny correction is needed (note first argument); i@intersected_prim = intersect(1, v@P, direction, new_position, u, v); I would also recommend initializing new_position, u, v for extra safeness (it used to be mandatory, not sure now). hth, ps sorry also for previous criticism, I didn't notice that naming convention isn't actually very clear in that case.
  7. Detect surface using VEX

    in SOPs: intersect() in surface: rayhittest() or trace() Just a friendly remainder, that it is generally recommended to use docs page before asking basic questions on a forum
  8. Siggraph 2017- same old or?

    My God! I was again years ahead of time.
  9. Houdini 17 Wishlist

    That's the whole point and the problem SESI is facing as much as I understand. Cops engine would require serious rewrite to make it reliable. Personally I don't mind its current limitations features wise, just make it work for +2K resolution with +10 layers of multi-raster images is a obligatory requirement before going further. I'm afraid this is not something SESI is willing to undertake (and neither most of the users would appreciate if that would caused slow down of 3d development).
  10. I'm kind of lost here. If you have a deformed mesh you want to instance geometry onto, why not to scatter points on it in SOPs, and send them to mantra for typical instancing with packed primitives? Houdini can easily handle dozens of millions of scatter points in a viewport. Anyway, if I understand you correctly, you can do what you want with HE Procedural Shop, which allows you to generate meshes (also packed prims) at render time. So, in the example above: 1) append copyToPointSOP to HDA output (instancing some geometry onto points) 2) replace HE Point Generation with HE Procedural with the same setup 3) add -e full to mantra command (Rop's driver tab) and you will have meshes instanced on a points scattered at rendertime on a mesh, which is awesome all together, but mantra will consume hengine license. does it make sense?
  11. Does your geometry have uvs? This plugin generates a set of textures from a substance material and applies standard Houdini material to the object in question with those textures applied on it. Another issue might be the path Substance trying to save textures to. Make sure write permissions are in place. hth, skk.
  12. Feed FileSOP inside your HDA with something like op:/`chsop("../mysoppath")` (mysoppath being hda parm). Point attribute should point to mesh you want to scatter onto, with render visibility set to None, but render flag turned on, so that a mesh will be exported to ifd.
  13. Haven't looked into your example, but this one works here. You need hda which generates only points, and procedural applied on a geometry to instance your hda on. Point's attributes overwrites asset parameters. Haven't used it in production yet though. hth. HEPointReplicate.zip
  14. Writing attributes to image file

    Just use GetAttribute VOP inside Vopcopfilter. Set Geometry File parm to op:/obj/mygeo/mysop and compute point number from current pixel index (IX+YRES*IY). Alternative approach is to use sopGeo.pointFloatAttribValuesAsString() and cop.setPixelsOfCookingPlaneFromString() inside PythonCOP, but requires little Python magic (actually while stepping on a Python tail it might be easier to save, say, numpy array as image file (google it)). hth.
  15. Houdini 17 Wishlist

    There was a Charlie and Rayz (by Silicon Grail), with the latter one using Halo technology licenced from SESI, they were much more serious about compositing than SESI ever was even before Nuke was released. Halo has lost with Shake mostly (not to mention binding compositor to HDK with all its limitations back then, wasn't very promising idea).
  16. PBR Texture maps to Principal shader?

    If you install substance plugin for Houdini, you could take a look into: $HOME/houdini16.0/dso/substance/SubstanceToPrincipled.cfg. You have a mapping with parms and textures there.
  17. Vex - smooth interpolation of random values

    This is what noise functions were designed for: http://www.sidefx.com/docs/houdini/vex/random They are also available in VOPs (look in Tab menu under "Patterns" category). Noise function smoothly interpolates both in space domain and time domain (pseudo)random values.
  18. I've made an attempt to support Cryptomatte in Mantra, just stopped the work due to the lack of spare time + SESI warnings that pixel filter API soon will to be changed with introduction of adaptive sampling in H16 == waste of time. Since it didn't happened I'm more into it than not just haven't found a moment to finish it yet. Feel free to encourage me or do it yourself http://github.com/symek/automattes (code is little blotted because, well because...)
  19. From the journal: Houdini 16.0.563: The Chromakey and Lumakey COPs now have a toggle to generate an Alpha plane if it is missing in the input. It is on by default for 15.5 compatibility.
  20. It seems they don't work in 16.0.547 (don't produce any Alpha as you discovered). Only LumaMatte works. Bug submitted.
  21. hmm... In 15.0 they both work as expected. I would assume it's a bug rather than deliberate change. I will submit a bug. Thanks!
  22. Lumamatte. (don't ask me why).
  23. You could use Occlusion VOP in your surface material. Remember to change max distance from -1 to something close to an interior size (otherwise every ray hit will be treated as an occlusion == black render). Also Background color has to be set to 2.0.
  24. Render Pass Setup?

    Houdini really needs a lot more feedback and pressure from users in lighting / render departments. Its architecture is so powerful in this respect. It's a matter of rounding corners or / and finishing what's already there.
  25. Sorry if I misled you before, but after second thought I realized Attribute Reorient is perhaps easier method if you already have transformed geometry. That is if I understand your problem... Deformation Wrangler is another option though. In the attached scene, I don't touch your attribute, I only rotate geometry based on template orientation (like copySOP does), but vector_to_transform magically follows this transformation. Is it the result you were after? transform_attributes_skk.hiplc