Back to search
Star Citizen Live ·
Published on this date.2020-02-28
· 11 Q&As

Star Citizen Live: Painting Planets

A developer demonstrates the planet-painting tool, which uses temperature and humidity textures to place biomes, snow, rocks and dark patches across a whole planet at once. They also cover height data, the V4 planet rework including Hurston's mountains, rock density, and why Daymar has no ocean yet.

Transmission log

Full answers

What's determining the area that you're affecting? You're moving your mouse and it's selecting different areas, and we can see what areas you're selecting in the blue, but how is it determining what you're hitting and what you're not hitting?

TL;DRThe painting highlight comes from a procedural temperature texture and a humidity texture blended together, so painting affects every spot on the planet sharing both values.

Patrick GladysSenior Environment Artist, Frankfurt

So the thing I just talked about, which is that very simple texture that drives everything, is basically what is being highlighted here. And it's different portions of that texture. We can take a look at it right now if you want to. But before I do that, I can basically just go through and stroke in here one more time so you can see that changes can be done quite easily and very fast. So now we're in a tool called Substance Designer, where we generate most of our content when it comes to ground materials, textures and so on. It is entirely procedural. So you see there are these large chains of operations going on, starting from noises, and then we start modifying them and stuff like that, without going into too much detail here. But at some point, when we start with a simple noise like this one, which is a Perlin noise, and we go all the way to the right where it basically shows the end result, because the entire graph is calculated from left to right, this part here is the result of it. So we end up at something like this. So what are we looking at here? I have talked about one texture, but we're clearly seeing two things. And what are these two? If I visualize it like this, so basically I just took that grayscale information from here and applied a little color to it to make it a little more obvious what this is all about. What we're looking at is the temperature information of our planet. And to further visualize that, I can actually have a view on my sphere here. So let's say this is our planet. As you can see here, the texture, if I chose the grayscale version of it, you can see that the dark values of the texture are at the top and bottom of the sphere, which is basically our North and South Pole. And around the equator, also if I view this texture here, you can see that here, the top and the equator here, this correlates, because it's mapped on the sphere right now. So around the equator we have the brightest values, which means the temperature there is greater than it is around the North or South Pole. So we have kind of a representation of what the temperature is like on our planet, and also these deformations and such, because you don't want it to be simple. There are all kinds of things going on on a planet, like mountains and oceans, and all of these things can influence how the temperature can behave on the planet. For example, if you go up a mountain, you would expect the temperature to drop gradually as you're moving upwards. That was the top one. Simple, temperature. Let's look at the bottom one, which is our humidity. Humidity and the temperature are basically combined in the end and saved out as one texture. But that one texture basically combines the data set, these two textures, so the information of our temperature and humidity. So I can also visualize that on our sphere here. And you can see that the humidity isn't simply a gradient going from the North Pole to the equator; it has a lot more breakup to it. There's a lot more variation going on. The humidity is also usually influenced by things like the ocean and mountains and such. Basically, these textures are completely artist-driven. We can create whatever we like. If I decided to swirl up that texture, that would actually be my humidity. So I'm entirely free to do that. Nothing stops me from doing that, except for maybe our art director, who would really dislike me for doing that. So we can do anything. There's no limits, but we try to at least have it be based on some physical phenomenon, like some phenomenon in weather and how mountains influence these two, and as I already said, oceans and maybe wind currents and all of that stuff. So we try to work as much of that information into these two. And the more precise it is, the better. But also we have to watch out and look for specific shapes that are in there, because if we go back to the editor and pick our painting tool again, these shapes are precisely what the painting tool will start picking up on. So if there was no variety in this texture, I couldn't get these interesting shapes that you see on the planet or moon right here. So this texture gets combined and exported, and then it looks a little funky. It looks like this. But that doesn't really matter. In the end, it's really the individual channels that the texture is made of that matter to us. So why can I paint on the planet like this? How are the textures combined and how can I paint on them? So you see that the highlight is around the equator now, and it's because around the equator I have a specific humidity value which is different from another spot on the planet. Oh, this is actually a good one. We have this brighter area and this darker area here. If I hover above it, you can clearly see that my highlight changes. That means that the data underneath is changing as well from this spot to that spot. Because if it was the same data, this would all be white or dark, or bright sand or dark sand. And I can further visualize that by simply picking the planet and then showing you, here is the humidity. So for example, here where we get brighter values, it's very humid. And then here in the darker areas, it's very dry. If I had to compare that to, let's say, Earth, where you have the same temperature... Let's look at the temperature again, because you can totally see that we have mostly brighter values here in the temperature, which means there's a very similar temperature in this region, but still I get a different look because the humidity differs. So let's say it is hot and dry. You would probably expect a desert. But if it was hot and very humid, you would probably expect a jungle that's very lush, and the humidity would be super high if you entered the jungle. So this is how we can control and have variety even though we are in the same region when it comes to the temperature. If I hover just around the equator, you can see how that highlight never reaches the pole, because at the pole we have a different temperature, and therefore I can paint this area individually from this area.

