Jump to content


  • Content count

  • Donations

    100.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by davpe

  1. Redshift stylesheets and cryptomatte

    have you tried to override something else? like material color or something that definitely works? i suspect you can't override ObjectID as that's not either material or render parameter. what I would do is a custom AOV based on objectID or per-piece attribute and use that instead - no need for stylesheets.
  2. you can have scene views bound with different network views. so if you navigate in one node network you will only see it in the viewport bound to it while other viewport can show something different, if that's what you mean. you can use drag to vieport too. read Pinning and Tab linking section here http://www.sidefx.com/docs/houdini/basics/panes.html
  3. Separating Reflections

    render a mask for the box and its' reflection as a separate pass. that's the simplest approach i would choose. you could also do that in shader and have it as an aov, that would be more complicated on shader side of things thou.
  4. Accessing groups from instances

    well the processing advantage of an instance is that it's represented by a single point rather than full geometry. therefore you cannot access the geometry without loosing the advantage (unpacking it). you can transfer a group to packed geo, this group however must contain all the primitives/points, otherwise it's gonna end up empty when packed. it can be still useful to isolate different clusters of instances that's been formed before packing, for example. if you want to access groups for material/lights assignment, that can be done with Packed Edit SOP or with Stylesheets. those must be primitive groups.
  5. yeah that's what Mantra gives you - render time per bucket in seconds. slightly more convenient. in seconds you can only see total render time - printed as verbose in terminal/console.
  6. looking at the list it's the cpu time. must have had confused names with Mantra
  7. there is a Render Time aov that can be added to your image planes, as well as other debug aovs that show number of samples cast etc.
  8. Forest campfire rendering in Houidini Mantra

    if you're using rat textures already there should be almost no difference if you make them smaller as rats are automatically mip-mapped (so they're always rendered at the appropriate resolution). sample data cache i think might be your biggest slow down factor i think. not sure about instancing process, i typically always use copy to points workflow, cached out and loaded back as packed primitives. that's i believe the most efficient way. but instance objects should render fine too. speaking about geo, maybe if you do some SOPs magic it always pays off to cache everything out before rendering. but i guess you already do that?
  9. Copy UVs to other faces

    hi, my first approach would be to start with a flat grid first, unwrap it, then copy it over to the area you need, and then extrude it to form cubes. polyExtrude SOP offers some basic (but handy) options for auto-generating uvs based on existing coordinates. this should do the trick. cheers. actually, sorry, this wouldn't work with camera projection :-/
  10. Houdini 18 Wishlist

    oh i see... yeah pixel painting would be a handy feature to be added in COPs not only for grooming.
  11. Forest campfire rendering in Houidini Mantra

    your sampling settings don't seem to be high but i guess it would help to render some things as a separate pass and comp them together. that allows for example to sample evironment light pass differently from volume light pass. many times it helps significantly. then the way you build your shaders can have a speed impact. if you only use principled with textures applied, without shading networks, i think this is not gonna be the case. not sure how detailed displacement are you rendering and gow much texture data in overal, but you definitely want to check the vm_sample_data_cache limit. the default value is set ridiculously low (512 mb), and also is not exposed - so you need to access it throught Edit rendering parameters dialogue, and you want to make it at least 2048 or more. it's basically the cache size for the texture and displacement data and if it's too low you end up loading and releasing the same textures over and over again at each tile. which obviously can slow down things a lot. i bet this is part of your issue and also the reason why many people are nagging about mantra being slow. then, if you're not converted your textures to rat image format, do it. that might also be one of the factors. other than that it's hard to say without inspecting the scene. it can be the way you handle geometry, displacement settings, lights settings, etc... and then hardware, of course. if you don't have enough memory for instance, it can be a bottleneck. but I'm sure you're aware of that.
  12. Forest campfire rendering in Houidini Mantra

    uh, 10 hrs and not even hd res? that's about 10x more than I'd expect! even for not super fast cpu. i,m pretty sure it could be optimized down to about an hour or two with all the bells and whistles. anyways, atmosphere pass can be rendered quite cheaply with uniform volume, low ray samples, high stochastic samples, and phantom objects having constant shader applied. it typically renders between 5-15 mins, depending on scene size. cheers.
  13. Forest campfire rendering in Houidini Mantra

    looks decent. only i think it would need a bit more work on specularity/diffuse balancing, some green color tones feels a bit off too. otherwise good work thou! what render times?
  14. Split UV islands to UDIMS ?

    hey man, I think we've been through this once already? anyways, you can generate udim number per uv island with help of connectivity SOP, and then feed that attribute into uv layout SOP.
  15. Houdini 18 Wishlist

    What do you mean by that? You can paint in uv space. there is no hack, with the paint tool activated, just switch to uv view and paint.
  16. UDIMs in Houdini, how?

    well the most straightforward way seems to be to set the uv layout scale to slightly bigger number so two pieces never fit in a single udim (that is if they're not forming a single uv island). other way is to generate a udim attribute beforehand and tell uv layout to look at that (Target Assignment > Target Atrribute). for example, if you want a single poly per udim, you can calculate udim from primitive number. in primitive wrangle, something like this would do the trick i suppose: i@udim = @primnum+1001; if your islands are containing multiple polygons, you can use Connectivity SOP in UV connectivity mode. that will generate 'class' attribute per uv island which can be used instead of primitive number: i@udim = i@class+1001;
  17. UDIMs in Houdini, how?

    it certainly does... right now you're using udims 1001 - 1050 if I count it right.
  18. if it wasn't possible to install windows 10 bcs of your laptop (i understand for performance reasons), i wouldn't really expect it to be able to run houdini in any reliable way :/
  19. UDIMs in Houdini, how?

    most straightforward method is to use UV layout SOP that can distribute uv islands automatically into arbitrary number of udims, based on some parameters available. or, if you want more specific distribution, you can create a udim primitive attribute that specify at what udim any particular primitive is supposed to end up and supply that into uv layout SOP. then you can also use more exotic methods like vex code or looping methods to distribute pieces of geometry into udims by some user specified rules. for this simple case thou, uv layout should be more than enough.
  20. well yeah, it creates Edit node because by hitting E you telling it you wanna edit the geometry on per-point basis. edit node is where your direct modeling actions are stored. but if you've got a Transform node selected, it assumes you want to use that transform rather than to manipulate points (which makes sense i guess). once you get used to it everything will start making a perfect sense when i was starting out i thought i will go to some other app for modeling things, but now I actually much prefer houdini way as it offers some hugely efficient workflows (not for modeling characters and that kind of things thou)
  21. there is a scale manipulator. you just have to press E key. that's the way it is. don't ask me why.
  22. hi, you've got a few options here. 1. store an primitive integer attribute for each page number, then use that in the shader (bind VOP) to switch between different textures (probably the most straightforward solution) 2. store a string attribute containing the desired texture name (or full path - that would be simpler to implement in shader) per page, and feed that into the texture path entry on texture VOP in shader (again with bind VOP). 3. use material style sheets to override a texture path per page (this would be a slight overkill for this kind of thing thou
  23. it sometimes happen that applications convey residue attributes with abc file, or normals are scrambled. so check for that and delete any attributes that you don't need. also, if not using Mantra for rendering, make sure your abc is not imported as packed geometry, and that polysoups are disabled. dunno if octane supports any of those features. unsupported geometry type would definitely result in wrong looking render.
  24. Material Assignment best practices

    it depends... material names in shape names would be obviously a good thing to have but from my experience, modelers just don't name things as you'd like them to, and it seems to be a waste of everybodys' time to force them to. so I typically just want to have some meaningful names saying what things are, and most importantly, not having objects that are supposed to be made of different materials, fused into a single shape (that's obviously an issue that can only be solved by cherry-picking polygons by hand). Then I typically do attributeStringEdit SOP to add material names to groups of objects. For instance I might want everything called "wood" to have the same material as objects called "planks" and "beams", and also "Beams", "Beam", etc... So I take all these and add "woodMat" at the end of their path names. And then in the wrangle I just filter "woodMat" and assign the material to all these objects. And then the model is likely updated several times, with some new shapes, or some shapes named differently than before etc. So to tackle that, I usually have bright green emissive material (just something really obvious), and the last line in my vex will say: if(s@shop_materialpath == "") s@shop_materialpath = '/mat/green'; so that any shapes that were not picked by my pattern matching for any reason, will render this stand out green color to be immediately noticed. so that's generally my usual material assignment workflow for assets made of many objects. this or stylesheets if objects are packed and I can't unpack them - but mostly I prefer wrangle workflow as I find it more straightforward and it can typically do all I need.
  25. Material Assignment best practices

    as I said, stylesheets or vex are both good methods. vex allows very straightforward assignments by matching @path names. stylesheets allows assigning materials to packed geometry and more complicated assignment patterns. with simple vex assignment, you'd go like this (in primitive wrangle SOP): if(match('*brick*', s@path)) s@shop_materialpath = '/mat/brickMaterial'; if(match('*wood*', s@path)) s@shop_materialpath = '/mat/woodMaterial'; if(match('*metal*', s@path) || match('*METAL*', s@path)) s@shop_materialpath = '/mat/metalMaterial'; ... this expects a meaningful naming convention, obviously. if you have a good naming, you can specify just a few patterns to batch assign materials to many objects at once. all in single wrangle node. this is also the fastest way to assign many materials I guess (in terms of processing). this method also works well with attributeStringEdit SOP - if you have slightly messy naming of alembic paths, you can fix/unify them first with this SOP and then batch assign materials with vex as shown above.