Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


LaidlawFX last won the day on March 3

LaidlawFX had the most liked content!

Community Reputation

259 Excellent


About LaidlawFX

  • Rank
    Technical Director
  • Birthday 02/23/1985

Contact Methods

  • Website URL

Personal Information

  • Name
  • Location
    Pacific North West
  • Interests
    Getting away from the computer
  1. Open world roads

    I've only worked on a few AAA franchises, with a few GDC talks you may have watched. Maybe you should wait on someone else to answer
  2. Open world roads

    If you know how your terrain data is sliced for the 20kx20k world, you can just align the slices of the road geometry in Houdini. A roundtrip-able spline data is not common with off the shelf tooling. It's generally in the domain of studio pipelines. Even then mostly it's a one way process. It starts in the creation software saved to an external file then backed down in the engine. It generally does not come back in from the engine. However with Houdini Engine, you can take the splines you've created and write them out as your own data fromat. .svg should be able to handle most work by splines. However, Houdini does not have a native spline export tool. So you would be making one in python, or C++. You could write the data out as .csv if you really want, but then everything truely is a custom pipeline. One of the more efficient ways of doing open world roads is not to use mesh prefabs for the road, but to bake the main road texture directly into the heightmap. Then you instance decals onto the road to make it unique. This saves you from having multiple meshes representing the surface of terrain. You can then add street lamps, road signs etc via this method. The prefab for meshes works generally best in simple contained game environments like a city you teleport in and out of. Especially a city that does not use a heightmap. With a 20K world you will most certainly be using a heightmap nowadays.
  3. Exporting geometry to multiple meshes (FBX or Houdini Engine))

    Two alternate ways with Houdini Engine would be to make an object level subnet hda, then set up an geo node for each child and object merge each child sop piece into it. The other hack way to do it in an hda is to use groups an on the Unity hda importer toggle on the split geometry based on groups.
  4. Houdini 19 Wishlist

    Sometimes I feel like I can predict the future... https://developer.apple.com/wwdc20/videos/ Arm64 on mac will be a thing now.
  5. OpenCL Issue

    Hello, Houdini should respect your graphics card. The RTX 2060 is from January 15, 2019 so make sure you are on a version of Houdini that is created past that date i.e. if you are working with the latest production build of Houdini this should not be an issue. The second thing I would look for is to make sure your drivers are up to date. If they are the latest driver maybe roll back to last major driver, sometimes the newest drivers are ahead of the dcc developer cycle. The third thing I would check is to see if any other dcc or game does not recognize them too. Then it may be a more common issue like the drivers are the problem, or your motherboard may need updated drivers to see it correctly. Fourth I'm guessing this is very slim is that your OS is not recognizing the graphics card for some reason. Perhaps the cards is bad, or not set correctly, or your using an OS that may not support the drive. Houdini and Nividia's rarely have an issue. If it's none of these issues above I would send in a support ticket to SideFX with your system info Help > About and saving out all the info to disk and the card information. There is a rare chance that this specific GPU may be different. Generally that is reserved for the likes of your onboard intel graphics cards on your motherboard, which Houdini does not like, and will not support.
  6. changing $Home location

    For instance in your Houdini.env # Houdini Environment Settings # ACME = P:/path/on/disk HOUDINI_PATH = $HOUDINI_PATH;$ACME;& ACME will be evaluated first and then when HOUDINI_PATH is evaluated it can use it in the path. Of course Houdini.env is for your personal preferences. So say you use windows environment, do Windows Key + Edit the system Environment Variables, in the System Properties press the button Environment Variables... Here you can enter in local or system variables. Path on Windows is very common for say adding access to the command line for .exe say python, or Houdini's bin directory. If you put $HOUDINI_PATH here it will be processed first in the system. Thus having the inclusion of $HOUDINI_PATH; in my Houdini.env declaration of HOUDINI_PATH. Alternatively in this context any variable will be expanded prior to anyone of them being called. So unlike in Houdini.env or a python or bash script. You do't have to worry about order of operations. One of the more common ways to set HOUDINI_PATH in production is via wrapper made by python, or a bashrc in linux. If you declare ACME then HOUDINI_PATH in it, and then launch Houdini or say Houdini Engine, any variables will be called first before Houdini.env. This happens with a parent child relationship where each application that spawn another application will inherent the parents "environment" variables. There are many other ways to set up the environment variables, but this should give some of the more common methods with order of operations concept. Hope that helps.
  7. changing $Home location

    You just need to set them before, the Houdini ones are declared. Setting them in a shell prior to launching. Setting them in the global environment variables, they will all condense when anyone is called. You can even do it in Houdini.env if you set them prior to $HOUDINI_PATH.
  8. export exploded view animation fbx [✔️]

    The python and the fbx part can't really be speed up that much. The python code can be cleaned up a bit and made more robust. This is a few year old code that I abandoned. The extraction of transforms can be speed up quite a lot with a new set of nodes in Houdini. FBX in general is an outdated format for this type of work. If you are looking for straight transform Vertex Animation is the best bet. That where all my latest code and development have gone the last few years. As far as learning python, just picking up snippets here and there in Houdini helps. It does not have to be a full course. Like this example where you had a specific problem to solve. You might not understand all the code, and by my own admission it's not the best, but once you see more code like it you'll be able to compare. The basic concept of just having python in Houdini press a button when another task is done is where I got my start. I wanted to trigger one sim after another.
  9. export exploded view animation fbx [✔️]

    Preferably not. Thanks for thinking of it though.
  10. export exploded view animation fbx [✔️]

    Unlock the hda and copy channel reference the start/end frame to the ROPs/FBXSplit start/end frame. I forgot how slow of an export this method was. You will know when it is exporting.
  11. export exploded view animation fbx [✔️]

    Ok I shared the wrong FBX code with my repo. Need to fix that at some point. I hacked my own node to work again. It is really bad legacy code at this point, lol. Hopefully it works for you. It was missing a chunk of code that copied the extracted transforms to the geometry. Which is doing an old extract of transform at this point. Oh well, legacy junk. tempexporter.hda RBDtoFBX_export.hiplc
  12. export exploded view animation fbx [✔️]

    So I have my own that does this. I pulled it off Orbolt when SideFX came out with theirs. It still resides here : https://github.com/LaidlawFX/LaidlawFX/blob/master/otls/LaidlawFX.sop__rbdfbx__1.0.hda with the python needed here : https://github.com/LaidlawFX/LaidlawFX/blob/master/scripts/python/LaidlawFX/fbx.py You would need to pull the whole repo if you want to use it directly to add it to your $HOUDINI_PATH. If you do know python, then you can just grab the code and modify it. For an FBX export, you need to build an object tree of your geometry cloud at your initial state. Then extract the transforms from the moving objects, and reference the transforms on the object level nodes. There are a few examples if you look for that workflow out there. Since Houdini does support what you want from the exploded directly out of the box, you will have to pick your poison. There are a few ways to extract the positions you need, but you will need some python to create the object tree.
  13. export exploded view animation fbx [✔️]

    You need to change your sphere2 to a polygon from a primitive. FBX only works on polygon shapes. You can still use packed objects in the dop. The SideFX RBD to FBX will export packed object only based on the information given from DOPs, reverse of what I was saying. It has to be regular geometry prior to being pack however. I forgot they did not update it to work on non-RBD animations like your exploded view. To test just re-import it back into Houdini via the File > Import > FBX... menu rbdfbx_export_scene.hiplc
  14. orientation problem

    You'll need to effect the system that created the point cloud that the file sop is looking at. One way of doing this is to set the up and N vectors on the original point cloud, and then rotate. Example attached. rotate_v1.hiplc
  15. orientation problem