Because it's taking a measurement between the temperature and the humidity.

Patrick GladysSenior Environment Artist, Frankfurt

Exactly, because both data sets of temperature and humidity are working together at all times. They are basically being blended together and they work at the same time, not individually. So you're using both at the same time when you paint.

Star Citizen Live·
Published on this date.28 Feb 2020

What was that gradient square we were looking at earlier?

TL;DRThe gradient square condenses the planet's temperature and humidity range into one square, so painting it quickly changes all matching areas of the planet, which artists use as a time-saving workflow to block in biomes.

Patrick GladysSenior Environment Artist, Frankfurt

That gradient square, if I find it on the planet here. It was right around there. It is basically just the same data that is spread over the entire planet. If I just turn on humidity again, it's basically just the entire data range from the dark values to the bright values, from 0 to 255, and it's basically just condensed into a square. That's purely an artist kind of workflow that we came up with in order to, depending on what we do, save ourselves some time and work. Because if, let's say, I paint on this square, you can see that the entire planet changes as well. So if I want to save some time and be quicker in my workflow, I can simply start filling out this entire range here in the square, because it correlates to my entire planet. So we can try that out. I still have my white color selected and I'm going to tint this top left corner of the square. And now let's take a look at the temperature. Okay, the temperature in the top left corner seems to be cold. And now if I look at the humidity, it is in that case low as well. So it's not very humid and it's very cold. So what area on my planet describes very cold and dry areas? If we take a look, you can see that the area that describes these two are actually my poles. If I check the North Pole and I check the South Pole, there's even some more areas out here that also share this data, so they automatically get that color applied. I could do the same for, let's say, very hot and dry places. So we would go down, because it's hot, and then dry would also be here. So you can already see that the highlight is showing the exact same spot that we're viewing here. So it doesn't matter if I hover my mouse over here or actually on this square, because it's showing me the exact same data and spot. So in the end, I can just go in and start painting on this square. Do very, very little areas of modification, very condensed in just this little spot, but actually I'm influencing large portions of the entire planet and changing them right away. It's really just an artist workflow to speed things up. We can, for example, go in here and define a couple biomes: okay, we have the snowy areas in here, or maybe we have scorched, volcanic areas over here. I'm just visualizing right now with two colors. And then that's how we basically block in the individual areas that we want as biomes. Because it's the hottest and driest here and the coldest and driest here, so that kind of makes sense. If you know a little bit about weather conditions and temperature zones and biome distribution when it comes to planet Earth, you know that around here, somewhere in between the equator and the North Pole, there would be our temperate zone. So that's where most of Europe lies. That's where you have the broadleaf and needle-like pine tree forests and such. So I could already go in and block that out and be like, okay, this is where I want these areas to be. And then maybe we're moving further up to a tundra kind of environment, so I can start visualizing that. Of course, this is not final quality at all, but we would first determine where do I want these individual areas to be on the planet and how do I want them to sit, and use the data that is provided to me with the textures that I have actually built myself. So the painting passes and these two textures, they go together. One determines how the other thing looks or can behave. Of course, I can use the same data and do different kinds of paint passes. And we do that on some of the moons, but the players never notice, because we can give them the same data but give them an entirely different paint pass, so they look different and unrecognizable. It's unrecognizable that they are actually using the same data. So for example, I can just go in here and be like, okay, around my poles I want a region where it's just ice or something like that, and it transitions over all the way to my pine needle forest, and then there come the broadleaf forests or something like that. So we can decide quite easily and quite swiftly where things go.

Star Citizen Live·
Published on this date.28 Feb 2020

