|Posted by - on 2004/08/04 12:38:27|
|Figured with Doom3 out now, we should start a seperate thread from the other Doom3 thread dedicated solely to getting into mapping for it. Ask questions, post some tips you've seen posted elsewhere, etc.
Myself, last night I quickly attempted to open the editor (run doom3 with +editor for a setting to open it), but it opens in whatever my Doom3 resolution is, and I don't have a mouse pointer :( Makes it difficult to map.
I'm sure issue will be solved through some settings, and this is the perfect place for them, so we can all learn the new little tricks together.
Thanks to AceC at #ddom3world and RaP7oR in #tf for the following:
To have the editor run in a windowed mode (if your game isn't -- and who would want that?), and make it more accessible to run doomedit with say, IRC, add have the following in the properties window for a seperate doom3 shortcut (in the "Target:" box)
"C:\Program Files\Doom 3\Doom3.exe" +editor +seta com_allowConsole "1" +seta r_fullscreen "0"
Works for me.
The one major thing to note is the difference in compiling your maps compared to the 'Quake way'
D3 does vis(afaik)/lighting on the fly, so you just have to do a bsp compile. This can be done in game if you want to quickly test your map (how cool :) by typing;
Then the normal map [mapname] to load the map (or devmap [mapname] for loading with cheats enabled)
You will also instantly notice that an unlit map loads full black rather than full bright, so you'll either have to use the flashlight or (more usefully) stick a large light in to be able to see what's going on.
Oh, and pressing F2 in DoomEDIT will drop you straight back into the game, which is nice.
(And as an addition to what biff said, you'll probably want to add +r_fullscreen 1 to your normal D3 shortcut. You don't actually have to use seta in the command line anymore, just note the + rather than the - suffix)
Bah. Stupid quote tag (or foolish use of it anyway :)
Let Me Dump Some Of What I Know Already
Some of you may know this also but to get our knowledge base started:
Lights are now brushes.
Because of how very important it is to keep track of how light volumes overlap (because each light means at least 3 passes on every surface it shines on or something insane like that) lights all have definite bounds. All are rectilinear, or pyramidal.
For a rectilinear light, that's your basic area light. The pyramid is basically a cone but since it's projecting a square image it's a pyramid, thus being a spotlight.
The actual size of a light is determined by two things - the origin and the bounds. The origin is the usual diamondy light thing, and you can define three radii for X, Y, and Z. The volume is always centered on the light entity itself, and the light will fade from the center to the edge of the volume.
You can, however, make the engine fake that the light is originating from somewhere else. The pool of illumination you might want right by the floor to mimic light from up above, but that would mean the shadows would have to be cast from that direction. In the light editor you can check a box and move the light's perceived origin away from the diamond (it becomes a pink square) wherever you like. Note that if you move it into a brush the light goes dark because the whole room is now in shadow.
Note also, that to actually illuminate walls and floor, the light volume has to extend past the walls. Since the light's intensity at the edge of the volume is zero, if a light volume is the size of the box it's in then someone standing next to it will be lit nice and brightly on his face, but his feet will extend into darkness and no walls will be lit.
This means that your light volume might extend into other rooms. I presume Carmack was intelligent enough to cull lighting based either on vis or on shadowing, so there probably isn't any worry about a light from a room next door slowing down rendering in the one you're in despite not doing anything. I have not, however, tested this.
Light volumes also split the faces of the world where they intersect. Poly counts in this game are basically "nothing you need to worry about," but it never hurts to try and keep your lights close to the grid and not overlap them in terribly funny ways. So, of course, the default light radius is nowhere near the grid at a rather stupid 300x300x300, ensuring you have to change every light.
Lights are also no longer just gradients. You can create an image for whatever light you like. The flashlight is a good example of that, but nearly every light in the game is like this as well. Even the default light has an image with a kind of squarish gradient in it. When you see the soft-edged shadow of a spinning fan, it's actually a projection of a shader with a rotating texture pass. Lights casting a chain-link pattern on a wall usually aren't shining through the chain link fence, they're just an image of a blob with an X pattern over it.
That can lead to some pretty cool shit. See: stained glass windows, film projectors, etc.
Much more from me later.
Forgot to add, if you create a light with a shader that's basically a full white image, you'll create a box of fullbrightness cast from a central point, that doesn't fade towards the edges. Fade is determined by the shader image itself. If you create a spotlight, and the shader assigned is a black image with a filled white circle, you'll have a spotlight with no penumbra.
Area lights are by default projected from above. So, if you have that white circle light on an area light that intersects with walls, you'll have a circle on the floor but rectangles on the walls where the circle intersects them. See what I mean? AFAIK the only way to rotate the projection of an area light is to rotate the entity itself, but that makes it hard to work with because then you don't know what X is Y to what Z in what direction who what X whatever.
Where x is some number, 5 is 1024x768, 4 is 800x600, you should get the idea.
Scampie - when I started mine up, I had no mouse pointer, when I added +r_mode 5 to the short cut, all was good.
My DooMed shortcut looks like this
"G:\Doom 3\Doom3.exe" +editor +r_mode 5 +r_fullscreen 0
I Lurned This Tonight:
Materiallist.txt is not necessary.
To start the editor in the basedir of a mod, start doom3 itself with "+set fs_game whatever", and the editor will work out of the mod folder and fall back on /base/ as usual.
Scampie, here's the MEL for the light arrangement. To the unintiated, I'm doing my normal maps in Maya, and have this bit of code to slap in the correct arrangement of lights to create the RGB contour.
// Make the default lambert white so I don't have to fuck with anything
setAttr "lambert1.color" -type double3 1 1 1 ;
setAttr "lambert1.diffuse" 1;
// Create the five directionals, and position them
defaultDirectionalLight(-0.5, 0,1,0, "0", 0,0,0);
rotate -r -os 0 180 0;
move -rpr -z -12;
defaultDirectionalLight(0.5, 0,1,0, "0", 0,0,0);
move -rpr -z 12;
defaultDirectionalLight(-0.5, 1,0,0, "0", 0,0,0);
rotate -r -os 0 -90 0;
move -rpr -x -12;
defaultDirectionalLight(0.5, 1,0,0, "0", 0,0,0);
rotate -r -os 0 90 0;
move -rpr -x 12;
defaultDirectionalLight(0.5, 0,0,1, "0", 0,0,0);
rotate -r -os -90 0 0;
move -rpr -y 12;
// Create the ambient light that compensates for shadow lights
defaultAmbientLight(0.5, 0, 1,1,1, "0", 0,0,0, "1");
move -rpr -y -12;
// Orthographic camera looking down at this beautiful arrangement
camera -centerOfInterest 5 -filmFit Fill -orthographic 1 -orthographicWidth 16; objectMoveCommand; cameraMakeNode 1 "";
rotate -r -os -90 0 0 ;
move -r 0 12 0 ;
setAttr -lock true "orthoCamera.tx";
setAttr -lock true "orthoCamera.ty";
setAttr -lock true "orthoCamera.tz";
setAttr -lock true "orthoCamera.orthographicWidth";
// Layerize it
select -r greenDark greenLight redDark redLight blueLight ambientLight orthoCamera ;
createDisplayLayer -name "utilities" -number 1 -nr;
The orthographic camera it creates will face onto an area 16 maya world units on a side. Model to that scale (use the grid!), being sure to remember which direction is up on your surface. The bright red light should come from the right, and the bright green from below.
Render at whatever native size you want - I do 512x512 - and it will frame perfectly. RENDER AT INTERMEDIATE QUALITY. Production quality will anti-alias a black border into the image along all the edges, which you don't want. You're better off rendering at a higher res than you'll eventually use, and scaling the image down in Photoshop.
You're really all over this stuff.
I'm probably not even going to run the editor until I finish the game. I just got it by the way.
Thanks For The Info Lun
You the man. I'll be getting into some editing late this weekend I suspect.
Specially with the light info -- I had figured out the directional thing with the lights from playing with the id maps, but you've saved a great deal of time with notes =D
This all sounds slightly more complicated than Worldcraft. :)
Yeah It Does!
Something tells me there wont be a huge number of mappers for D3. I suspect a rather large learning curve with this new engine.
While this may _sound_ bad I dont think it will be. I just means that what mappers we do get will be a bit smarter than the average bear, and will likely mean better maps. So... if any of you big-brains need a play tester ;)
Intelligence is not the determining factor in learning to map for a game; it helps but it's not the most important thing.
Determination is more important and unfortunately there are alot more determined people out there than there are intelligent people. So enjoy the first month or so of crappy Doom/Doom2/Quake remakes and box maps with 10 cacodemons, because people out there are determine to show you they can make a map for D3 :D
I'd Have To Disagree
I'd be more inclined to think that there will be a huge amount of mappers for Doom3. Consider the following:
- the editor is radiant; anyone who has mapped for any Quake 2 or Quake 3 engine game is pretty damn familiar with it, and there's tutorials available on the basics of the editor.
- Doom 3 engine looks so good that it will probably attract new mappers, or drag them away from other games.
- in some ways D3 editing is actually _easier_ than earlier games; there's less worries with compiling the levels (you just run the BSP, yeah?), you have real time lighting previews in the editor
, the bump mapping and all that business makes it easier than ever before to make a map look good, even if its just a simple box room (look at some of the Doom 3 maps!)
- the level of control you have (I assume, from looking at the levels) over moving geometry, lighting, etc is great, and will allow people to do things they've wanted to do before but weren't possible in older engines.
- You have the editor and all the media if you've installed the game, you don't even have to download it!
- They've included all the .map files in the game paks! That makes it pretty damn easy to figure out how things are done, and gives people the opportunity to use bits of the id levels in their maps if they so desire.
- Because the interest in Doom 3 mapping will be huge, there's already tutorials and stuff popping up, even easy to follow video tutorials (from what I'm told) for newbies! You can't get much better than that. They're available here btw, if it wasn't already posted: http://www.planetdoom.com/leveled/videotuts/
I'm glad you guys feel the need to debate if there will or will not be a doom3 map community, but this is a editing tips and tricks thread for those who would like to start working toward one, so go discuss elsewhere.
Today's trick/tip? "J". This magical key opens the light editing window. You wouldn't believe how much of the time I spent last night just starting with the editor was wasted trying to figure out why the fuck I couldn't change the brightness. Lunaran's explination of the game's lighting makes more sense after seeing it in action in the editor.
Just To Piss Scampie Off By Continuing The Discussion....
It seems very easy to make good looking doom3 maps as long as you stick with the id content. If you want to make your own textures, models, scripted machinery, , gui scipts though it will of course require a lot of work.
Mapping Tip #1
If you want to make your own textures, models, scripted machinery, , gui scipts though it will of course require a lot of work.
The greater part of success comes from doing what others are not willing to do.
I Always Thought
the greater part of success was lots of beer and women?
It's a part of the success as well, but not in mapping..
I was curious to see what type of methods you all are using to caulk your levels for performance. I understand now, thanks to non/grind that it speeds up the bsp compile dramatically, and provides better performance in game as it does not draw any texture on its faces. The question I have tho is exactly how you guys go about using this caulk texture. To you all build the rooms and halls in the caulk then go back and texture just the visible faces? Or, like I have been doing do you create your work then just select all the outside faces and apply the caulk that way. The way I've been doing it however probably isn't the most effect as I've skipped over the brushces with metered angles, or brushes that come up against one another. I've also heard people just creating the room with the regular textures, then remember what textures they used, selecting everything inside a large brush, then auto caulking. Then of course they go back and retexture the visable faces. Any comments, suggestions?
I was reading elsewhere that the kind of obsessive caulking of non-visible faces people (including me) use in Q3 engine maps may actually be a bad thing in Doom 3. Apparently the stencil shadows are cast from faces whose where the normal faces away from the light rather than towards it - so there is potential for caulking non-visible faces to actually cause the shadowing to fuck up.
Haven't tried this myself yet though so this may be entirely untrue of course!
Going One Further Shallow
from what I've read of various tests, there's no reason to caulk everything anymore anyway since the game is really good in removing unseen faces as is. Plus, there aren't anymore structual/detail brushes anymore, so the use of caulk-hull techniques is out of the question.
who caulks the outer faces of structural hull brushes???
I've also wondered myself why people would caulk faces that are going to be culled anyways.
You must be logged in to post in this thread.
Website copyright © 2002-2021 John Fitzgibbons. All posts are copyright their respective authors.