Game Development Community

Environmental Variables: Setting up

by Rex · in Artist Corner · 04/06/2008 (7:42 am) · 2 replies

Unless you have worked with POSER or any type of modeling program that has a 'Library' or 'Project' asset storage/retrieval system, Houdini may prove frustrating trying to figure out how to operate the UI in a meaningful and productive way. I, myself, wasn't entirely prepared for the depth at which HD is layered and found it a little daunting to start digging in and making things work in a manner in which I was accustomed.

In this Thread, I'll try and describe how I set Houdini up to begin working and saving the few proprietary formats, HD, spits out during the use of it and how to keep a handle on them. These are my observations so far with the program, and will change as my understanding of the program grows.

The first oddity I noticed was in the Open dialog. It appears to act like a WinOS folder browser, with a split pane Left/Right with folder content on the right and tree structure on left. The folder explorer pane is also split, top/bottom, and this is where some confusion began.

The explorer panes seemed to be 'hard coded' to very specific Locations on your system. Houdini begins by creating environmental variables and using them as jump reference paths to eliminate absolute paths to textures & geometry, making it hard to pass Scenes between developers' who's organization of assets are going to be quite different, unless part of a large Team and it's network to work in. You're basically creating your own network within HD, I think. Anyone who has used POSER will know of what I am speaking. When you open a Scene, the program is looking for specific assets in specific locations. Click on any of the E-variables to see where they're pathed. $HIP/$JOB direct to Documents and Settings, $Home is the Houdini root folder in Programs Files.

The first important environmental variable the artist will encounter is the "Home Folder" with the icon of a house. With a normal installation of HD, the Home Folder is in Program Files/etal. If you highlight this folder, in the right you'll see the root installation folder of Houdini. Something I encountered rather quickly is how HD does not utilize white space or negative integers in a string literal, an underscore is substituted. The program compensates for this with special characters in paths, this seems klunky to me, and after reading some Threads on Project/folder setup[on NOT using white space at all], decided to follow suit and not use the home path default. Instead I created my own root Project folder for HD with no whitespace in the name, and placed this on my root drive of my comuter. Next to get HD to recognize this location, I had to create an environmental variable on my OS and set doing this right away.
www.greatgamesexperiment.com/userimages/b/bf9c88aa5c4df56c35ec7bf6ff57e98e_o.pngAbove, you'll see the first dialog I encountered creating the variable. Right Clicking on the "My_Computer"--"Properties" of my desktop produces this dialog. I brought forward the "Advanced" Tab, and clicked the Environmental Variables button just above OK--Cancel--Apply.

This brings up the Environmental Variables dialog and the "User Variables" and "System Variables" portions. Click "New", enter '$HOME' and the path in the value entry field of your personal Project folder. Click, 'OK', and it should be set.

...more in another posting.

About the author

Rex does all his 3D graphics through BrokeAssGames and is currently working on DSQTweaker, Ecstasy Motion, and other interesting projects yet to be revealed. Just ask him about anything DTS/DSQ related, he's happy to help.


#1
04/06/2008 (7:43 am)
...continuing:

Here's the other dialog:
www.greatgamesexperiment.com/userimages/e/ed337c88edb1804c412315130eb32773_o.png
Once the new 'HOME' variable is set. Launch HD, then go to the Open dialog. Now, click on 'Home' entry and the location of your environmental variable[ProjectFolder] should appear in the right--content portion of the dialog. As an example: I created a folder named, "HDprojects", on my root drive. I pathed "$HOME" to this folder in 'My_Computer'. All of my Project folders with HD scenes start here. Each is it's own Project folder, with a subset of folders for all the formats that are generated.

Here is also where some confusion is. When you launch HD, and pop the Open dialog, you'll see the paths in the most recent file list have $HOME as a jump path. Once you open or save a HD scene format[.hipnc], this path[$HIP] is set. Shortly after opening HD, pop the Open dialog now and look at recent files listing...you'll see a new environmental in front of your newly opened Scene, $HIP.

Now, when you work inside HD, from this point; there are quite a few entry fields for paths for necessary assets to use in the working Scene. If you've setup proper folders and names, you can use the jump path to find assets for the scene and also for saving objects. This makes passing a Project folder with assets much easier from different drive systems.

I hope this makes some kind of sense, I'll try to clarify this more as I tinker around. So, a tip is to save your working scene as a .hipnc file fairly quickly, as it creates a backup folder, and sets the path for assets and saved resources. Then relative paths within the UI will work, ie, you won't get a dialog complaining about not finding the asset.

So, in closing: remember that Houdini is thinking that $HIP is where the .hipnc Scene is being saved. If you find yourself 'losing' Scenes...you've probably saved the file in Documents and Settings\"user" tree, look there.

Also, any crashing will save a copy of working Scene in $TEMP, with by default is located in Documents and Settings\"user" or below.
#2
04/06/2008 (10:49 am)
Here is the recent Files dropdown dialog with a fresh launch of Houdini, getting ready for a session of modeling:
www.greatgamesexperiment.com/userimages/f/ff595cea502a8e9721bede9cdcb03016_o.pngThe dancingKORK.hipnc file is located in my $HOME jump "HDprojects" folder, in it's own dancingKORKC+ folder. Now, after opening the file/Scene, see how the path has changed to $HIP/....now, referencing $HIP in the entry fields of the program's UI in the various places. Knowing my subfolders in the dancingKORKC+ project, will allow me to save, and reference digital assets in nodes, allowing for the elements to render in the HD viewports and eventual Render output, which to us, means Export to dts/dsq.
www.greatgamesexperiment.com/userimages/e/e473c170eda15cdee7aa0597aedcd90b_o.png As long as I keep my assets referenced to $HIP, I can pass the dancingKORKC+ folder to anyone using HD and they can place it where they wish, and after opening it, the references should hold, and materials and objects will render to HD viewports.