How do your color-coded sections translate into what players see? Because obviously they don't see this; it looks like Microsoft Paint color over the moon.

TL;DRWhat players see is color painted by artists, first as rough blocking and then detail passes, and any paint affects everywhere with the same temperature and humidity data, with no blending between ground and orbit views.

Patrick GladysSenior Environment Artist, Frankfurt

Yeah, right now it does, because I'm basically just blocking in huge areas with different colors. But if I just reduce my brush radius, and then once I'm happy with the entire layout of what I'm putting down here, I can then do a second detail pass of where things might go. So I'm again picking the snow, or white, and I'm basically going in and working on transitions, or how the snow kind of blends in with all the other areas. So simply just by clicking, I can determine where these things should go. And then if we go down, I can even go down to a ground level. Oh, this is dark now; let me go to a spot where it's actually bright. So I can go all the way down to a ground level and then basically paint in quite detailed areas of snow, where it sits and how it blends into the entire rest. As simple as that. So we start off like that, but everything that the players see on the planets right now, and the entire color information, is actually painted down like this by an artist. It's just that if I went back to that spot again and I wanted to start doing my detail passes, I can, for example, increase the smoothness here and then reduce the opacity of the brush, kind of like you would know it from any other painting tool. And then I can start detailing these areas out, or take a contrast again and add a bit more detail. And then you can kind of see how it picks up on a lot of the information that comes with the terrain, and I'm basically filling that information with color. And that's basically how artists go in and work through the entire planet, or that simple square that I have shown you, until they get something like this. So someone actually went in and applied these darker areas of sand and brighter areas of sand. But the important thing to note here, even if I'm looking at this specific pit, and some artists have to wrap their head around this before actually starting to construct planets, is that painting this area doesn't mean that I'm just painting this area. So if I would just zoom out now, you can kind of see that I'm actually affecting a huge portion of the planet. Just by painting that one pit, I would change the entire area that's blue right now. Any small, minute modification that I do to the planet is represented everywhere else where the humidity and temperature data is the same as at this spot. So if I now enable temperature again, this is not very visible, but maybe it is visible on stream: there's very subtle grayscale differences here. Now let's look at humidity again. The humidity is a bit more. So you can see that the pit here has different humidity values than those protrusions or these hills here. So every single height information that we have on the planet that's basically covering the surface, let's say the mountains and such, hills, or these mountains here, they are all coming with the same set of data as the planet does. And then we blend them together in that way, which is super different from how V3 worked. Let me demonstrate. People probably already noticed by playing, but I can simply go in and pick some crazy color like this. Let's find a good spot, like this. And now if I zoom out, all the way from ground to orbit, you can still see it; it still represents a pixel on your screen. It's still there. And the cool thing about it is there's no blending happening between a planet texture and a close-up ground texture, which is fantastic. Because that way we could provide for details not just looking as if they would represent what's close up, but they are actually what is there close up as well. There's no blending happening in between this view and an orbit view. It's the exact same data we're looking at. There's no change happening when I fly out of the planet like this, which was fantastic.

Star Citizen Live·
Published on this date.28 Feb 2020

You touched on elevation a little earlier. A lot of folks in chat are asking how elevation factors into any of this.

TL;DRElevation isn't factored in by default, but subtracting the height texture from the temperature texture makes higher altitudes colder, which then feeds into effects, wind, color and object placement.

Patrick GladysSenior Environment Artist, Frankfurt

So elevation is not factored in by default, but when I construct these two textures, like the temperature and humidity, you see these smaller, darker bits here. In this livestream I actually wanted to focus on these two alone, but we can also take a look at the height information of that planet. So now you have another representation as a texture of where the mountains are, where there's an increase in elevation and where it's actually decreased. These darker values are lower, the brighter values are higher. So what I could do is simply take that information, give it a bit more contrast like this so I can actually work with it fully, and now take the temperature and then tell this height information to be subtracted from my temperature. I could do that. And then the elevation of the planet would be factored into the temperature of the planet, simply by me putting that information from the height data into the temperature data. And now, since I took the mountains, in the temperature I said: wherever mountains are, give me a darker value, and a darker value means lower temperature. So whenever you work up to a higher altitude on the planet, you would suddenly start transitioning from these brighter values here over to the darker values until it gets really cold. And then FX picks up on that, and the wind picks up on that, and the color information changes, and the object presets that we apply change as well.

