Jump to content

Junkyard Thesis


LaidlawFX

Recommended Posts

Hi all,

This is my thesis project, Junkyard. I've been working on it now for the last year or so learning the most I can about Houdini. My thesis project was originally based on a satirical version of Sunrise Earth on the Discovery Channel. I wanted to be able to create anything they could capture completely in 3-D so I could learn the most I could with out using any plates. I've previously spent 4years in 3ds Max then the last 3 years in Maya and Houdini and I wanted to finally be able to reach an advanced level in the best software package there is... Houdini. My previous 6 months I was in the grind stone of learning and forum diving for what I needed, so I though I would finally show my project and what I've learned, hopefully get some feedback when I get stuck again, as inevitably I will, and I really wish some people can learn from my self appointed task, and save themselves some head aches.

My original goal was to create 3 photo-realistic shots at 1080p each being around 240 frames for a 720 frame piece, 30 secs 24fps. What I have to show thus far is what got me to conditionally pass my final review.

Currently my new directive is to finish up one shot, focusing on something simpler in scope, and give a kick ass break down on my process.

Shot 1 - Sunrise

Current Beauty

post-5070-126385735391_thumb.jpg

Occlusion and Geometry Test

post-5070-126385739386_thumb.jpg

Concept Art - by Sagar Patel

post-5070-126385741154_thumb.jpg

Reference Handouts

post-5070-126385911074_thumb.jpg post-5070-126385909027_thumb.jpg

Shot 2 - Dog in the Hood

Current Beauty

post-5070-126385742236_thumb.jpg

Occlusion and Geometry Test

post-5070-126385745253_thumb.jpg

Concept Art - by Sagar Patel

post-5070-126385749621_thumb.jpg

Reference Handouts

post-5070-126385928652_thumb.jpg post-5070-126385930009_thumb.jpg

Shot 3 - Water's Edge

Current Beauty

post-5070-126385751739_thumb.jpg

Occlusion and Geometry Test

post-5070-126385753744_thumb.jpg

Concept Art - by Sagar Patel

post-5070-12638587166_thumb.jpg

Reference Handouts

post-5070-126385931279_thumb.jpg post-5070-126385933079_thumb.jpg

Edited by LaidlawFX
Link to comment
Share on other sites

Ok so here are two videos of my work,

Color

So this is the version most people expect to see, but this one I spent only about a week with it as I dumped around 80 plus shaders trying to give a pretty picture to my review committee. They complained, but they would have complained if I just showed them the ambient occlusion test render. Some of the shaders are still slipping and sliding. The out of the package VEX glass shader didn't even work for some lovely blackness.

Junkyard_480x720_Beauty.mov

Ambient Occlusion

The best view of my work thus far is the occlusion test renders I have. I use ambient Occlusion for test renders because;

1 - It will tell me if all my objects are touching one another and by how much, especially important in hand placing geometry in a junkyard

2 - It gives a good approximation of the render times I expect to face when I start building more complex shaders, especially when I pump the rays to 300 per a sample, so approximately 20 min per frame was true in the color phase

3 - It shows me the volume and space of an image,

4 - Its a good cheat of overcast lighting with out trying to run lighting models at render time. 1 less thing to go wrong

5 - I can use it for composting when I get to that phase

6 - It looks pretty

The glory of 1080p streaming video is still far down the road, so these video have been shrunk to 480x720 and reduced in color space

Link to comment
Share on other sites

So apparently I can't figure out how to link my ambient occlusion test render, so I figure I'll explain what I did to be able to render this piece.

My artistic aspirations to create this piece was for 100% control over how each piece was placed, all 1468 plus pieces. A greeble would let me cover the stuff pretty well, which a guy at Pixar already developed pretty well for trash, but even they had to place there objects close up to camera which accounted for a majority of my scenes. I could have also easily created a matte painting for my mid ground and background, but I am not trying to be a matte painter. I wanted to work in complete 3-D.

