OGRE Wiki
Support and community documentation for Ogre3D
Ogre Forums
ogre3d.org
Log in
Username:
Password:
CapsLock is on.
Remember me (for 1 year)
Log in
Home
Tutorials
Tutorials Home
Basic Tutorials
Intermediate Tutorials
Mad Marx Tutorials
In Depth Tutorials
Older Tutorials
External Tutorials
Cookbook
Cookbook Home
CodeBank
Snippets
Experiences
Ogre Articles
Libraries
Libraries Home
Alternative Languages
Assembling A Toolset
Development Tools
OGRE Libraries
List of Libraries
Tools
Tools Home
DCC Tools
DCC Tutorials
DCC Articles
DCC Resources
Assembling a production pipeline
Development
Development Home
Roadmap
Building Ogre
Installing the Ogre SDK
Setting Up An Application
Ogre Wiki Tutorial Framework
Frequently Asked Questions
Google Summer Of Code
Help Requested
Ogre Core Articles
Community
Community Home
Projects Using Ogre
Recommended Reading
Contractors
Wiki
Immediate Wiki Tasklist
Wiki Ideas
Wiki Guidelines
Article Writing Guidelines
Wiki Styles
Wiki Page Tracker
Ogre Wiki Help
Ogre Wiki Help Overview
Help - Basic Syntax
Help - Images
Help - Pages and Structures
Help - Wiki Plugins
Toolbox
Freetags
Categories
List Pages
Structures
Trackers
Statistics
Rankings
List Galleries
Ogre Lexicon
Comments
History: Bsp making
View page
Source of version: 4
(current)
!Making A Quake III BSP File {maketoc} !!What is BSP BSP is Binary Space Partitioning, a popular algorithm for drawing a scene. The algorithm offers efficient culling and collision detection. I am not a 3D Programmer so I won't detail the constructs of the alogorithm, but I will focus on its ability. BSP is very helpful for making an interior scene with collision detection and a lightmap, making the scene look more real without destroying your computer resource. !!Making your own BSP file Before making a BSP file, you are required to have Quake 3 installed in your hard disk. The purpose of this tutorial is to help you make your own ..BSP file from your favorite 3D program. If you do not have one and you do not want to be a 3D Artist but rather a programmer or tester, skip every step and go straight to step 4 !!!Step 1: Which 3D program use first to make a scene for BSP? Because each 3D Artist has his favourite 3D modelling program, so this Tutorial do not force you use any 3D program...Use what program you have to make your scene. For example, you can you 3DSMax, Maya, XSI or some open source 3D programs such as Blender or Wing 3D to make your scene. However, your scene must follow these rule: {CODE(wrap="1")} + Avoid making a model too complicated, if not, you will have problem in exporting file later + Do not mapping your scene because you will use quake 3 shader later, so mapping now is not necessary + Do not model with any concave polygons. - Note, a model with a concave polygon has some interior angle that is greater than 180 degrees {CODE} {IMG(src="img/wiki_up/Conc_conv.jpg")}{IMG} * Illustration from Maya help file {img src="img/wiki_up/Conv_hole.jpg" alt="Conv_hole.jpg"} So, a model with a hole easily leads to concave This scene is made in 3DSMax {img src="img/wiki_up/Scene_max.jpg" alt="Scene_max.jpg"} !!!Step 2: Export to a quake .MAP file !!!!Step: 2.1 Either Use AC3d After making your scene in your favorite 3D Program., export the whole of your scene .3DS or .OBJ (most 3D program support these types of file so you should not worry) Download AC3D from [http://www.ac3d.org|www.ac3d.org] , you have 14 days free to use it and if you like, get it because you CAN really model with it and its price is not too high. {img src="img/wiki_up/Ac3d.jpg" alt="Ac3d.jpg"} In AC3D, import your .OBJ or .3DS file and make a simple step, export to quake .MAP file !!!!Step: 2.2 Or Use Blender You should be able to import a variety of formats into __[http://blender.org|Blender]__ (a free modeling tool). __[http://www.garagegames.com|GarageGames]__ has a __[http://www.garagegames.com/mg/forums/result.thread.php?qt=54682|MAP Exporter]__ for __Blender__. Copy the export script into your __Blender__ scripts folder. Usually found here. C:\Program Files\Blender Foundation\Blender\.blender\scripts ''__Step: 2.2.1 Set Blender Default User Scene__'' {img src="img/wiki_up/01_make_bsp.jpg" alt="01_make_bsp.jpg"} The default blender scene contains a box and a lamp. I prefer a clean scene. I also like a 3d view and the outliner panel. The outliner shows any bones and the names of the subgroups to keep things organized. When you get the layout you want, hit Control-U to save the layout. This will be the initial state for opening Blender in the future. ''__Step: 2.2.2 Import OBJ__'' {img src="img/wiki_up/02_make_bsp.jpg" alt="02_make_bsp.jpg"} Blender supports a bunch of formats for importing. I use the OBJ format because most apps that I use support it. I.e. __Blender__, __Modo__, __ZBrush__. ''__Step: 2.2.3 Export Valve 220 Map File__'' {img src="img/wiki_up/03_make_bsp.jpg" alt="03_make_bsp.jpg"} Ready for export. Export as a Valve 220 Map file. Thank __[http://www.garagegames.com/my/home/view.profile.php?qid=51584|Vincent Billet]__ for creating the export script. __GarageGames__ provides some nice tools to convert this .DIF file into a BSP file. ''__Step: 2.2.4 Convert to a Quake Map File__'' You'll need a copy of __[http://quark.planetquake.gamespy.com|QuArK6]__ (Quake Army Knife). Import the Valve 220 .MAP file and export a __Quake 3__ .MAP file. This .MAP file should be ready for __GMAX Tempest__. ''__Step: 2.2.5 Get Map2Diff Plus from GarageGames__'' You need to get a copy of __[http://www.garagegames.com/developer/torque/artist/#DIF|Map2Diff Plus]__. Put the __map2dif_plus.exe__ somewhere in your path. Make sure you read the __[http://holodeck.st.usm.edu/vrcomputing/scenebuilding|Map2Diff Plus Tutorial]__. ''__Step: 2.2.6 Convert Valve 220 Map File to a GarageGames DIF File__'' When __map2dif_plus.exe__ is in your path, run the (''map2dif_plus.exe test.map'') command. This will create a .DIF file. This .DIF file is ready for the __[http://www.garagegames.com/products/111/|Torque Game Engine]__. !!!Step 3: Refine .MAP file with Q3Radiant Note from Skinhat: ''I couldnt find 'q3radiant' on www.qeradiant.com. Seems to be have been replaced by gtkradiant therefore the text below is wrong. My suggestion is to download q3radiant from: [http://www.3ddownloads.com/qeradiant/Q3Radiant].'' Your .MAP file export cannot be used yet. You will need __[http://www.qeradiant.com|Q3Radiant]__, (not GtkRadiant) to refine it to the __Quake 3__ .map file. You can download __[http://www.qeradiant.com/?data=files&files_dir=7|Q3Radiant]__ for free. You will need __Quake 3__ installed to point __Q3Radiant__ to a working __Quake 3__ engine. Just download a copy of the __[http://www.idsoftware.com/games/quake/quake3-arena/index.php?game_section=demo|Quake 3 Demo]__ so that when you launch __Q3Radiant__ you can point the dialog at __C:\Q3Ademo\quake3.exe__. And now, its time to open your Q3Radiant and import the .MAP file. Re-save the scene to a .MAP file. You can nearly touch the final .BSP now. This step allows __Tempest__ to read the .MAP file !!!!Step: 3.1 Use Either The Quake 3 Demo The default installs to the __C:\Q3Ademo__ folder. So that means you'll want to do a custom install of __Q3Radiant__ which should install to the __C:\Q3Ademo\Tools__ folder. You'll want to unzip __C:\Q3Ademo\demoq3\pak0.pk3__ into the __C:\Q3Ademo\baseq3__ folder. If you want to use your map in the Quake3 Demo, you'll need to move the files from __C:\Q3Ademo\baseq3__ into the __C:\Q3Ademo\demoq3__ folder. !!!!Step: 3.2 Or The Full Quake 3 Version !!!Step 4: Gmax, Tempest and Export to .BSP file At this time you have had a Quake 3 .MAP file and this is the the finalization. In this step, you will need __Gmax__ and __Tempest__ from __[http://www.turbosquid.com/gmax|TurboSquid]__. Remember to read __[http://files.turbosquid.com/Products/L567280/3GB6AN2L96/gmax_tempest_install_guide.pdf|gmax_tempest_install_guide.pdf]__. It is very important document. __[http://www.turbosquid.com/gmax|Gmax]__ and __[http://files.turbosquid.com/Products/L567282/2M6F37BQVS/tempestinstall.exe|Tempest Game Pack (Quake III)]__ are free, however, it requires you to register. Now, run tempest and config your quake 3 folder as the install guide and open your map file Your map file will not include material. It take a little time to map your scene. Open any .Shader file in __quake3folder\baseq3\scripts__ and add these script to define your material --- {CODE(wrap="1")} textures/mywall { { map textures/base_door/toto_wall.tga } { map $lightmap rgbgen identity } } {CODE} --- with __textures/mywall__ at header is name of your quake 3 shader and __textures/base_door/toto_wall.tga__ is the path to the texture file (in quake 3 folder) Now, open that shader in Shader Navigation in your tempest program and you will see your texture. Choose your object that need to be mapped and simple click on your new shader. Map all your level, if you want to dig more in quake 3 bsp shader, read the shader manual at [http://www.idsoftware.com/business/techdownloads/] {img src="img/wiki_up/Gmax.jpg" alt="Gmax.jpg"} Mapping all your level and at a new entity ''info_start_player'' for your level can be test in quake 3 arena. At this point, you also can add quake light to make a light map to your level. Practice a lot and you will find tempest is great for making BSP, and you can really start to make your scene with tempest with quake 3 brush (however, this is a tough thing to model scene with only box and cylinder and I myself want to model in my favorite 3D program). The most important thing to a bsp file is: prevent __leak__, that means there are no *leak* in your scene. To avoid it, create a box brush that big enough to contain all your model and the press __*cgs hollow*__ it. Your scene can not leak now After mapping and lighting, compile it to make your own BSP, use full complile and your BSP is full VIS and lighting now. To test your new bsp file, you must save your scene in __Yourquake3folder\baseq3\maps__ and run quake, in console mode, type {CODE(wrap="1")} sv_pure 0 map name_of_your_bsp_file {CODE} Test your map before give it to your programmer, and he will be happy with your file. Remember when handing these files to your programmer {CODE(wrap="1")} + BSP file + baseq3\scripts\yourfile.SHADER + baseq3\textures\your_texture_folder {CODE} !Conclusion This is my scene that was made in Ogre by my programmer (sometimes I think he is a god when making these kind of awesome program file ) {img src="img/wiki_up/End.jpg" alt="End.jpg"} If you have a better way, just forget this tutorial and make your own BSP :)...This way is too complicated, I think sooo, shighnnnnnn © Ghostlake114
Search by Tags
Search Wiki by Freetags
Latest Changes
IDE Eclipse
FMOD SoundManager
HDRlib
Building Ogre V2 with CMake
Ogre 2.1 FAQ
Minimal Ogre Collision
Artifex Terra
OpenMB
Advanced Mogre Framework
MogreSocks
...more
Search
Find
Advanced
Search Help
Online Users
84 online users