So you just systemically change the temperature by just mixing two different textures.

Patrick GladysSenior Environment Artist, Frankfurt

Yes, because these two textures, this one describes elevation, this one describes temperature, and if I mix them together using certain math, in that case it's simply subtracting that texture from that texture, I get exactly what the people in the chat asked for, which is the height factored into the temperature of the planet. Which is cool.

Star Citizen Live·
Published on this date.28 Feb 2020

What happened to the mountains on Hurston?

Patrick GladysSenior Environment Artist, Frankfurt

Mountains on Hurston. Oh, yeah. So these painting tools are not the only thing we have changed with V4. And with the fact that we are now applying our content very differently to the planets, we had to adjust and align the content that we use on our planets, which means the mountains, the height data and stuff like that. It all had to be changed in order to work fine with V4. And that's why you might see different mountains, or maybe the elevation changed, or maybe the look changed, or something like that. I mean, it was a planet rework after all. We actually went through all the planets and reworked all of them, including the moons. Whenever we talk internally of planets, we usually also mean the moons by it.

Star Citizen Live·
Published on this date.28 Feb 2020

When you're painting right now, is this with the height map included? Because I've noticed that the way it's selecting is drastically different than it was before.

TL;DRThe height map isn't included; the different selection comes from changing the brush radius, since artists work from large rough areas down to fine detail.

Patrick GladysSenior Environment Artist, Frankfurt

Actually, it's not. It's the same thing.

It seems to be way more striations now than there were before.

Patrick GladysSenior Environment Artist, Frankfurt

Because I can increase the brush radius. So if I change the brush radius, I can cover huge areas at once. If I want snow to be there everywhere and then leave these areas as just very barren deserts but still super cold, then I could do that. But if I reduce my brush radius, you can still see the highlight, but it's much thinner now. So now I can go in and really detail out these places. And that's what we do towards the end of the process. Because, as you have probably seen enough art processes to know, Jared, we usually go from big to small, from rough to super detailed. And that's just how all artists on the entire planet work. Because with anything that we do in regards to big changes, if we're not happy with them, then any type of detail we put into them will not work either. So the base has to be established first before we dive into any type of detail and start tweaking that.

Star Citizen Live·
Published on this date.28 Feb 2020

So if you had forests in a section and then moved the temperate area, would the forest move?

TL;DRAfter changing the temperature and humidity textures and reloading the planet, forests and rocks appeared in the new areas, and objects can also be switched on or off by elevation, such as ocean level.

Patrick GladysSenior Environment Artist, Frankfurt

But we said we wanted to put down a forest, and now we actually put down two things. So we have these dark rocks and our savannah. Okay, and now let's zoom out and let's modify this so it occurs in a different area. So I'm going to go back and change my textures again. Temperature goes here, humidity goes here. And now I'm just updating that texture again. That didn't work for some reason. Let's do it again. Now it works. This thing needs to pop up in order for it to work; sometimes it gets stuck. All right, so now you can see that it changed. It just jumped a little because we changed the data. So if I go in here, you can see that this is not matching anymore, and that's exactly the reason why we have to reload the planet, because the object scattering behaves a little differently than simply applying color. So I will have to just reload that planet, and then we will see the dark rocks in these snowy areas here and the forest around them. Okay. Now I can fly back in. And you can totally see we have... wait a second, maybe here. I will explain what goes wrong here, because we are in an area where the ocean level starts to creep in, and I'll explain what happens precisely. But you can see that we have the dark rock and then the savannah right next to it. So this updated properly. So why do we get the coral spawning in here? Why does that happen? This is weird. I didn't paint this down. I didn't want this to happen originally. But what the objects can basically read out, and what they are also driven by, is what kind of elevation on the planet they are sitting on. And we can basically turn objects on and off based on what elevation level they are on. So the reason why you are starting to see coral in this area is because we are actually below ocean level. We are very close to being at ocean level. The thing is, this planet is based on Daymar, and Daymar doesn't have an ocean. So that's why we can simply hover above the ground and wonder why coral appears. But it's actually good that it happened, because then I can explain that if this was, let's say, microTech, this is how we can control that, for example, on a hill or at higher elevation, there should be these spruce tree, pine tree forests that are completely snowed over. And then as you move down in elevation towards the frozen ocean that you find on microTech, we can, for example, say, okay, at ocean level zero or minus one, and that's in meters, we want ice blocks to spawn, or shifting ice sheets on the ocean, and that way we can detail out the ocean. If the ocean wasn't frozen, we can simply turn off the frozen ocean feature, and then you can actually see different types of assets spawning underneath the ocean level.

