Showing posts with label pipeline. Show all posts
Showing posts with label pipeline. Show all posts

Saturday, May 12, 2012

Souvenir and abstraction.


I was the main artist on Souvenir and did the bulk of environmental modeling / level design / art effects. The cypress tree and archway were one of the very first things I made.

Back in September, we realized that if there were any limits on what Souvenir would look like, it would probably reflect my own personal limits as a novice 3D hard surface modeler, as well as my partners Ben and Mohini who weren't incredibly experienced artists either. (Know thyself!... and judge others, I suppose, too.)

We needed an art style that would emphasize simpler forms with very little surface detail, and we made a very early decision to pursue a papercraft / untextured color direction. Otherwise, the UV mapping required would be time-consuming and cost prohibitive and wouldn't really look good anyway because I'm not a great painter. There were also huge performance gains in using just one small palette texture for virtually every environment mesh in the game; that means Unity can batch all the polys efficiently and reduce overall draw calls.

Our early experiments with the mechanic indicated that falling / shifting over long distances felt good... Which meant that our final game world had to be huge, and that most of the world would be experienced from afar as silhouettes and shapes. (Again, our mechanics suggested that investing in surface detail was pointless.)

Tuesday, January 24, 2012

The joys of using world space / procedural UVs for Unity3D

NEW, 9 July 2013: I've detailed a different implementation of the same effect, better for texturing smooth bumpy surface / terrain, in another post -- "A Smoother Triplanar Shader." I still think this way is good for some things too, though.

One of the greatest benefits of old Quake-lineage BSP systems is managed UVs for world geometry; move your polygons wherever you want, and let shaders texture and tile them properly. It lets level designers focus on building, and frees environment modelers to focus on geometry rather than the mundane work of UVing and texturing yet another concrete wall.

If you're an indie developer doing the work of both, well, any shortcuts are welcome. And if you're not thinking about these things, then just ask yourself whether the player's going to look at this thing you're modeling for more than a few seconds. Just use a block and let the engine worry about it.

If you're an actual graphics / shader programmer, you can do pretty nifty stuff with this technique: Tom Betts at Big Robot is working on a not-Minecraft, and talks about using "voxel skinning and virtual texturing" which sure sounds and looks rather pretty. It's kind of similar to what Valve used for the caves in Half-Life 2: Episode Two -- let the computers do math and walk away!

But I'm not Mr. Betts, so I'm using a much more pitiful and simplistic thing.

Here's the shader I've been using for my projects, slightly modified from something I found on Unity3D Answers a long time ago. I found it after a lot of fruitless digging through significantly worse implementations -- one editor script destructively re-UV'd all the meshes in your scenes, the other script did some weird thing with material offsets -- just leave that all at the door and use a shader-based solution, trust me.

Tuesday, May 10, 2011

Now in the pipeline...

I'm playing with the Unofficial Portal 2 SDK.
UPDATE: huh, well whaddaya know, the real SDK is now up.




"The Meat Pack." Incredibly hard Portal 2 levels coming to a \sourcemods\ folder near you, this summer.

Monday, April 25, 2011

Also in the pipeline...


Prototyping a medieval baseball sidescroller for class: you're Troy Percival / Sir Perceval, famed professional baseball player / naive knight raised in the woods. Heavily dependent on a mechanic stolen from Cactus' Norrland. Will your reckless / senseless quest for strikeouts and saves consume you, or will you die triumphantly on the pitcher's mound of the 2002 World Series?

... Also considering a zombie mode. Quickly, strike-out zombified Derek Jeter before the infection spreads to the castle!