Suffice to say there is no render engine where you can just place 1468 plus pieces of garbage and press the render button and expect it to render (Also to note there were several hundred hand placed rocks, too). The short answer is Delayed Read and Instancing, the biggest problem is human error. Each step was prone to over a hundred errors especially when considering I did the shaders myself, too.

I created 80 plus models for this project, along with every other asset for this project. The only thing I did not create was the dog, nor did I really have anything to do with it, I just wanted so I had friends help me for free on it. All the models were originaly built in Maya and exported as .obj with a very precise naming convention that was based on material types for main groups, and a material header followed by a real name for the vehicle or object part, Paneling_DoorPassengerSide, as an example. This was a far superior import feature than dealing with the spider web of .fbx.

Once I entered into Houdini I created this 26 step process and built it into a subnet so that I could flip a few switches and be able to load, cleanup, UV, apply materials, and convert my models in an as efficent manner as possible. It also set up for easy multiple takes. Very importantly it allowed me to hide junkpiles and work on one at a time. In the end you could say Houdini became a model and data management system, because I never did anything to crazily Houdini about it.

post-5070-126388380894_thumb.jpg

This is where 90% of the nodes controls were that I needed to actually touch in the end which was built into a subnet. I left in live in Houdini instead of creating and .otl, because for every piece there was nearly an excpetion to the rule. The # 1 is that materials changed between each objects. Other problems would be objects not coming in center in world space, like the parts of the car being brought in as separate models but remaining where they were originally. Also the dog needed it's on built up one since it was dealing with geometry sequences, much like the water but just different enough where it couldn't be the same, etc.

Another important thing to note was that once I did this process once, I could just use instances to place objects with out following this process again.

Below is the process as I listed for my review committee of what went on under the hood of my $80,000 node.

Advanced Instancing

26 Step Process per a piece of Geometry for 60+ pieces

- Create Geometry

- Use special naming convention based on grouping and naming, GLASS - Glass_Windshield

- Export as .obj

In Geometry Node 1

1. File – import

2. Facet – Clean up point normals to smooth geometry – Do not do if rendering as Sub-D

3. Sub-divide – Clean up tessellation for Sub-d Ripping in Houdini, if not done in Modeling Program

4. UVProject – Apply UV’s if needed

5. Materials – Assign Materials from next step

6. Null Output – For viewing later

In Shopnet

7. Create all materials for each group – UberShader stream lined

In Ropnet

8. Mantra Archive – Export Geometry and Materials as streamlined render ready assets

In Shopnet

9. Mantra Delayed Load – Import the archived geometry and archived material as a shader

10. Repeat for occlusion –no assigned material ifd

11. Bounding Box – Figure out dimension for geometry a sub-routine in and of itself

On Geometry Node 2 – Color Delayed Read

12. Assign Delayed Load Shader

13. Assign Material if not specified in the Mantra Delayed Load Shader

14. Specify rendering Sub-D

15. Specify Dicing Requirements

16. Repeat 4 Steps for Occlusion Delayed Read

On Instance Node 1

17. Assign Geometry Node 2 in Instance

18. Specify Point based instancing, or not

19. Assign point based motion blur if needed

In Instance Node 1

20. Add – Create point for safety and visibility of geometry

21. Import – Null Output for visibility of geometry

22. Switch – To switch between the point and imported geometry for placement

23. Assign Switch to top level of sub net for placement visibility

24. Null Output – Clean workflow

25. Repeat - inside and outside of Instance Node 1 for Occlusion

26. Link Colored instance to Occlusion instance

Create duplicate Instance Networks for alternative copies

Place the geometry

In order to organize my scene, Houdini allowed for a visually simple collection of models, far superior to any outliner in any 3-D program

Most of the collumns represent a defined area in the Junkyard, outside of lights, camera, and blank template nodes.

At the top of each node is a Yellow Null which had a simple viewing switch that let me turn the visibility off on each collumn

The Pink nodes are the main import nodes of the advanced instance process,

The Green nodes are the instance childs of the above process

