Jump to content


  • Content count

  • Donations

    100.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by davpe

  1. Hello everybody, I became tired of dealing with various viewport bugs in Houdini, still hoping it will go away one day. On the other hand, I guess even Houdini has to have something that totally and completely sucks Anyways, my biggest issue is with displaying textures. Sometimes I am unable to display any textures unless I restart Houdini. Other times, textures are sort of displaying but are not updating - I mean if I assign a material to an object, there's no guarantee it will actually display in the viewport. And then it pops up 5 mins later when I'm doing something else. Closing and opening a new viewport only helps sometimes. There is bunch of buttons that promise updating viewport materials and textures but they seem to do nothing. This is SUPER annoying and I'm looking for some workarounds (if there are any at all - I'm trying to figure this out for years with no success). Thanks for any suggestions. cheers.
  2. How to change the order of points?

    Sort SOP it can reverse, or sort points / prims by different criteria in your case i believe it would work well combined with resample SOP (it generates @curveu attribute that can be used to sort points)
  3. how to use an attribute in a parameter?

    It depends what and where you wanna do but in general: 1) in most cases, point, prim and detail expresion functions work well: point('../sourcenode', @ptnum, 'attribname', 0); 2) in some cases, simple @attribname will work. 3) some nodes will take attributes automatically if they have an expected name and class (i think @width point attrib is automatically picked up by polywire SOP for instance) the first method is overally the most reliable.
  4. Karma Noob Issues

    sure, it depends what you trying to render. I was able to render some very large volumes in no time with Karma. Some other tests performed quite poorly on the other hand. Anyways, my main concern wasn't speed - more than anything else it was bugs, various glitches (in Karma and LOPs in general), stability issues and missing features that made me decide to wait for some time until Karma becomes more production ready. Having said that, I am sure Sidefx have been working hard and many things may have been improved in last few months (and I might want to have a fresh look at it). as for Redshift - RS certainly is one of the best GPU renderers today you can get your hands on. However, if you do a lot of heavy stuff, or you want to rely on procedural texturing, RS looses a lot from it's appeal.
  5. Processing folder of textures COPs / TOPs?

    file names should be generated automatically by filepattern TOP as a pdg attribute. if you middle-click a workitem you should be able to see them.
  6. Karma Noob Issues

    As far as i know, Karma currently is not consistently faster than Mantra (means it is faster for some things, but can be even slower for different things). so far, my superficial experience with Karma made me put it aside for now, as it still seems to be a very unfinished product, unfortunately. i'm still very excited about Karma thou, and maybe Houdini 19 (or 19.5, 20, ...) will bring some significant updates to it's stability, speed, features and general user experience. Up to that time i'm gonna continue living in Mantra world. I have no solution for your "not being able to render stuff out" issue, but it sounds like Karma to me. Also, I hope to read some optimistic posts in this thread
  7. if i understand correctly, you've got like 1000 blueprints and you want to say - hey, blueprint number 568, set your height to 12. in that case, wrangle SOP is your friend: if(@primnum==568) @height = 12; if you want to edit a bunch of prims you can chain them: if(@primnum==568 || @primnum==654 || @primnum==33) @height = 12; i'm using @primnum in these examples (which refers to the particular primitive number) but you can use any attribute: if(@P.x>10) @height=12; (modifies all prims with X axis position value > 10) obviously this becomes cumbersome if you want to edit more than few values. in that case you can first group them and do the operation on groups (the group is called "abc" in this example): if(@group_abc) @height = 12; these are just some trivial examples of how to manipulate subsets of data but possibilities are endless. you can get very creative here with arrays and loops here, you can filter things by incomins attribute values (names), it's location or a distance from something, by it's size, by user defined tags, you name it.
  8. Handling Massive Height Fields

    hm, heightfields can be slowish in high resolutions but waiting 30 mins for your scene to load sounds like a complete nonsense for any houdini scene. even with heavy terrain scenes i can get it loaded pretty fast if i cache things on disk properly (lets say a couple of minutes in case you use rather slow and older workstation - anything longer than that means you should think of optimization :) not sure what exactly is your workflow but here are a few tips to make things move faster: - if starting from HF map, it's not really a texture resolution that makes it slow, but the voxel count it is sampled into. maybe you oversampling your stuff a lot? try to double the voxel size and see if it actually makes a lot of visual difference - speaking about resolutions - experiment with how dense your HF truly needs to be. consider from how far you will look at it. proper texturing and normal maps are your friends here. - if possible, start really low res and gradually build up details in multiple stages. don't try to generate the final result using one erode sim. - after each erode sim or other time consuming operation, do a "checkpoint" cache to disk. don't rely on freezing the sim. it doesn't really work as it seems bcs each time you open the scene it wants to recompute the result. which actually makes sense - storing multiple hires erode sims in the hip file would make it huuuuuuuuge! (i suspect this also might be a reason for you having everything so incredibly slow) - be aware of paint nodes. with default setting the paint cache is actually saved with the hip file, making the process of saving very slow, and hip files BIG (like gigabytes). you don't want that. masks typically don't need to be too detailed so make the HF lowres before painting and then use it to mask the hires one. also, paint node can be made "live" all the time but that again can slow things down. i think in the latest Houdini release there is something called heightfield draw mask SOP (instead of paint mask). this seems to be much faster and lightweight alternative. - if heightfield is too big, do an init lowres sim on the whole thing first to get the larger scale features in place, and then split it into multiple tiles and work fines details on those separately. then you can merge and blend them back together ( must admit thou, blending is sort of meh, you need a generous overlaps to avoid visible seams where two tiles meet) hope that helps. cheers.
  9. thanks anim, user data thing sounds promissing. will look into that.
  10. no sorry, I meant like this, for instance: 1. in OnCreate: path = hou.pwd().path() 2. in PythonModule i want to access this path string. this is a trivial example, I'm just looking for a general way to exchange data between HDA scripts triggered on different events - if it makes sense.
  11. hi guys, I'd need to get one step further with this and read the variables produced in OnCreated script by different scripts in the same HDA (Python Module). Spent a day reading through Houdini docs but can't figure out how to do that. help appreciated. D.
  12. use intrinsic info in shaders

    as far as I understand this, renderstate packed can not lookup intrinsics and geometry global variables (@ptnum and @primnum). You can treat them like attributes at geometry level, but not at shader level as shaders have a different set of global variables (see Global Variables VOP - P, Pz, I, N, etc.), As you already found out, if you wanna import geometry globals or intrinsics into a shader it must be saved as an actual attribute with an arbitrary name.
  13. Road UVs on existing geo

    for shape like you have, i don't think you can make your life easier by trying to invent some sort of uv trick. I would just generate planar uvs from top down view and then paint the texture - or generate procedurally and bake into bitmaps. sweep SOP does nothing more than "extrude along curve" thing - you will not be able to produce that kind of shape.
  14. hi, if the Resource manager says Mantra uses 6 gb then it's true I guess (and it's roughly the amount i'd expect). what exactly makes you think it eats up more than that? if you kill Mantra does it free up 29gb of the memory?
  15. not sure how your setup looks like but you can use Categories to make lights only affect specific objects. matching category patterns on both light and the object will make the light illuminate the object. otherwise the object is not affected.
  16. Intrinsic point attribute

    can't inspect your file right now, but if something like this happens there is typically an issue with pieces naming (pairs not matching, multiple pieces sharing the same name, or something like this). i can see in your setup you've got two connectivity attribs in a row. potentially can be a source of the issue. make sure instances has unique values, and are matching the values on simulated pieces. cheers, D.
  17. Listing nodes of a particular type?

    or you can use a "Find node" window (a magnifying glass icon in top right corner of a network view) which allows you to filter and find nodes based on all sorts of criteria
  18. Create Absolute Reference Copy Of A Node

    i see your point. if i need to reference stuff to other network locations i typically use object merge SOP. actually referencing nodes as you described is something i use quite rarely.
  19. Create Absolute Reference Copy Of A Node

    of course you can do this, only the way you doing it is not gonna work in this case. if you middle click referenced parameters you will see it is a relative reference. like ch("../box1/sizex") - this is referencing a box1 node existing in the same network location as the referencing node. if you move the node into a different network, this referencing expression doesn't update and its relative path is not valid any more. the trick is to either use absolute references that contain the full path to a references parameter, or you have to place a node first, and then do the relative referencing. This can be done either by drag n drop from one node to another, or from right click menu. to make this process really fast, have two parameter dialogs open and just drag n drop between them. and obviously, you need to read the manual. this is like one of the most 101 things in houdini https://www.sidefx.com/docs/houdini/network/copying.html cheers.
  20. Why am I getting white bake textures?

    ok then i think your issue will be either "Disable Lighting and Emission" on bake texture ROP enabled (you want to disable it to bake a Cf channel), or your shader setup is broken. those two are first things i'd check.
  21. Idea VFX pipeline for Houdini

    speaking about out of the box solutions: i think Solaris/USD and TOPs is a good way to go. it's still quite new, but Solaris provides tools for scene/shots management that are future proof, TOPs provide tools for data handling and batch processing, and allows linking to different softwares, like Shotgun. Other tools you can use: HDAs - a robust way to share simple or complex functionality between projects/users, but are a bit cumbersome for some uses. HDAs have some specific workflow mechanics inbuilt which can be both an advantage or a drag, depending how you wanna use it. Gallery files are good for quick and simple exchange of houdini setups. Unfortunately it doesn't really have any solid pipeline hooks, nor support for versioning or other stuff like this so I wouldn't recommend relying on this too much. And of course there is a solid Python API that allows you to do a lot with little effort, and can be executed from almost anywhere in Houdini.
  22. Why am I getting white bake textures?

    hi, maybe take a look at this video:
  23. Hello Houdini friends, For upcoming automotive commercial project, UPP Prague is looking for Houdini generalists, with experience creating photoreal CG environments. Ideal candidate should be a resourceful and reliable artist requiring minimum supervision, and able to deliver top quality work within tight deadlines. Your work could range from generating high quality models, textures and look development (Mantra, Redshift), to creating modular, CG environments related Houdini digital assets. This is 4-8 weeks contract, starting mid-November 2020. Due to current restrictions, you need to be able to work remotely (VPN). For more info, please contact dominica.jandova@upp.cz, and include "3d enviro artist" in the subject line. website and showreel: https://www.upp.cz/advertising
  24. this should help with Python: https://vfxbrain.wordpress.com/2016/03/15/python-in-houdini/
  25. Separate fbx part

    check this out - it should help. vfxbrain.wordpress.com/2016/03/15/python-in-houdini/