Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Stannum
May 8, 2005

TTerrible posted:

The latest Descent Underground update has pimped Battlescape Infinity. I'm tempted. Is it bad? Help me bestthread.

It is good. However, I'm one of the artists working on it so I'm a bit biased.

Adbot
ADBOT LOVES YOU

Stannum
May 8, 2005

The station rings are broken in a new way...

https://youtu.be/vrL8M4aG7VU?t=121

At 2:04 you can see that the ring rotation isn't constrained to a single axis.

Stannum
May 8, 2005

D_Smart posted:

...Just think, when croberts shilled even Infinity Battlescape, it didn't make a dent...

It made a noticible dent and then when you made positive comments about us on twitter we saw it drop a bit. People are pretty petty when it comes to you, lol. Oh well, we made it in the end.

Stannum
May 8, 2005

Toops posted:

Yo guys, I just wanna let you know the weekly update for Solar Plebeian is coming, but this last week was a bit different.

I've really needed to stop and take some time to solidify the asset creation workflow. That means a lot of learning on my end, because I have a pretty amateur theoretical understanding of modeling, materials, lighting, etc. I've been learning on the fly, which is cool, but this last week it became apparent that just grabbing 3d assets and "plugging them in" to the game engine is back-loading the game with tech debt.

So this week I decided we're going to use a metallic PBR (physically-based rendering) workflow using Unity's standard shader. I'm gonna make a "tutorial" video detailing how we go from base 3d model to rendered in-game asset. This is a bit geeky and technical, but I think it's pretty interesting poo poo. At a high-level, the workflow goes like this:

1. Create 3d model in a modeling program (think of this as the sculpting process)
2. UV-unwrap the 3d model (in modeling program) to create the base texture. This is the stimperial process of peeling the skin off the surface of a 3d model and spreading it out on a 2-d plane (the letters "U" and "V" are just the "X" and "Y" axis of the 2d plane that texture is projected on. This is because the x, y, and z axes are already used in the 3d model view. I'm excited about this because I just recently learned what that means and wanted to share it with you all).
3. Import the 3d mesh and UV-unwrapped texture into Substance Designer which is a pretty incredible texture/materials creation tool with full Unity 5 integration
4. In Substance Designer, create the 5 textures to be used by Unity's standard shader:
4a. Diffuse (aka albedo) - this is the base texture that describes how the texture us colored
4b. Normal - this describes what angle light should bounce off a given section of the texture (Chris Roberts apparently thinks this technique is "cheating")
4c. Roughness - Scuffed-up concrete isn't as shiny as polished marble. Basically this grayscale texture describes what parts of the image are smooth/shiny, which are rough/non-reflective
4d. Metallic - This defines what parts of the image are metal, and which are dielectric (non-metal, like plastic, concrete, wood, etc
4e. Ambient Occlusion - What parts of the texture reflect indirect light. So high ambient occlusion on a texture means light that has already bounced will bounce again and reach the camera. Low AO means indirect light will be absorbed.
5. Import the 3d mesh, and Substance Designer output into Unity. Unity has a SD plugin, so I can continue to tweak the diffuse, normal, roughness, metallic, and AO textures directly to get the model looking how I want. It's incredibly badass.

Defining a consistent workflow for how textures are built and combined to create materials in Unity is really important. Despite my allergy to spending too much time on bling bling, I want to clearly define this process so that I can more quickly bring in assets and make them match the art style. I've been spending a lot of precious time just thrashing around trying to jam assets into the game. It's really eating into my dev time, so I had to shore this up, and unfortunately, since it's really not a core competency of mine, I have to take a lot of time learning. Although it's fun and I'm enjoying it, this has an impact of demonstrable progress until I get up to speed.

I'm still not sure what the art style is, but having this workflow in place basically allows me to quickly modify assets and iterate so I can arrive at the style I want. This will also help any contributors build assets for the game in a streamlined way. I need to be able to clearly/succinctly communicate to people exactly what my needs are.

Ok, sorry for sperging out there guys, just wanted to give an open, honest update about where I'm this week. I'm actually gonna put out a tutorial video about SP's asset pipeline this week to show you guys what I'm talking about.

Check out Ipackthat for UV packing. It will easily save you a shitload of hours in the uv packing process. I hardly ever do any manual packing anymore.

I prefer Substance over Quixel, but Quixel has a vast amount of preset materials and might get you started faster. Quixel is also probably cheaper.

For anybody interested in Substances here's a quick overview of how it works. Substance are node graphs that have inputs (textures, other node graphs), operators (blending, warping, levels, all kinds of stuff), outputs and spaghetti. This is how a simple substance graph looks like:


One of the cool things about substance is that values that are used can be made into user parameters. You can create a complex substance and then expose values to control, for example, the amount of scratches paint should have or how rusted the metal should be. This album shows a bunch of stone variations: http://imgur.com/a/Yxj0f Its just one substance file with a bunch of exposed parameters that artists can change to create all kinds of variations.

Stannum
May 8, 2005

KiddieGrinder posted:

Another tip: Don't be afraid to utilize height maps in S:D, and then export those combined as a normal map and make a new S:D project with the new normal map.

Basically my typical workflow is: Model something in max and bake a normal map, take those in to S:D and add little details to the normal with height maps (I think it's a Height Normal Blend node). Then take THAT final normal and create a final S:D project I can get my curve info, world space normals, AO, and other stuff from to make an awesome texture.

You should give the Substance bakers a try. The normal baker supports a bunch of different tangent bases and you can also create plugins if you need others. I prefer to have keep all asset stuff in the same substance file.

Adbot
ADBOT LOVES YOU

Stannum
May 8, 2005

Oleyo posted:

SMH. "Crysis level detail on a GLOBAL scale..."

Let's actually see this before proclaiming it as fact, hm? Also, he calls out the infinity guy(s) for not having space to planet, and having a 'loading' screen. That guy has been plugging away at that engine for over a decade. I know, I have checked in on it since the early aughts, myself. I am pretty sure he made the game only because he loves building the seamless planet stuff.

This is from 2006! https://www.youtube.com/watch?v=DCzDKj3hjOE

I actually feel a little bad for the guy. He could never sell the engine, but people clearly want this stuff in games.

Amazing... We have hours of footage showing seamless planet transitions and they still think we're using :airquote: loading :airquote: screens.

:smithcloud:

  • Locked thread