The Purple nodes are an older process that was built but works in the same manner,

The light Purples nodes are the childs of the above process

Edited by LaidlawFX
Link to comment
Share on other sites

  • 2 weeks later...

I've been going through the cmiVFX tutorials, over the last month and it's amazing how helpful they are. I noticed that in the advanced instancing node that I made there are a bunch of little things I could cleanup up to make it more user friendly and streamlined. I'm gona finish going through the last 4 videos before I go through and clean that up. Oh yeah and work on my thesis... delay tactic number 99999

It's kind of amazing all those little stupid things you never got taught or learned add up. Even the stuff I thought I knew well there were still a bunch of tricks and shortcuts that are like duh....

Link to comment
Share on other sites

lol, it's kind of too big. 100+mb for the hip file alone, and about a 500mb for the models and such. I went for human error proofing over size consolidation, lol, still learning as in regards to my last post.

Maybe by Tuesday/Wednesday, once the labs are open and I'm not at work I can create a paired down version .hip I could share for the help. I need to make a smaller cropped frame anyways to pretty up to be 100% done with school anyways. Not to mention I don't want to share the whole thing, that would ruin my depression and self-torture for the last year.

I think what may be easiest is too post in regards to passes, as in my render passes of my shots. I'll have to chop up the .exr that has everything because all the layers are in one 50+mb file. That was created with the shader I posted below. I'll even toss in the nuke script for it because it's so basic.

hopefully that will be helpful,

lata

- stupid work

Link to comment
Share on other sites

ok so making some temp files may take a little while longer. I decided to do my final shading segment in Maya and Renderman because there is one main tricks I haven't figured out how to do yet in Houdini that I want to build my shading around. It is Point Cloud Occlusion as a multiplication factor to make rust. I can upload the slim file if some one is interested.

Link to comment
Share on other sites

Ok so change of plan, one more time. I spent the last few days trying to port over the render man shader from slim into Houdini Vex. This took a little more time, but I learned alot. I'm going to create a new shader thread, because I got a lot of info that will probably be useful packaged together. Especially if anyone has to port over a shader from one package to another with out fancy coding. Link below....

Procedural Rust

Edited by LaidlawFX
Link to comment
Share on other sites

  • 2 weeks later...

Here is an update of my current progress, I reframed the shot so I didn't have to deal with the dog, and can focus on the truck.

Any criticism would be great, I got a bunch already so anything more would be better.

post-5070-126695073992_thumb.png

In the black will be the junkpiles like my previous shots, no displacement needed so I can easily fix up those with shader tricks.

Edited by LaidlawFX
Link to comment
Share on other sites

You've been spending quite a bit of time on shaders and some of that is looking quite nice, sometimes still a bit too clean in general for my taste.

Textures can help you, even if it is with a splatting technique whereby you use a few small patches of dirt (randomly) scattered over the surface. The truck is supposed to look old, but has the specular of a toy car - textures will break this up.

The other thing is lighting, you really need to improve your lighting in this scene. You are having a lot of "superblacks" -> areas that are 100% black. You would have bounced light from the water and from the pebbles. I do not know how realistic you want versus artistic. But you might want to consider playing with "cold" and "warm" tones for your light. You will get much richer colors in your shadows. From the reflection in the water it would seem there is a more bright white cloud behind the truck, yet none of this is reflecting or even hinting at a rimm light on the truck.

Play with your tones in comp as well, it will allow you to do a quick test of what looks good. Mask out the truck and push the floor towards warmer colors, push the car towards colder. Normally red colors will pop out (and push object forwards) in your composition and blue (colder objects) will tend to recede towards the background. Also I think at the moment your composition is boring. It is very central, very much "in your face". Play with the rule of thirds, see what happens if you put your horizon line lower or higher.

If you want to make this scene the best shot of the piece, you need more detail. Considering this truck has been there for a while and it was "driven/dumped" there a while ago, there would be accumulation of other garbage against the side. Perhaps even cardboard or branches blown against it by the wind. Perhaps even model the trails of the tires in the mud of the puddle. That would imply a history in the image. The water would be sort of left in the trails in the mud.