Star Citizen Live·
Published on this date.28 Feb 2020

How hard is it to give Daymar an ocean?

Patrick GladysSenior Environment Artist, Frankfurt

We can activate it, but then the shader has to be applied and such, and it might not look great. So just adding it is no problem. I don't think that we can do it in 10 minutes, though, and make it look good. But generally, if the shading is clear and if it's all good and if it's all set up, then it's very easy, especially if we can reuse, let's say, a default Earth-like water ocean setup. Then I could simply just turn it on, slap something on, and that's it. But right now, I'm not sure how the ocean shading is set up in this build, because this is a 3.8 build, and that's when the frozen oceans came in. So for not risking any crashes, because we did changes to the ocean in this build, I don't want to try.

Star Citizen Live·
Published on this date.28 Feb 2020

Why so many rocks?

TL;DRRock density rose as scattering tech improved and budget was freed, and it now hurts traversal; they hear the complaints and are thinking about it, but it's too early to tell what the solution will be.

Patrick GladysSenior Environment Artist, Frankfurt

The more, the better. So, the rock situation. In V3, one of our big problems was that we couldn't detail out environments as nicely as we could. And the more changes we added, the more we progressed with the tech, the more budget we could free up, and the tech changed. So we were able to simply scatter more stuff than before. That's why people saw such an increase of detail in the last two years when it comes to planets in general. So that's when the rock density on the planets also started increasing. And then at some point it simply became a problem, because it started affecting traversal. For example, something like Daymar is fine. You have some rocks here and there, but sometimes it's very hard to predict where and how much of these rocks will spawn. It happens procedurally. But there's still some things that we need to figure out. It's a discussion point. It's something that we will definitely have meetings about and figure out how we can tackle the problem. Because it is, of course, a problem for design, but then art direction might want dense areas and stuff like that. So there's a conflict there. It's simply something that we will need to figure out, as with all the other stuff that we have talked about over the last years, and try to find solutions. And we definitely hear the people. We read what everyone is posting on Reddit and Spectrum and stuff like that. So we totally hear you guys and we will definitely find some solution for it. So it's too early to tell, but we are thinking about it. That's for sure.

Star Citizen Live·
Published on this date.28 Feb 2020

What was the black you were laying down? It was a very dark color; it almost looked like the surface was burned.

Patrick GladysSenior Environment Artist, Frankfurt

Oh yeah, I just painted it black. So I basically just did the same thing as we did with the snow. I painted some darker values down on the planet, swapped to my object presets, applied some darker plates to it, and here we go, dark spots on the planet. Could be anything really. Petrified roots, let's say. Again, I'm not only changing this spot right here. We are changing everything that turned dark in this area on the entire planet. So you're never just editing one area that you're looking at. That's something that people constantly have to remind themselves of.

Star Citizen Live·
Published on this date.28 Feb 2020

Coming at this from a Photoshop standpoint, do you have the ability to mask off a section? Like if you want to change everything on a planet except for one specific area.

TL;DRThe painting tool has no masking option because areas sharing the same climate data must look the same, but assigning new values to a region in the texture lets it be painted separately.

Patrick GladysSenior Environment Artist, Frankfurt

In terms of painting or texture updates?

Painting, I guess. For what we've been seeing here, do you have the ability to mask off?

Patrick GladysSenior Environment Artist, Frankfurt

So the painting tool will pick up on whatever the data is saying. Let's say, in what we are viewing right now, I want to paint this area right here, but I don't want this area on the left here to be affected. Then in the tool right now, there's no option to simply mask that area and only paint that area, because it is sharing the same data. So it has to be the same, because it's the same climate zone here. Temperature and humidity are the same on the left as they are on the right. So it has to be the same color and biome and objects and ground textures and stuff like that. But I can simply go in, find that spot on my texture here, and basically assign new values to this region than I have on this region, and then I can paint them uniquely and individually from one another.

Star Citizen Live·
Published on this date.28 Feb 2020