Game Development Community

Porting: Existing content: Hierarchy & Exporter

by Rex · in Artist Corner · 03/24/2008 (8:26 pm) · 6 replies

8:26PM
I am still trying to Import existing geometry and set up a proper hierarchy. I am finding it difficult to get the right nodes on the correct level given the resulting setups of geometry and materials from Import. Creating geometry from within Houdini seems not to be troublesome, but when you Import geometry[OBJ,COLLADA,FBX], you get varying degrees of hierarchy and materials. Moving objects between layers I have not found how to achieve.

I've had some luck finally getting the DTS Material saved to a Gallery...and can configure it's frames...it's applying it back to the already UV'd geometry that is proving a challange.

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
03/24/2008 (8:48 pm)
Hi Rex,

Quote:Moving objects between layers I have not found how to achieve.

The easiest way to move objects around in the hierarchy is in the node view (the '/obj' tab) rather than the tree view. Just cut and paste nodes as needed.

Quote:it's applying it back to the already UV'd geometry that is proving a challange.

To apply a material to UV'd geometry, just follow these steps:

1. Create a SHOP subnet (TAB->Managers->SHOP Network) to hold the materials used in the scene
2. Add DTS_Material nodes to the SHOP network (TAB->Torque->DTS_Material)
3. Add a 'Material' node to the output of your geometry (TAB->Material->Material), then point this at the relevant DTS_Material.
4. To apply multiple materials to a single geometry, you need to break the geometry into groups first, then specify the name of the group in the 'Material' node attached to the output of the geometry.
#2
03/25/2008 (7:53 am)
Got it going, Chris, thanks for the Houdini tip. I had to cut/paste my SHOP node a level lower, get the IFL frame path correct and applied to the box.

So now, I have IMPORTED geometry[as FBX], that was UV mapped, textured with a bitmap[IFL placeholder], setup the node structure I/O network, and now see my cycling IFL animated cube in the Houdini UI...This is truely amazing to see in the modeling program! I can fine tune how long each frame is held in duration, and see the affected outcome in the UI viewport. I had each playing a duration 1 frame in the DTS Material properties Tab, then grabbed frame#2's slider and adjusted it up to a duration of 5. When I ran the scrubber thru the 7 frames I set in the Timeline; my sequence didn't change from frame#1 image till frame 6, then it shifted to frame#3image, before ending at frame7. Wow, what control over output! Before you even enter the engine or ShowToolPro. This program is beginning to grow on me in a big way.

One thing I have noticed already, that if you intend to IMPORT existing assets into Houdini, their keystrokes to get the DTS hierarchy right will be slightly different than using native Houdini generated geometry, which produces a different node, with icon. I actually got my texture to appear as applied by directing my geometry group node to the material, not the material to the grouping...if I remember correctly.

Another observation: there are so many nodes and they seem to have very different settings and abilities from each other, this will take some getting right for non-Houdini geometry; as it comes in with it's own parenting system/schema.

Woo-Hoo, barely an hour into the morning session and I think I've learned some important stuf here....:).

www.greatgamesexperiment.com/userimages/9/9de1b4d4a42563b9a77065553640661c_o.png
Above you see the Houdini UI and my special DTSMaterial node which has in it's Tab structure, all the DTS-specific material settings we're used to seeing in Ms3d, Max, and the other various exporting platforms. I have specified each individual frame image by adding entry fields with the +/X buttons, then fill in path with a texture bitmap. Hey, Chris, notice how my entry field for the actual .IFL text file is set to a default? Yet, in my UI, I see the proper frames playing...??? Food for thought...I never changed it, I would expect upon export however; things would be different....more food for thought. I'm going back and changing that entry, before export. May seem odd, I'm excited without even seeing it as a DTS shape, getting it setup was quite the endeavor...correctly for UI. Now, we look at output!

Then, in the Timeline, notice that I've set the scrubber to frame4, and in the UI, you now see imageFrame#4 specified in the DTSMaterial!! In RachaelSpeak: "how cool is that?"