What is your reference? Have a look at Pixar's Cars - especially all the detail they add to the small town itself (Radiator springs) - or all the variation in the junk in Wall-E. I know those are animated examples, but they are exaggerations of reality and you might be able to dial that down and use a bit of it.

Go to Jeremy Birns site and read some of the things he writes! Have a look on CgTalk and read how some matte painters think when constructing images and what makes a great image to them - as this is almost a still.

Lastly, if you are not used to dealing with criticism and are feeling a bit offended, please don't. When giving this kind of feedback it is given with the intention that it will improve your work and your overall artistic eye. Playing with the technical side of things is fun and challenging, but the artistic side of things can be just as challenging and it will pay off if you invest time in it.

Link to comment
Share on other sites

Thanks. I used to work construction so it would take a lot for me to be offended, especially when the crit's helpful. As for the shader building, it's all engineer in my family - heat flow transfer analysis for jet engines is in... art is... what's that again? So, shaders are a lot easier for me to use as a jumping off point before I tackle everything else. It's also why I think I settled on Houdini, over 3ds Max and Maya.

The funny thing is I took the last Jeremy Birn class...

Link to comment
Share on other sites

Ok, I've decided to use this concept for composition...

post-5070-126740317231_thumb.jpg

The sky line is near 3/5th spot, kind of awkward, but if feels right. At least it will be good for something for me to build off of. I went through the flicker rusty car collection and although a bunch had some nice close up detail images, and some up angles for some cool non-traditional perspectives of the vehicles. I kind of wanted a more regular human height view of the vehicle, with the skyline cueing most of the perspective(I like landscapes the most, Ansel Adams, and J.M.W. Turner), and then have the focusing detail be the car, like the image here. Also I like the object/detail/reading perspective of it going from left to right, from the car, to the building, to the Clouds.

Link to comment
Share on other sites

Here are some concepts in 3D with some better composition, the middle one reflects the reference in the last post, which I think I'm leaning towards. The bottom one I can always fall back on once I have the wider shot established with more assets.

post-5070-126766219212_thumb.png

post-5070-126766213527_thumb.png

post-5070-126766212565_thumb.png

I ditched the junkpiles, because I learned a bunch since I built them and I wanted to move on from them. Not to mentioned I learned enough to where I could rebuild the system with half the nodes, and the old shots were just to grandiose to handle. The system here is a whole lot more procedural with L-systems, rocks, copy stamps, etc... Not to mention the scene file size and assets are amazingly smaller.

I do need to figure out what the heck that giant bulge of a pancake is, that is generated at render time in front of the truck...

Also I'm gona poor a lot more assets into plant life working from the ground up this time.

Over all the piece is more classic Americana than before, certainly no longer Wally 2. More of what I grew up with...

Crits on the camera angle are welcome...

Link to comment
Share on other sites

Here is an update.

post-5070-126807927206_thumb.jpg

Definitely moving about ten times faster than my previous incarnation of this project.

Also manually adjusting points that were rayed to painted regions of the ground from the scatter sop certainly works well from what I was doing previous.... though the parameters of what I was trying to achieve before were different enough. The tall grass and background tree are .otl based.

Link to comment
Share on other sites

  • 1 month later...
  • 2 months later...

So I realized I never showed a picture of my "final" version for this project as I was referencing my own work. I also did a breakdown which is on my demo reel too at the moment. Hopefully once I get a better computer I can show the cool aspects of the procedural system, like movement and aging, you know the cool things....

The video for my occlusion junkyard(My favorite older version) is here; Junkyard_Occlusion

The video for this final interpretation is here; Junk Ford 2010

The breakdown will be available on my website tomorrow/today/once I wake up after this current day here; LaidlawFX.com

Here is a still.

post-5070-127978506998_thumb.png

Edited by LaidlawFX
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...