Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
path: root/MODELS
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-03-24 16:20:43 +0000
committerStijn Buys <ingar@osirion.org>2008-03-24 16:20:43 +0000
commit600ab7911460ba173f82c78145fe573808d16f89 (patch)
tree289150d8eb45cb3e5e402bcb2001b3056bf495de /MODELS
parentb4f77d62eae0b0a6781f853b0f8f85b29a088007 (diff)
Documentation update
Diffstat (limited to 'MODELS')
-rw-r--r--MODELS125
1 files changed, 125 insertions, 0 deletions
diff --git a/MODELS b/MODELS
new file mode 100644
index 0000000..00d5a31
--- /dev/null
+++ b/MODELS
@@ -0,0 +1,125 @@
+
+The Osirion Project - MODELS
+
+Creating 3D models for The Osirion Project
+
+Introduction
+
+ The engine supports loading of Quake 2 .map files with custom osirion
+ entities. While it might look like a weird choice for a file format
+ it has been a well-considered pragmatic choice.
+
+ First of all, creating commercial grade graphics has never been
+ my goal. Polished high-quality models demand a lot of time,
+ skill and effort.
+
+ The same goes for 3D modelling packages like Blender or 3D Studio Max.
+ They are capable of producing awesome results, but the learning curve
+ is quite steep and the number of availble 3D artists is rather limited.
+
+ GtkRadiant on the other hand has been my personal tool for some time
+ now. For an experienced mapper, creating a LEGO-style model is only
+ a matter of hours and without the usual technical difficulties of
+ creating a map for shoot'em'up.
+
+ Creating game content is usually a chicken-and-egg in a small game
+ project. I hope to solve it by choosing a widely available and
+ easy to master format.
+
+ The rest of this document contains information specific to creating
+ models for the Osirion Project. Even if you can handle GtkRadiant,
+ it is still worth a read.
+
+Creating models with GtkRadiant
+
+ All the models for the game were created with GtkRadiant 1.5.0,
+ in theory any editor capable of exporting Quake 2 .map files could
+ be used. Support for files for GtkRadiant 1.5.0 are included in the
+ data distribution. Refer to the file INSTALL on where to find them
+ and how to install them. No map compiler is necessary, the engine
+ reads the .map files directly.
+
+ If you are using a linux-based operating system, you can also use
+ the GtkRadiant distribution from http://ingar.soliter.org.
+ Note that it does not include the Osirion support files by default.
+
+ This document will not explain how to use the editor. Consult google
+ for numerous tutorials on this subject. Any basic brush-creating
+ techniques for any Quake-engine based game can be used.
+
+ The main difference with other games is that you are not creating
+ a map for a 3d-shoot'em'up but, obviously, an object that has to be
+ loaded into a space game.
+
+ Because there is no map compile involved, and the engine is fundamentally
+ different, some points should be take under consideration.
+
+Brushes and sizes
+
+ The engine supports brushes only. Patches will be ignored. A large number
+ of complex brushes is supported, but I advise not to go below grid size 1.
+ As with any engine it is still possible to create brushwork that gets
+ messed up.
+
+ When the model is loaded, the bounding box is calculated. The center
+ of the model will be placed at the center of the bounding box.
+
+ The limits of map coordinates are placed on +/-16384 map units. Placing
+ brushes outside these bounds will have unpredictable results. The map
+ will be scaled down to make 1024 map units correspond to 1 game unit.
+
+ The front of a model points along the positive X-axis, the positive
+ Z-axis is up, the positive Y-axis is left.
+
+Caulk
+
+ Any brush face that has the common/caulk texture will be ignored on load.
+
+Clip
+ Any brush face that has the common/clip texture will be ignored on load.
+ Clip is reserved for future use.
+
+Detail brushes
+
+ As with other engines, Osirion supports the use of detail brushes, but
+ witha twist: detail brushes will only be rendered if the model
+ is close enough to the camera. When it is further away, only structural
+ brushes will be rendered.
+
+ This means that any objects that could only been seen from close by
+ should be made from detail brushes.
+
+ This has one improtant implication: if you show the structural brushes
+ only (with the CTRL+D filter in Gtkradiant) there should be no obvious
+ gaps of caulk that were previously hidden behind detail brushes.
+
+Textures
+
+ The engine supports no textures. Any real texturing information
+ is ignored.
+
+ The textures in the directory /textures/colors can be used by
+ the editor. The engine translates these textures into RGB colors
+ when the model is loaded. Unknown textures will be colored hot pink.
+
+ You can also use two special textures from the /textures/common
+ directory: as explained above, faces with the common/caulk texture
+ will be ignored on load. The use of common/clip is reserved for
+ future use. At the moment they will be ignored as well.
+
+ At the time of writing, texture names are hardcoded in src/core/model.cc
+
+Entities
+
+ Add an info_engine entity to add an engine exhaust to a ship model.
+ An engine always points to the rear (negative Z-axis). Engines
+ will only be rendered if the model is close enough.
+
+Lights
+
+ Support for light entities is very basic, the end result is far
+ from pleasing for the eye. They do have their use, since lights
+ are only rendered if the model is close enough. The engine does support
+ coloured lights (with the 'K' menu in GtkRadiant).
+
+ The strobe option (spawnflag 1) will create a flashing light.