My $HIP/ structure in the path is a relative environmental marker, that directs the save to a defined space. $HIP variable seems to change with each launching of Houdini; it sets as default location of every file dump to the Documents & Settings/MyDocuments tree, complete with white spaces...I've read where this is not a good approach. Once you've entered a Scene from Open dialog, you'll notice that your file s path is absolute with a $HOME prefix[that's my environmental variable setup within OS], and after you save your Scene after working it, the relative path then becomes $HIP/. You then use the variable $HIP to begin saving assets from the UI and they'll appear in their correct repository relative to $HIP....so, a Project folder can be moved to another drive without incurring the absolute path madness we get from time to time, especially where a program saves and absolute path, usually with bitmaps...whew. Coffee break!

Ya, very tricky stuf. I had it all working, in the UI, had my texture all applied to the geomery nested with the subnet node for rigid_meshes. Then, I needed to nest this node in another subnet node, so I cut/pasted my working node inside the newly created subnet, then my textures vanished, yet all paths are same to the $HIP/imageFile?? Almost as if, I needed to build the hierarchy first, then go fill in details or paths...there's a question there.

9:20am:

Fixed the cut/paste texture error...had to repath one of the 3/4 places things get referenced, and my setup looked as in the Help file[nested subnets, detailNode,seqNode,UVtex,Mat,SHOPnetw/DTSmat]. Except for the odd node IMPORTED geometry appears as, compared to native HD geometry nodes. I export fine, no red stripes across the Torque Render node and I get a DTS file. Looking in showToolPro: shows geometry, no material, no sequence. I do see a node for the geometry group mesh. I now need to know how to get things 'Grouped', as I see this entry field on the many Group fields spread across the 4 separate nodes needed to texture something, but it's empty and I don't get a list to navigate thru, as other entry fields provide, contextually. There are at least 4 separate GROUP commands in Houdini[prolly more], need more HD UI/flow help now...getting much closer to a 'starving' artist working the flow successfully.
#3
03/25/2008 (12:51 pm)
Quote:Hey, Chris, notice how my entry field for the actual .IFL text file is set to a default? Yet, in my UI, I see the proper frames playing...???

I'm open to suggestions about the sequence UI, but here's what I was thinking when I created the dialog:

I wanted to allow IFL sequence editing from within Houdini, but also support easy import/export of existing IFL text files (since they are required for use with Torque anyway).

The solution I came up with was to perform all IFL sequence editing using the DTS_Material UI (so the rendered frames are based only on the list of textures in the Houdini UI), but to add separate Load and Save buttons to allow an existing IFL file to be imported, and the current settings to be exported.

The name of the exported material is based on the name of the IFL text file, so it is important to set this up correctly before exporting the DTS shape (you also need to save the current settings to the IFL text file, as this is not currently done automatically during export).
#4
03/25/2008 (1:04 pm)
I figured it out, Chris, that the parameters set in the dialog write out to the .IFL file...works great, just didn't know how it worked. Before, I'd write the IFL file first and then fit my animations to it...this system of seeing it in the UI, and making the visual changes in realtime, make writing the file out, a natural progression of the flow. I like it, now that I understand how it works.

I've gotten some progress on the skinned mesh export and a sequence! Some caveats though, still having trouble with materials and geometry.

I got the 'skinned' mesh out of the rigid_meshes subnet okay, actually and that's what finally allowed me to export some nodes, and get something of a 'shape'. What I got in showtool, was no mesh/geometry, or texture, but my dancingKORK sequence exported, all 718 frames of it. Now the big observation: the nodes are still unconnected, but sequence runs and puts all nodes in right place, just not as a chain. I went back into network pane and very carefully reconneted my hierarchy with correct I/O wires, however; chain still comes out as unconnected?? I also noticed, now that I separated the skinned mesh, that all the Null objects do export as Nodes...those are my rotator/hinges between the 'bones'.

1:04PM
#5
03/25/2008 (1:06 pm)
Did you get my email yesterday? I sent you a new dancing kork .hip file and an updated exporter binary that will export the model correctly.
#6
03/25/2008 (1:17 pm)
Thanks, Chris! I'll take a look see soon, got some errands and lunch pending...