I figured I can't really get away with rewriting an entire ent to reflect modern tools, without creating some examples and experiments with the product of my rewrite. That being said, this first post will regard light and brush keys.
I would like to add that I don't exactly understand all of which I am going to show you here, and in those cases it's not so much about explaining the feature as it is about realizing the results.
I would also like to add that, these are experiments and I am not a pro so, the techniques I show you here may not be the best technique to use. It will take someone with more knowledge than I to enlighten you further.
It is also highly recommended that you use my ent for tyrutils AND the virtuoso game pack. You do not have to use these things but, if you are it will make it much easier to follow this experiment. In the case where you aren't using the recommended set up:
1) Every time I fill in a value, you will have to manually type the key and value
2) Every time I compile via the build menu, you will have to have some other system present for compiling using tyrutils
3) Every time I simply click RUN MAP, you will have to have some manual/other system in place.
...And with no further ado, the actual experiment:
?Brush Lighting?
Before you begin, you should create a room, texture it, add an info_player_start and 1 light. Then you should create a brush, texture it, go in face select mode, select a face and change the texture for that face into any texture you want that is not currently in use. Place that brush on the ceiling with the "rogue" texture facing down. This is our template we will be working with.
REMEMBER: you must add the full qualified path of your wad to the worldspawn entity in the Wad File field. Failure to do so will result in your room being completely black in this example.
It doesn't have to be anything special, this is just an experiment. You may also notice that I drug the light completely out of the map. This isn't what you would want in a real map. It just makes it easier for us to select it and it's fine for this experiment. Before I go any further I would like to add that the values you need to use will in most cases be different than mine. The chances that our rooms are identical in dimension are very very slim.
Let's begin with the light. Select the light and press N. This will bring up the entity inspector. If you are using my ent you will notice there are a lot of options. For this experiment we only need a few of them.
The purpose of this experiment is to light a room with a fair ambiance using only one light. That being said, I chose 400 for my light value because my room is a little big. I may need to change this value but for now it's good enough. Since my room is big I also used a delay of 1 to stretch the attenuation of the light a bit. I want sort of a pale yellow light so I put the values in color that equal a pale yellow. I gave deviance the value of 64 because due to my original experiment this was a good amount of units away from the light source to create a sphere of lights in. If you don't understand this, all of the docs are right there in the entity inspector and you can use them to gain greater understanding. I then chose 16 samples because my earlier experiment looked good breaking my light into this many lights. Finally I used the name of what I referred to earlier as our "rogue" texture as the surface value. This turns that texture into our light (everywhere on the map that that texture appears with the same values you put on this light, which may or may not be good.)
Now let's move to the light brush. Select it, right click and choose func_wall. The reason I am doing this is simple. I need to make it an entity so I can use more tyrutils possibilities but, I want it to be an entity that has no functions. I don't use func_detail because that has other implications in the compiler.
Here we only set 2 values. I set minlight to 200 because if we don't the sides of our light will be solid black. I set shadow to 1 because I want this brush to cast shadows on the ceiling.
You can now select BUILD/TYRUTILS to compile. If you are not using any of my stuff the build commands are as follows.
qbsp.exe mapname
vis.exe -fast -threads NUM mapname
light.exe -extra4 -soft -dirty -threads NUM mapname
I had to turn my light down to 200 and move my deviance up to 128 but, as you can see, whereas not awesome, this is workable. More tweaking between light, deviance and samples could probably make this look pretty good. The light itself (actual texture) looks kind of hot. This could easily be fixed by simply editing the light (texture) to not be so white. Backing off the delay and changing light,deviance,samples may also work. There may even be a way to include another light and implement shadowself. Notice how the minlight setting kept the sides of our light pretty dark but it isn't straight up black.
Anyway, the point of this experiment wasn't to show you how to professionally light a map or anything. The point was to introduce you to some of the new features in the tyrutils compilers and give you ideas on how you can creatively accomplish certain goals. You should play with the settings more. Build another room and dump a copy of your func_wall in it. Rotate the light to go on a wall. Attempt to gel your values so both rooms look good with just the conglomeration of your one light.
The main point is to simply enjoy what you are doing.
Peace.
I would like to add that I don't exactly understand all of which I am going to show you here, and in those cases it's not so much about explaining the feature as it is about realizing the results.
I would also like to add that, these are experiments and I am not a pro so, the techniques I show you here may not be the best technique to use. It will take someone with more knowledge than I to enlighten you further.
It is also highly recommended that you use my ent for tyrutils AND the virtuoso game pack. You do not have to use these things but, if you are it will make it much easier to follow this experiment. In the case where you aren't using the recommended set up:
1) Every time I fill in a value, you will have to manually type the key and value
2) Every time I compile via the build menu, you will have to have some other system present for compiling using tyrutils
3) Every time I simply click RUN MAP, you will have to have some manual/other system in place.
...And with no further ado, the actual experiment:
?Brush Lighting?
Before you begin, you should create a room, texture it, add an info_player_start and 1 light. Then you should create a brush, texture it, go in face select mode, select a face and change the texture for that face into any texture you want that is not currently in use. Place that brush on the ceiling with the "rogue" texture facing down. This is our template we will be working with.
REMEMBER: you must add the full qualified path of your wad to the worldspawn entity in the Wad File field. Failure to do so will result in your room being completely black in this example.
It doesn't have to be anything special, this is just an experiment. You may also notice that I drug the light completely out of the map. This isn't what you would want in a real map. It just makes it easier for us to select it and it's fine for this experiment. Before I go any further I would like to add that the values you need to use will in most cases be different than mine. The chances that our rooms are identical in dimension are very very slim.
Let's begin with the light. Select the light and press N. This will bring up the entity inspector. If you are using my ent you will notice there are a lot of options. For this experiment we only need a few of them.
The purpose of this experiment is to light a room with a fair ambiance using only one light. That being said, I chose 400 for my light value because my room is a little big. I may need to change this value but for now it's good enough. Since my room is big I also used a delay of 1 to stretch the attenuation of the light a bit. I want sort of a pale yellow light so I put the values in color that equal a pale yellow. I gave deviance the value of 64 because due to my original experiment this was a good amount of units away from the light source to create a sphere of lights in. If you don't understand this, all of the docs are right there in the entity inspector and you can use them to gain greater understanding. I then chose 16 samples because my earlier experiment looked good breaking my light into this many lights. Finally I used the name of what I referred to earlier as our "rogue" texture as the surface value. This turns that texture into our light (everywhere on the map that that texture appears with the same values you put on this light, which may or may not be good.)
Now let's move to the light brush. Select it, right click and choose func_wall. The reason I am doing this is simple. I need to make it an entity so I can use more tyrutils possibilities but, I want it to be an entity that has no functions. I don't use func_detail because that has other implications in the compiler.
Here we only set 2 values. I set minlight to 200 because if we don't the sides of our light will be solid black. I set shadow to 1 because I want this brush to cast shadows on the ceiling.
You can now select BUILD/TYRUTILS to compile. If you are not using any of my stuff the build commands are as follows.
qbsp.exe mapname
vis.exe -fast -threads NUM mapname
light.exe -extra4 -soft -dirty -threads NUM mapname
I had to turn my light down to 200 and move my deviance up to 128 but, as you can see, whereas not awesome, this is workable. More tweaking between light, deviance and samples could probably make this look pretty good. The light itself (actual texture) looks kind of hot. This could easily be fixed by simply editing the light (texture) to not be so white. Backing off the delay and changing light,deviance,samples may also work. There may even be a way to include another light and implement shadowself. Notice how the minlight setting kept the sides of our light pretty dark but it isn't straight up black.
Anyway, the point of this experiment wasn't to show you how to professionally light a map or anything. The point was to introduce you to some of the new features in the tyrutils compilers and give you ideas on how you can creatively accomplish certain goals. You should play with the settings more. Build another room and dump a copy of your func_wall in it. Rotate the light to go on a wall. Attempt to gel your values so both rooms look good with just the conglomeration of your one light.
The main point is to simply enjoy what you are doing.
Peace.
Comment