|
Using Qool for Unreal Prefabs By: Jim 'Willy Survive' Nobels
This small tutorial is for those people who use the quake and quake2 level editing program known as Qoole and who have become interested in creating maps in UnrealEd. The problem is that we’ve become used to Qoole’s ability to edit the vertices, edges and faces of a brush in order to make any 3d shape we want rather easily but UnrealEd’s brush editing functions are rather limited compared to what we’ve become used to. At least as of Unreal version 2.20 the vertex editing capabilities are far less than what would be desired. Maybe that will change with a later version but until then... This article is about using Qoole to create 3D brushes that UnrealEd can import and use. BSP2T3D written by Jeff "Pointdexter" Preshing is an excellent little DOS utility that will take a small Quake (NOT Quake2) map and convert it and its components to brushes in the .t3d format that UnrealEd can import. Here’s a brief description of its capabilities taken directly from its readme file: 1. Get a BSP file for Quake. For example, foo.bsp 2. Run Bsp2t3d on this file with the -a option. After running this, You should find a few .t3d files in the directory you ran it from. Example: Bsp2t3d -a foo.bsp ...would create the files foo000.t3d, foo001.t3d, foo002.t3d, etc. The first file, foo000.t3d, caontains the main brush of the entire level. Each of the other *.t3d files come from other entities in theQuake map, like lifts and doors. 3. Create a new, empty level in UnrealEd. 4. Select Brush->Import from the menus. Import the first file, in this case foo000.t3d. For the import options, choose Nonsolid and Keep Original Polygons Intact. 5. After it loads, subtract the brush from the world. Now I’ll give you a few tips... Don’t try to use BSP2T3D to convert entire maps. No matter how small they are. Learn to use UnrealEd to create your maps and use BSP2T3D to create prefabs to be added into that map. And then only use it for those prefabs that you feel are so difficult to make in UnrealEd that the situation demands that you find another way. BSP2T3D is a utility, not a crutch. On the other hand, you might have a bunch of old quake prefabs just taking up disk space that you might like to see used in your Unreal maps... BSP2T3D needs a quake .bsp file to work with. The only way I could get Qoole to output a quake .bsp file was to re-install quake on my hard drive. I’ve been told that there are ways around this but I couldn’t make it work any other way. If you figure out a way to do it without having all of Quake installed then please let me know, especially if you are using Qoole. Maybe you are using an editor other than Qoole that doesn’t require quake to be installed in order to output a quake .bsp file and that’s fine. It doesn’t matter which editor is used but only that a valid quake .bsp file is produced. Since a valid .bsp file is needed that means that your prefab needs to be part of a valid map, in other words, it has to be part of a closed map with no leaks. And the map will have to have a Player Start entity in it. The best way to deal with this is to design a big open room and put a Player Start in it. This will be your workshop. You don’t have to put any lights in your workshop unless you want it to look pretty in case you decide to look at your prefab from within quake. In this workshop you will build your prefab. Preferably up in the air where it doesn’t touch the walls or floor or ceiling. Now here’s an important tip: BSP2T3D will create separate 3d brushes for the entities (except for the Player Start entity which is apparently ignored.) Therefore you can build your prefab and then GROUP it then apply an entity function to that group and it will be converted out as a separate file and not as one big 3d brush which includes everything including the walls, floor and ceiling. This is a very useful function because otherwise you’ll end up with the entire map as a 3d brush and you’ll have to get your prefab out of it once you get it into UnrealEd. I did it this way several times before I bothered to read all the instructions that came with BSP2T3D. Here’s how it breaks down: In Qoole I made a map with a large room and a Player Start entity in it. I built my prefab in the center of the room and then grouped all the parts of my prefab together. See the pictures at the top of this page for reference. I then assigned that group as a door entity. I didn’t mess with any of the door variables as they were irrelevant to the process. I then compiled the map as PYLON01 which produced the PYLON01.BSP file which was placed in the quake\id1\maps directory. Then I opened a DOS window and went to my unreal\qoole\work directory where I keep BSP2T3D and copied PYLON01.BSP into it. BSP2T3D is a DOS program so you have to work with it from within a DOS window. Did I mention that? note: It would sure be nice if someone would write a nice smart little Windows Graphical Interface for BSP2T3D. It would make it a lot easier for newcomers to use. Once I got PYLON01.BSP into my unreal\qoole\work directory (folder) where BSP2T3D is located I typed in the following: bsp2t3d -l pylon01.bsp and the following information was displayed:
See if you can figure out what it means... Here’s a major hint: Model # 0 is the outer structure which includes the walls, floor and ceiling. Model # 1 is the pylon prefab which was dealt with separately because it was assigned as an entity. If the prefab had not been assigned as an entity it would have been considered part of the structure. Then there would have been no model # 1 and I would have had to get my prefab out of the whole workshop brush (model # 0) after I’d imported it into UnrealEd. It can be done that way but it’s a bother. It’s better to make your prefab an entity so that it can be dealt with separately from your workshop structure. Be sure that you don’t assign your prefab as an entity until you are through adding stuff to it. If you add stuff to the prefab after it’s assigned as an entity the new stuff will probably be considered part of the structure and won’t be included in your prefab model. If you add stuff to your prefab after you’ve assigned it as an entity then group the whole thing together and assign the new larger group as an entity (producing an entity inside an entity) unpredictable results could occur. That means I haven’t tried it so I don’t know what will happen. At this point no actual 3d brushes have been produced. All the ’bsp2t3d -l pylon01.bsp’ command did was give me a list of the models that could be found within the PYLON01.BSP file. Since I was only interested in my prefab which is model # 1, I typed in the following: bsp2t3d -e 1 pylon01.bsp And here’s what happened:
The -e parameter tells BSP2T3D which model I want to extract. -e 1 means that I only want model # 1. So that is the model, and the only model, that was extracted. I wanted to make sure my model (3d brush) was really there so I checked by using DOS’s dir command.
Yep, it’s there. And it’s named PYLON01001.T3D note: if you simply type BSP2T3D in the DOS window you will get a list of parameters that BSP2T3D can do things with. Now that I had my new 3d brush I imported it into UnrealEd:
It worked! There it is in red. I imported it as a solid rather than as a non-solid that Pointdexter suggested in the readme file. I simply couldn’t figure out a reason why it should be a non-solid. At least not for my purposes. Email me if you have some general questions about the process. If you have technical questions about BSP2T3D you will probably be better off emailing Pointdexter as I don’t know how BSP2T3D works. I’m just learning how to use it. If you have questions about how to go through this process with Qoole I can probably help you. The same with how to import these models into UnrealEd. If you have questions about how to use this process with other .bsp editors then I probably won’t know the answers as I’ve only used Qoole. By the way, Qoole 2.50 is shareware and has a limit of 300 brushes until registered. The pylon in the picture above is made up of four (4) brushes. Qoole 2.50 is currently available for download from the Qoole web page but it will be gone Very Soon as there is a new version now in final beta testing. But 2.50 is more than adequate for what we’ve been talking about here. If you use this process with an editor other than Qoole then perhaps you will do a write up on how it all works using your editor... If you send it to me and it is presentable I will post it on this page so it will help others who are using the same editor. You get the credit.
|
|
© 2001 Matt Cobb
Designs |