7 | | Welcome to the 0 A.D. project. This document is intended to be a comprehensive guide on how to create artistic content for 0 A.D., a game created by Wildfire Games (WFG). Wildfire Games is a group of hobbyist game developers with a common goal of creating a historical real time strategy game that is set in the ancient era of the Roman Empire. The game engine is custom built and given the name Pyrogenesis. Pyrogenesis is a modular, data driven engine that will hopefully serve as a foundation for many more freeware games in the future. |
8 | | |
9 | | This document will introduce you to the processes and tools required to create artistic content. We will begin with this introduction and then take you through the various stages of development, beginning with creating a concept to committing the art assets to the SVN repository; complete with all the steps in between. This is a lot of information to digest, if you have any questions please contact the WFG developers via forums, instant messenger, or email. |
10 | | |
11 | | '''__ __''' |
| 7 | Welcome to the 0 A.D. project. This document is intended to be a comprehensive guide on how to create artistic content for 0 A.D., a game created by Wildfire Games (WFG). Wildfire Games is a group of hobbyist game developers with a common goal of creating a historical real time strategy game that is set in the ancient era of the Roman Empire. The game engine is custom built and given the name Pyrogenesis. Pyrogenesis is a modular, data driven engine that will hopefully serve as a foundation for many more freeware games in the future. |
| 8 | |
| 9 | This document will introduce you to the processes and tools required to create artistic content. We will begin with this introduction and then take you through the various stages of development, beginning with creating a concept to committing the art assets to the SVN repository; complete with all the steps in between. This is a lot of information to digest, if you have any questions please contact the WFG developers via forums, instant messenger, or email. |
51 | | An example: the Iberians (native to the peninsula of Iberia, modern day Spain and Portugal). They are fierce defenders of their homeland. Strength does not lie in numbers but in the skilled tactics of guerilla warfare. The weapons given to a unit are therefore numerous and versatile. Units often serve a dual purpose role and are equipped as such. Their amour and garments are practical with colors alluding to their ability to camouflage with their surroundings. Their buildings are strong and practically built. |
52 | | |
53 | | History and its usage in the game are paramount. When in doubt ask a WFG historian. |
54 | | |
55 | | Realism is always an interesting topic of discussion. Realism, while important does take a back seat to a more important player – Gameplay. Gameplay trumps Realism when the two topics disagree. Realism might dictate that a phalanx formation included over 500 soldiers, but gameplay only allows so many units on the screen at one time – not to mention the serious pathfinding and control issues so many units in the game would cause. Therefore gameplay dictates that we limit the formation to 20 or so units. Numerous examples such as this may be found in the game design discussions. We are creating a game after all, not a simulation. |
| 47 | An example: the Iberians (native to the peninsula of Iberia, modern day Spain and Portugal). They are fierce defenders of their homeland. Strength does not lie in numbers but in the skilled tactics of guerilla warfare. The weapons given to a unit are therefore numerous and versatile. Units often serve a dual purpose role and are equipped as such. Their amour and garments are practical with colors alluding to their ability to camouflage with their surroundings. Their buildings are strong and practically built. |
| 48 | |
| 49 | History and its usage in the game are paramount. When in doubt ask a WFG historian. |
| 50 | |
| 51 | Realism is always an interesting topic of discussion. Realism, while important does take a back seat to a more important player – Gameplay. Gameplay trumps Realism when the two topics disagree. Realism might dictate that a phalanx formation included over 500 soldiers, but gameplay only allows so many units on the screen at one time – not to mention the serious pathfinding and control issues so many units in the game would cause. Therefore gameplay dictates that we limit the formation to 20 or so units. Numerous examples such as this may be found in the game design discussions. We are creating a game after all, not a simulation. |
59 | | This, at first may seem in direct contraction to our attempt to attain realism, and that may be true. Although all the entities in the game should be based in reality that does not mean that you should disregard exaggeration. These figures featured in the game are many times larger than life. Exaggeration in the game can best be described as a heightened sense of reality. |
60 | | |
61 | | __Phases__[[BR]] The game does not advance through Ages (like the Age of Empire series games), but rather phases of growth. In the interests of reducing art workload, building models are not replaced''' '''with upgraded versions when a player advances from one phase to another. Therefore only one set of structure models is needed per civilization. |
62 | | |
63 | | __Citizen Soldiers''''''__ |
64 | | |
65 | | Citizen soldiers are entities (units) that change appearance as they are played in the game. They upgrade based on combat experience. Their appearance changes when this upgrade is complete. Here is the general guide for appearance based on a unit’s rank: |
66 | | |
| 55 | This, at first may seem in direct contraction to our attempt to attain realism, and that may be true. Although all the entities in the game should be based in reality that does not mean that you should disregard exaggeration. These figures featured in the game are many times larger than life. Exaggeration in the game can best be described as a heightened sense of reality. |
| 56 | |
| 57 | __Phases__[[BR]] The game does not advance through Ages (like the Age of Empire series games), but rather phases of growth. In the interests of reducing art workload, building models are not replaced''' '''with upgraded versions when a player advances from one phase to another. Therefore only one set of structure models is needed per civilization. |
| 58 | |
| 59 | __Citizen Soldiers'''''''''''__'''''''''' |
| 60 | |
| 61 | Citizen soldiers are entities (units) that change appearance as they are played in the game. They upgrade based on combat experience. Their appearance changes when this upgrade is complete. Here is the general guide for appearance based on a unit’s rank: |
72 | | __Player Color__'''''' |
73 | | |
74 | | Colors on the units should be neutral (skin tones, browns, grays, golds, bronze, etc...), because bright and saturated color will be used as a player’s color to show ownership. Player color usually is found on decorative elements of a texture. Learn more about how to create player color in the texture and skin section of this document. |
75 | | |
76 | | __Building Shape Consistency''''''__ |
| 67 | __Player Color__''''''''''' |
| 68 | |
| 69 | Colors on the units should be neutral (skin tones, browns, grays, golds, bronze, etc...), because bright and saturated color will be used as a player’s color to show ownership. Player color usually is found on decorative elements of a texture. Learn more about how to create player color in the texture and skin section of this document. |
| 70 | |
| 71 | __Building Shape Consistency'''''''''''__'''''''''' |
121 | | The following diagram displays the basic flow of art pipeline as content is created for the game. It starts up in the top left and is completed at the bottom right. The remainder of this document will be used to describe these processes in more detail. This section’s intent however is to provide you with a brief overview. |
122 | | |
123 | | '''1) Design Document''' |
124 | | |
125 | | The design document dictates the design of the game. Game designers have pooled their efforts with the game’s historians to create a written description for every entity in the game. This written design concept is created with the purpose of directing the concept artist. The written design concept might refer to reference images to aid in visually describing the entity. |
126 | | |
127 | | '''2) Concept''' |
| 108 | The following diagram displays the basic flow of art pipeline as content is created for the game. It starts up in the top left and is completed at the bottom right. The remainder of this document will be used to describe these processes in more detail. This section’s intent however is to provide you with a brief overview. |
| 109 | |
| 110 | '''1) Design Document''' |
| 111 | |
| 112 | The design document dictates the design of the game. Game designers have pooled their efforts with the game’s historians to create a written description for every entity in the game. This written design concept is created with the purpose of directing the concept artist. The written design concept might refer to reference images to aid in visually describing the entity. |
| 113 | |
| 114 | '''2) Concept''' |
131 | | '''3) Modeling''' |
132 | | |
133 | | Based on the concept or written description, a 3D model is then made fitting the concept as close as possible within the restraints of the modeling specifications found later in this document. The modeling process also includes unwrapping and exporting a uvw map for use by the texture artist. |
134 | | |
135 | | '''4) Texture''' |
136 | | |
137 | | A skin (or texture) for the 3D model is then created. This may be created from scratch, using reference textures, or even utilizing the concept to make the best possible texture. Close attention is made to the texture to give it a worn and used appearance. Artificial shadows are created on the texture to fill in the details that a low poly mesh is not capable of doing. In some cases player color or transparency is used on the texture. In this case the alpha channel utilized to accomplish this. More details to follow later in the document. |
138 | | |
139 | | '''5) Rigging/Animation''' |
140 | | |
141 | | Non-static models require rigging and animation. This is a complex process that is discussed in more detail in the Animation section. |
142 | | |
143 | | '''6) Export''' |
144 | | |
145 | | Finally, the models and textures need to be exported and implemented into the game engine. TGA and BMP files are converted to DDS files (if not already exported as a DDS). DAE files are exported to the /mesh and /animation folders. |
146 | | |
147 | | '''7) Actor''' |
148 | | |
149 | | Actor files are an XML file that defines the visual properties of an entity in the game. These actor files in essence are the glue that puts parts together. The file points and references the mesh, texture, and animations of a unit. They also specify object color, player color, and shadow properties. Any mesh or animation created won’t be recognized by the game engine unless it is referenced by an actor XML file. |
| 118 | '''3) Modeling''' |
| 119 | |
| 120 | Based on the concept or written description, a 3D model is then made fitting the concept as close as possible within the restraints of the modeling specifications found later in this document. The modeling process also includes unwrapping and exporting a uvw map for use by the texture artist. |
| 121 | |
| 122 | '''4) Texture''' |
| 123 | |
| 124 | A skin (or texture) for the 3D model is then created. This may be created from scratch, using reference textures, or even utilizing the concept to make the best possible texture. Close attention is made to the texture to give it a worn and used appearance. Artificial shadows are created on the texture to fill in the details that a low poly mesh is not capable of doing. In some cases player color or transparency is used on the texture. In this case the alpha channel utilized to accomplish this. More details to follow later in the document. |
| 125 | |
| 126 | '''5) Rigging/Animation''' |
| 127 | |
| 128 | Non-static models require rigging and animation. This is a complex process that is discussed in more detail in the Animation section. |
| 129 | |
| 130 | '''6) Export''' |
| 131 | |
| 132 | Finally, the models and textures need to be exported and implemented into the game engine. TGA and BMP files are converted to DDS files (if not already exported as a DDS). DAE files are exported to the /mesh and /animation folders. |
| 133 | |
| 134 | '''7) Actor''' |
| 135 | |
| 136 | Actor files are an XML file that defines the visual properties of an entity in the game. These actor files in essence are the glue that puts parts together. The file points and references the mesh, texture, and animations of a unit. They also specify object color, player color, and shadow properties. Any mesh or animation created won’t be recognized by the game engine unless it is referenced by an actor XML file. |
167 | | · '''Look''' - Black and white images (later colored if there is a specific point of detail that can’t be described with simply words) |
168 | | |
169 | | · '''Title Block''' - http://www.wildfiregames.com/users/art/titleblock.jpg . Top box is the name, version in the middle left, and date on the right, your name at the bottom. |
170 | | |
171 | | · '''Descriptions''' – feel free to draw arrows and write text in the image for anything you want to draw attention too |
172 | | |
173 | | · '''Auxiliary view '''- If there is something to relate to the modelers that you couldn’t capture in one view, feel free to sketch a picture to the side from another angle. |
174 | | |
175 | | · '''Citizen Soldiers '''– If it is a unit that upgrades (basic, advanced, elite) then three sketches are required. |
176 | | |
177 | | · '''Backup''' – Back up all your work in the art SVN in case something bad happens to your computer – compressed please (ZIP, RAR)'''''' |
178 | | |
179 | | These are great examples of some good concept art created for 0 A.D. |
180 | | |
181 | | |
182 | | |
183 | | The (Ultimate – the highest ranked of this citizen soldier type) Roman Triarius was drawn by Brenden Keough. Note how he drew two different views of the unit so that there isn’t any question of what certain features that would otherwise be missed by the texture artist (like the greeves that only go halfway around the shin, and the extra detail seen in the helmet. This unit also has a few props included with the concept to ensure that they are represented with this unit as well. The other great thing about this concept is the detail. There is so much detail that it could actually be cut and pasted directly into a unit texture. |
184 | | |
185 | | |
186 | | |
187 | | The civil center is another fine example of a concept created by Michael Hafer. Now this concept didn’t need to be colored because he so accurately described various features with notes. This is perfectly acceptable and actually preferred because it is a much quicker process than coloring an entire concept. Note also his overhead image in the lower right hand corner to help show exactly where the building are positioned about the complex structure. |
188 | | |
189 | | ''' ''' |
| 151 | · '''Look''' - Black and white images (later colored if there is a specific point of detail that can’t be described with simply words) |
| 152 | |
| 153 | · '''Title Block''' - http://www.wildfiregames.com/users/art/titleblock.jpg . Top box is the name, version in the middle left, and date on the right, your name at the bottom. |
| 154 | |
| 155 | · '''Descriptions''' – feel free to draw arrows and write text in the image for anything you want to draw attention too |
| 156 | |
| 157 | · '''Auxiliary view '''- If there is something to relate to the modelers that you couldn’t capture in one view, feel free to sketch a picture to the side from another angle. |
| 158 | |
| 159 | · '''Citizen Soldiers '''– If it is a unit that upgrades (basic, advanced, elite) then three sketches are required. |
| 160 | |
| 161 | · '''Backup''' – Back up all your work in the art SVN in case something bad happens to your computer – compressed please (ZIP, RAR)''''''''''' |
| 162 | |
| 163 | These are great examples of some good concept art created for 0 A.D. |
| 164 | |
| 165 | The (Ultimate – the highest ranked of this citizen soldier type) Roman Triarius was drawn by Brenden Keough. Note how he drew two different views of the unit so that there isn’t any question of what certain features that would otherwise be missed by the texture artist (like the greeves that only go halfway around the shin, and the extra detail seen in the helmet. This unit also has a few props included with the concept to ensure that they are represented with this unit as well. The other great thing about this concept is the detail. There is so much detail that it could actually be cut and pasted directly into a unit texture. |
| 166 | |
| 167 | The civil center is another fine example of a concept created by Michael Hafer. Now this concept didn’t need to be colored because he so accurately described various features with notes. This is perfectly acceptable and actually preferred because it is a much quicker process than coloring an entire concept. Note also his overhead image in the lower right hand corner to help show exactly where the building are positioned about the complex structure. |
278 | | This plug-in is only tested to work on 3ds Max Release 6[[BR]] [[BR]] You may download from here:[[BR]] http://www.wildfiregames.com/users/art/pmdexp6.rar [[BR]] [[BR]] Essentially this tool allows users to export PMD (Pyrogenesis Model Data) and PSA (Pyrogenesis Animation) files directly from 3ds Max R6. This process skips the exporting of a DAE (COLLADA) file that is later converted to a PMD or PSA file in the future. This method is not preferred. The tool is broken in that it does not blend weighted vertexes in animation, it also only allows biped/physique methods to animation (bones/skin do not work). |
279 | | |
280 | | 1. '''Function:''' Creates Prop points [[BR]] '''Access:''' In the Command Panel - Create => Helpers => PS Helpers => Prop Point[[BR]] '''Extra:''' Export with the .pmd file, modify the name as desired, but precede with “prop-“, example prop-r_hip |
281 | | |
282 | | 2. '''Function:''' Export .pmd files [[BR]] '''Access:''' File => Export or File => Export Selected[[BR]] '''Extra:''' Select mesh and any props and export[[BR]] Don't forget to save the file in all lower case |
283 | | |
284 | | 3. '''Function:''' Export .psa files [[BR]] '''Access:''' File => Export or File => Export Selected[[BR]] '''Extra:''' Select the bip node and export[[BR]] Don't forget to save the file in all lower case |
| 239 | This plug-in is only tested to work on 3ds Max Release 6[[BR]] [[BR]] You may download from here:[[BR]] http://www.wildfiregames.com/users/art/pmdexp6.rar [[BR]] [[BR]] Essentially this tool allows users to export PMD (Pyrogenesis Model Data) and PSA (Pyrogenesis Animation) files directly from 3ds Max R6. This process skips the exporting of a DAE (COLLADA) file that is later converted to a PMD or PSA file in the future. This method is not preferred. The tool is broken in that it does not blend weighted vertexes in animation, it also only allows biped/physique methods to animation (bones/skin do not work). |
| 240 | |
| 241 | 1. '''Function:''' Creates Prop points [[BR]] '''Access:''' In the Command Panel - Create => Helpers => PS Helpers => Prop Point[[BR]] '''Extra:''' Export with the .pmd file, modify the name as desired, but precede with “prop-“, example prop-r_hip |
| 242 | |
| 243 | 2. '''Function:''' Export .pmd files [[BR]] '''Access:''' File => Export or File => Export Selected[[BR]] '''Extra:''' Select mesh and any props and export[[BR]] Don't forget to save the file in all lower case |
| 244 | |
| 245 | 3. '''Function:''' Export .psa files [[BR]] '''Access:''' File => Export or File => Export Selected[[BR]] '''Extra:''' Select the bip node and export[[BR]] Don't forget to save the file in all lower case |
316 | | '''orientator.ms''' – this script is really useful for props. It allows you to quickly orientate one object to the same orientation as another (matching both position and rotation). For example, you can select a sword, and quickly snap it to the position of the hand prop point helper. Once it is in position you are able to parent it to the point to move with it throughout animation. |
317 | | |
318 | | '''rotaterzero.ms''' – this script quickly zeros out the rotation in x, y, and z. Useful just prior to exporting. |
319 | | |
320 | | '''zero.ms''' - this script quickly zeros out the position in x, y, and z. Useful just prior to exporting. |
321 | | |
322 | | '''Clear materials''' – I haven’t created a script for this, but you can simply paste this into the max command bar and it will remove all the materials of the selection. '''$*.material=undefined '''This is useful to export a file and avoid other receiving errors that they are unable to find textures or materials. |
| 274 | '''orientator.ms''' – this script is really useful for props. It allows you to quickly orientate one object to the same orientation as another (matching both position and rotation). For example, you can select a sword, and quickly snap it to the position of the hand prop point helper. Once it is in position you are able to parent it to the point to move with it throughout animation. |
| 275 | |
| 276 | '''rotaterzero.ms''' – this script quickly zeros out the rotation in x, y, and z. Useful just prior to exporting. |
| 277 | |
| 278 | '''zero.ms''' - this script quickly zeros out the position in x, y, and z. Useful just prior to exporting. |
| 279 | |
| 280 | '''Clear materials''' – I haven’t created a script for this, but you can simply paste this into the max command bar and it will remove all the materials of the selection. '''$*.material=undefined '''This is useful to export a file and avoid other receiving errors that they are unable to find textures or materials. |
326 | | Proportions in the game, in general, will not be true to the real world. Humans will take on the proportions of a hero. Animals will be formed with a slightly exaggerated eye. Structures in comparison to units will be roughly ¾ the size (though roughly 7/8 scale is given to windows and doors to aid in the transitional illusion of scale) |
327 | | |
328 | | Scale is defined as thus: Height of a Man ≈ 2 meters = 4 generic units in 3ds Max = 1 square tile width in Pyrogenesis |
| 284 | Proportions in the game, in general, will not be true to the real world. Humans will take on the proportions of a hero. Animals will be formed with a slightly exaggerated eye. Structures in comparison to units will be roughly ¾ the size (though roughly 7/8 scale is given to windows and doors to aid in the transitional illusion of scale) |
| 285 | |
| 286 | Scale is defined as thus: Height of a Man ≈ 2 meters = 4 generic units in 3ds Max = 1 square tile width in Pyrogenesis |
359 | | Pyrogenesis uses a system that is called propping. It is also defined in the computer world as a parent/child or master/slave relationship. In 0 A.D. we call it a body/prop relationship. Props are objects that are separated from the parent and have the ability to be used independently in whatever circumstance deemed fit. |
360 | | |
361 | | They are ‘attached’ in the actual game by the engine by a designation in an XML file. Every bone in a skeleton is capable of having a prop point attached to it as a child. That prop point is a ‘node’ that can be identified in an XML file and a prop may be assigned to that node. The prop orientates and positions itself to the prop point node in the game. The prop follows the movement (if any) of the bone it was attached to. |
362 | | |
363 | | The advantage this gives us is versatility and variety. It also cuts down on the downloaded size of the game. Instead of making 200 totally unique units, we simply create 8 basic shared body types, 50 or so props, create unique skins, and create combinations of these basic elements to allow for a host of options to developers and gamers/modders! This proves to be a very versatile system for creating content for the 0 A.D. world. To reiterate, armor and weapons are not to be included in the base mesh of the unit except under very special circumstances (we have yet to see it, but never say never). |
| 310 | Pyrogenesis uses a system that is called propping. It is also defined in the computer world as a parent/child or master/slave relationship. In 0 A.D. we call it a body/prop relationship. Props are objects that are separated from the parent and have the ability to be used independently in whatever circumstance deemed fit. |
| 311 | |
| 312 | They are ‘attached’ in the actual game by the engine by a designation in an XML file. Every bone in a skeleton is capable of having a prop point attached to it as a child. That prop point is a ‘node’ that can be identified in an XML file and a prop may be assigned to that node. The prop orientates and positions itself to the prop point node in the game. The prop follows the movement (if any) of the bone it was attached to. |
| 313 | |
| 314 | The advantage this gives us is versatility and variety. It also cuts down on the downloaded size of the game. Instead of making 200 totally unique units, we simply create 8 basic shared body types, 50 or so props, create unique skins, and create combinations of these basic elements to allow for a host of options to developers and gamers/modders! This proves to be a very versatile system for creating content for the 0 A.D. world. To reiterate, armor and weapons are not to be included in the base mesh of the unit except under very special circumstances (we have yet to see it, but never say never). |
407 | | [[BR]] |
408 | | |
409 | | |
410 | | ||'''Step 1 - Attaching'''[[BR]][[BR]] [[BR]][[BR]]The next step is to select the structure and attach all [[BR]] the props:[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]You will see the following menu pop up, just hit OK.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] ||'''Step 2 - Pivot Placement'''[[BR]][[BR]] [[BR]][[BR]]Now, all your props will be included in one object. We [[BR]] next should move our object to the centre of the 3dsmax world. In order to do that we need to make sure our pivot point is in the correct location.[[BR]][[BR]] [[BR]][[BR]]Click on the hierarchy tab, then click the pivot button, then the "Affect Pivot Only" button.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Centre your pivot (X,Y) to the centre of your structure (or where you want it to be anchored in the game).[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]The Z is a bit different; we want to position this to the bottom of the structure. If we put it in the middle, then your structure would be 'buried' halfway in the game's terrain. Not good.[[BR]][[BR]]Ok, you're now done moving your pivot. Turn off the 'Affect Pivot Only' button.[[BR]][[BR]] [[BR]][[BR]] || |
411 | | |
412 | | |
413 | | |
414 | | [[BR]] |
415 | | |
416 | | |
417 | | ||'''Step 3 - Detaching'''[[BR]][[BR]] [[BR]][[BR]]Now, let's move our structure to the centre of the world. You can do this by just inputting zeros in the world coordinates at the bottom of the screen.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]The next step is to separate the props again from the object. So first we select all the prop objects like this image to the left.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Then we detach them.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]A new window will pop up.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]I'm going to go ahead and properly name it right here.[[BR]][[BR]] [[BR]][[BR]]While I'm at it, I'll go ahead and properly name the structure too.[[BR]][[BR]] [[BR]][[BR]] ||'''Step 4 - Setting the Prop Point'''[[BR]][[BR]] [[BR]][[BR]]Now, it's time to work with the prop point. First, we need to create one.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Click on the 'create' tab, then the helper object button, [[BR]] then scroll down and you will see a choice of 'PS Helpers'. Select that.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Now our prop tab looks a bit different. Go ahead and place a prop point. Once you place it, it will look like this:[[BR]][[BR]] [[BR]][[BR]] || |
418 | | |
419 | | [[BR]] |
420 | | |
421 | | |
422 | | ||'''Step 5 - Exporting'''[[BR]][[BR]] [[BR]][[BR]]It is time to export! select both the prop point and the [[BR]] structure.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Go to File => Export Selected[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Now go ahead and export your structure.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]And that's it! You just exported an object with a prop point included! Repeat the same export for the prop point.[[BR]][[BR]] [[BR]][[BR]] ||'''Step 6 - xml code'''[[BR]][[BR]] [[BR]][[BR]]You're all done in 3dmax. Now it is time to look at the [[BR]] xml code.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]In this code snippet:[[BR]][[BR]] [[BR]][[BR]]We have given it the proper name (the name that will appear in Atlas). We are also pointing to the newly created *.pmd file. We call up the texture.[[BR]][[BR]]We name the prop point and tell it what actor is supposed to go there.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]In this code snippet:[[BR]][[BR]] [[BR]][[BR]]We have given it the proper name (that will be 'called up' by the code above). We are also pointing to the newly created PMD file. We call up the texture.[[BR]][[BR]] [[BR]][[BR]]'''Summary'''[[BR]][[BR]] [[BR]][[BR]]The tutorial above probably has some unneeded steps, but for the beginner, this is a good way to start. You will find yourself refining your procedures with experience.[[BR]][[BR]] || |
423 | | |
424 | | |
425 | | |
426 | | |
| 338 | ||'''Step 1 - Attaching'''[[BR]][[BR]] [[BR]][[BR]]The next step is to select the structure and attach all [[BR]] the props:[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]You will see the following menu pop up, just hit OK.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]||'''Step 2 - Pivot Placement'''[[BR]][[BR]] [[BR]][[BR]]Now, all your props will be included in one object. We [[BR]] next should move our object to the centre of the 3dsmax world. In order to do that we need to make sure our pivot point is in the correct location.[[BR]][[BR]] [[BR]][[BR]]Click on the hierarchy tab, then click the pivot button, then the "Affect Pivot Only" button.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Centre your pivot (X,Y) to the centre of your structure (or where you want it to be anchored in the game).[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]The Z is a bit different; we want to position this to the bottom of the structure. If we put it in the middle, then your structure would be 'buried' halfway in the game's terrain. Not good.[[BR]][[BR]]Ok, you're now done moving your pivot. Turn off the 'Affect Pivot Only' button.[[BR]][[BR]] [[BR]][[BR]]|| |
| 339 | |
| 340 | ||'''Step 3 - Detaching'''[[BR]][[BR]] [[BR]][[BR]]Now, let's move our structure to the centre of the world. You can do this by just inputting zeros in the world coordinates at the bottom of the screen.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]The next step is to separate the props again from the object. So first we select all the prop objects like this image to the left.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Then we detach them.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]A new window will pop up.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]I'm going to go ahead and properly name it right here.[[BR]][[BR]] [[BR]][[BR]]While I'm at it, I'll go ahead and properly name the structure too.[[BR]][[BR]] [[BR]][[BR]]||'''Step 4 - Setting the Prop Point'''[[BR]][[BR]] [[BR]][[BR]]Now, it's time to work with the prop point. First, we need to create one.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Click on the 'create' tab, then the helper object button, [[BR]] then scroll down and you will see a choice of 'PS Helpers'. Select that.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Now our prop tab looks a bit different. Go ahead and place a prop point. Once you place it, it will look like this:[[BR]][[BR]] [[BR]][[BR]]|| |
| 341 | |
| 342 | ||'''Step 5 - Exporting'''[[BR]][[BR]] [[BR]][[BR]]It is time to export! select both the prop point and the [[BR]] structure.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Go to File => Export Selected[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Now go ahead and export your structure.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]And that's it! You just exported an object with a prop point included! Repeat the same export for the prop point.[[BR]][[BR]] [[BR]][[BR]]||'''Step 6 - xml code'''[[BR]][[BR]] [[BR]][[BR]]You're all done in 3dmax. Now it is time to look at the [[BR]] xml code.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]In this code snippet:[[BR]][[BR]] [[BR]][[BR]]We have given it the proper name (the name that will appear in Atlas). We are also pointing to the newly created *.pmd file. We call up the texture.[[BR]][[BR]]We name the prop point and tell it what actor is supposed to go there.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]In this code snippet:[[BR]][[BR]] [[BR]][[BR]]We have given it the proper name (that will be 'called up' by the code above). We are also pointing to the newly created PMD file. We call up the texture.[[BR]][[BR]] [[BR]][[BR]]'''Summary'''[[BR]][[BR]] [[BR]][[BR]]The tutorial above probably has some unneeded steps, but for the beginner, this is a good way to start. You will find yourself refining your procedures with experience.[[BR]][[BR]]|| |
430 | | This is such a critical topic because it is the texture of a skin that really gives the game its ‘look’. 0 A.D.’s theme could be described as a hyper-realistic look. This is a historical game and not a fantasy or futuristic game. Our colors will be slightly more saturated than the real world. We also want to reflect the ‘realness’ of our world by NOT making things look totally new like you just purchased them off a store shelf, but rather: used, weathered, worn, ‘real’. It is very important to follow the concept, do not make creative liberties. The concept has been approved by the art department lead and the historian, your idea in your creative mind has not been. Make sure the viewer always knows what they are looking at. Also, pay particular note to details! The more detail that can be added to a texture, the better. |
| 346 | This is such a critical topic because it is the texture of a skin that really gives the game its ‘look’. 0 A.D.’s theme could be described as a hyper-realistic look. This is a historical game and not a fantasy or futuristic game. Our colors will be slightly more saturated than the real world. We also want to reflect the ‘realness’ of our world by NOT making things look totally new like you just purchased them off a store shelf, but rather: used, weathered, worn, ‘real’. It is very important to follow the concept, do not make creative liberties. The concept has been approved by the art department lead and the historian, your idea in your creative mind has not been. Make sure the viewer always knows what they are looking at. Also, pay particular note to details! The more detail that can be added to a texture, the better. |
438 | | * '''File Formats''' – Always save your originals in a lossless layered format (PSD, PSP or equivalent). We will be using DDS for the majority of all skins. Refer down below for more information on DDS files. |
439 | | * '''Size '''– Power of 2 (2!^n)! must be used for the dimensions of the images. These include 8, 16, 32, 64, 128, 256, and 512. DDS files require this. Both rectangular and square varieties may be used by mixing and matching the widths and heights using the above numbers. |
| 353 | * '''File Formats''' – Always save your originals in a lossless layered format (PSD, PSP or equivalent). We will be using DDS for the majority of all skins. Refer down below for more information on DDS files. |
| 354 | * '''Size '''– Power of 2 (2!^n)! must be used for the dimensions of the images. These include 8, 16, 32, 64, 128, 256, and 512. DDS files require this. Both rectangular and square varieties may be used by mixing and matching the widths and heights using the above numbers. |
445 | | Keep in mind that the size of the texture should reflect the relative size in the game. There is no reason to make a texture for a flower to be 256x256 when in the game it will never been seen up so close to see such detail. |
446 | | |
447 | | |
448 | | * '''Methods '''– Method 1 (Recommended) - start with a larger original sample, and then shrink. For example, if your target size is 256, then start with a 512 and then shrink by half and sharpen. Method 2 – Some believe that you are creating unnecessary detail and waste time to use Method 1, so they work with the texture at it’s final resolution (most artists are not this good however). |
449 | | |
450 | | Use Layers! Layers are your friend. Save your layers! You never know when a belt used on one texture might be useful to share with another. Using the texture template you are able to share certain features across textures. If the elements of a texture are separated by layers, this job is much easier. |
451 | | |
452 | | |
453 | | * '''Player color''' – Player color is achieved through the Alpha Channel of the DDS file. The visual data within the RGB channels should be desaturated (made to black and white). More on this topic further on in this document. |
| 360 | Keep in mind that the size of the texture should reflect the relative size in the game. There is no reason to make a texture for a flower to be 256x256 when in the game it will never been seen up so close to see such detail. |
| 361 | |
| 362 | * '''Methods '''– Method 1 (Recommended) - start with a larger original sample, and then shrink. For example, if your target size is 256, then start with a 512 and then shrink by half and sharpen. Method 2 – Some believe that you are creating unnecessary detail and waste time to use Method 1, so they work with the texture at it’s final resolution (most artists are not this good however). |
| 363 | |
| 364 | Use Layers! Layers are your friend. Save your layers! You never know when a belt used on one texture might be useful to share with another. Using the texture template you are able to share certain features across textures. If the elements of a texture are separated by layers, this job is much easier. |
| 365 | |
| 366 | * '''Player color''' – Player color is achieved through the Alpha Channel of the DDS file. The visual data within the RGB channels should be desaturated (made to black and white). More on this topic further on in this document. |
469 | | [http://en.wikipedia.org/wiki/Adobe_Photoshop Adobe |
470 | | Photoshop] – Commercial |
471 | | |
472 | | [http://en.wikipedia.org/wiki/Adobe_Photoshop_Elements Adobe Photoshop |
473 | | Elements] – Commercial |
474 | | |
475 | | [http://en.wikipedia.org/wiki/Corel_Paint_Shop_Pro_Photo Corel Paint Shop |
476 | | Pro] – Commercial |
477 | | |
478 | | [http://en.wikipedia.org/wiki/Corel_Painter Corel |
479 | | Painter] – Commercial |
| 377 | [http://en.wikipedia.org/wiki/Adobe_Photoshop Adobe Photoshop] – Commercial |
| 378 | |
| 379 | [http://en.wikipedia.org/wiki/Adobe_Photoshop_Elements Adobe Photoshop Elements] – Commercial |
| 380 | |
| 381 | [http://en.wikipedia.org/wiki/Corel_Paint_Shop_Pro_Photo Corel Paint Shop Pro] – Commercial |
| 382 | |
| 383 | [http://en.wikipedia.org/wiki/Corel_Painter Corel Painter] – Commercial |
493 | | [http://developer.nvidia.com/object/photoshop_dds_plugins.html nVidia 8BF |
494 | | plugin] – Free plugin that is useful for software that utilizes 8BF plugins |
495 | | |
496 | | [http://developer.nvidia.com/page/tools.html nVidia’s |
497 | | Developer Tools] – Other useful DDS tools |
498 | | |
499 | | |
500 | | |
501 | | '''__[ Graphics |
502 | | Formats]__''' |
503 | | |
504 | | · '''BMP'''[[BR]] Lossless and uncompressed, a large file that is bigger than a TGA, and lacks alpha channel support. The most basic format that may be saved and converted to a .dds file using a WFG conversion tool. Alpha layer tools are not required. |
505 | | |
506 | | · '''TGA'''[[BR]] It is a lossless format, and supports alpha content via alpha channels. A 24-bit TGA will be converted to a DXT1 DDS file, and a 32-bit (alpha) TGA will be converted to a DXT3 DDS file. NOTE: Photoshop 7.0 has a bug where you can't save alpha in TGA. You should upgrade to Photoshop 7.1 or Photoshop CS. Because this format does contain alpha layers it requires software that takes advantage of this feature. This may also be converted to a .dds file using a WFG conversion tool. |
507 | | |
508 | | · '''JPEG'''[[BR]] DO NOT USE THIS FORMAT. |
509 | | |
510 | | · '''DDS'''[[BR]] This is the format that is used by the game, no conversion is needed, subsequently loading times are extremely fast, in the order of 5x faster than any other format. This format gives you full control over the texture attributes and color format, it also supports alpha channels. This format is therefore recommended for maximum performance and control. |
| 395 | [http://developer.nvidia.com/object/photoshop_dds_plugins.html nVidia 8BF plugin] – Free plugin that is useful for software that utilizes 8BF plugins |
| 396 | |
| 397 | [http://developer.nvidia.com/page/tools.html nVidia’s Developer Tools] – Other useful DDS tools |
| 398 | |
| 399 | '''__[ Graphics Formats]__''''''____''' |
| 400 | |
| 401 | · '''BMP'''[[BR]] Lossless and uncompressed, a large file that is bigger than a TGA, and lacks alpha channel support. The most basic format that may be saved and converted to a .dds file using a WFG conversion tool. Alpha layer tools are not required. |
| 402 | |
| 403 | · '''TGA'''[[BR]] It is a lossless format, and supports alpha content via alpha channels. A 24-bit TGA will be converted to a DXT1 DDS file, and a 32-bit (alpha) TGA will be converted to a DXT3 DDS file. NOTE: Photoshop 7.0 has a bug where you can't save alpha in TGA. You should upgrade to Photoshop 7.1 or Photoshop CS. Because this format does contain alpha layers it requires software that takes advantage of this feature. This may also be converted to a .dds file using a WFG conversion tool. |
| 404 | |
| 405 | · '''JPEG'''[[BR]] DO NOT USE THIS FORMAT. |
| 406 | |
| 407 | · '''DDS'''[[BR]] This is the format that is used by the game, no conversion is needed, subsequently loading times are extremely fast, in the order of 5x faster than any other format. This format gives you full control over the texture attributes and color format, it also supports alpha channels. This format is therefore recommended for maximum performance and control. |
514 | | · '''DXT1''' is a four-bit compressed color format that allows for '''opaque''', and '''one-bit alpha''' (DXT1a) textures; that is, textures with no transparency at all, and textures with a single transparent color. |
515 | | |
516 | | · '''DXT3''' adds support for a four-bit explicit alpha channel, on top of DXT1's color compression. Four-bit explicit alpha allows for sixteen distinct alpha values, making it good for textures with '''sharply contrasting translucent/opaque areas'''. DXT2 textures assume the color data is pre-multiplied by the alpha channel. |
517 | | |
518 | | · '''DXT5''' support a four-bit interpolated alpha channel. Three bits are used to determine explicit alpha values, and two eight-bit values are used to interpolate gradually between them. This makes the format especially suited for soft '''gradients''' and other textures where the '''alpha areas’ variance is mild'''. DXT4 assumes colors are pre-multiplied by the alpha channel. |
519 | | |
520 | | · '''32-bit RGBA''' is the obese godfather of textures. While extremely powerful, it's also terribly overweight. It features full 24-bit color, plus an 8-bit alpha channel, but takes up four bytes for every pixel; a 256x256 texture will require 256k of memory. |
| 411 | · '''DXT1''' is a four-bit compressed color format that allows for '''opaque''', and '''one-bit alpha''' (DXT1a) textures; that is, textures with no transparency at all, and textures with a single transparent color. |
| 412 | |
| 413 | · '''DXT3''' adds support for a four-bit explicit alpha channel, on top of DXT1's color compression. Four-bit explicit alpha allows for sixteen distinct alpha values, making it good for textures with '''sharply contrasting translucent/opaque areas'''. DXT2 textures assume the color data is pre-multiplied by the alpha channel. |
| 414 | |
| 415 | · '''DXT5''' support a four-bit interpolated alpha channel. Three bits are used to determine explicit alpha values, and two eight-bit values are used to interpolate gradually between them. This makes the format especially suited for soft '''gradients''' and other textures where the '''alpha areas’ variance is mild'''. DXT4 assumes colors are pre-multiplied by the alpha channel. |
| 416 | |
| 417 | · '''32-bit RGBA''' is the obese godfather of textures. While extremely powerful, it's also terribly overweight. It features full 24-bit color, plus an 8-bit alpha channel, but takes up four bytes for every pixel; a 256x256 texture will require 256k of memory. |
524 | | |
525 | | |
526 | | NOTE: A hardware bug in all nVidia chipsets, including the NV20 (!GeForce3), potentially makes DXT1 textures gross and ugly. Specifically, decompression is performed in 16-bit color mode internally, making the resulting texture potentially unacceptable for use, especially when combined with other operations. Test your DXT1 textures on nVidia hardware before committing to their use. All other DXTC formats on nVidia hardware are okay, as textures are decompressed in 32-bit color internally.[[BR]][[BR]] |
527 | | |
528 | | '''__[ BASIC HUMAN |
529 | | TEMPLATE]__''' |
| 421 | NOTE: A hardware bug in all nVidia chipsets, including the NV20 (!GeForce3), potentially makes DXT1 textures gross and ugly. Specifically, decompression is performed in 16-bit color mode internally, making the resulting texture potentially unacceptable for use, especially when combined with other operations. Test your DXT1 textures on nVidia hardware before committing to their use. All other DXTC formats on nVidia hardware are okay, as textures are decompressed in 32-bit color internally.[[BR]] |
| 422 | |
| 423 | '''__[ BASIC HUMAN TEMPLATE]__''''''____''' |
566 | | It is advantageous to use the template in a paper doll fashion. Each of these steps is a layer. The artist starts with the base, next the tunic is added. Then add the breastplate, then the leather loin protectors, and finally the weapon strap. Because these are independent layers, they can be used on other models as well. Note that the color of the tunic is grayscale, this is because it is used as player color; more on that in the next topic. |
567 | | |
568 | | |
| 453 | It is advantageous to use the template in a paper doll fashion. Each of these steps is a layer. The artist starts with the base, next the tunic is added. Then add the breastplate, then the leather loin protectors, and finally the weapon strap. Because these are independent layers, they can be used on other models as well. Note that the color of the tunic is grayscale, this is because it is used as player color; more on that in the next topic. |
572 | | Player color is a special attribute of the game to serve the purpose of showing player ownership. It uses the alpha channel of a texture to apply a multiplied color layer (defined by the game, and player) in real time during the game. These textures can be made several different ways. One way is to use the photoshop DDS plugin noted above. The preferred method is to save a TGA (if you are working directly with alpha channels) or a BMP (if you are working with a flat texture with no alpha), and process it with the Pyrogenesis texture converter found in game’s developer tools. This may be found here in the game’s binaries: |
573 | | |
574 | | \binaries\system\textureconv |
575 | | |
576 | | The folder contains a readme.txt file with specific instructions for us. Note the image to the left has the RBG channel above at the top. The lower channel is a representation of the alpha layer (You are actually able to convert in this manner with a BMP file and the texture converter tool). What the game does is it uses that layer to designate what areas of the texture would receive color and what doesn’t. Black means it is player color and white means it is opaque RBG. Grays are a degree of transition between opaque and player color. The game then ‘multiplies’ the player color with the RBG layer’s gray tones. Compare the left image below to the right. It basically adds the RGB pixel color values between the 2 ‘layers’. |
| 457 | Player color is a special attribute of the game to serve the purpose of showing player ownership. It uses the alpha channel of a texture to apply a multiplied color layer (defined by the game, and player) in real time during the game. These textures can be made several different ways. One way is to use the photoshop DDS plugin noted above. The preferred method is to save a TGA (if you are working directly with alpha channels) or a BMP (if you are working with a flat texture with no alpha), and process it with the Pyrogenesis texture converter found in game’s developer tools. This may be found here in the game’s binaries: |
| 458 | |
| 459 | \binaries\system\textureconv |
| 460 | |
| 461 | The folder contains a readme.txt file with specific instructions for us. Note the image to the left has the RBG channel above at the top. The lower channel is a representation of the alpha layer (You are actually able to convert in this manner with a BMP file and the texture converter tool). What the game does is it uses that layer to designate what areas of the texture would receive color and what doesn’t. Black means it is player color and white means it is opaque RBG. Grays are a degree of transition between opaque and player color. The game then ‘multiplies’ the player color with the RBG layer’s gray tones. Compare the left image below to the right. It basically adds the RGB pixel color values between the 2 ‘layers’. |
586 | | Object color is much the same as player color. It’s purpose is to offer a variety of color other than player color. For example, by using one single texture one is able to create a human head texture with a variety of hair colors: blonde, dirty blond, brown, gray, and black. Horse pelts also use this feature. We are able to use one texture for this purpose rather than multiple which saves space and texture memory for the game. It is designated specifically in the Actor XML file. |
587 | | |
588 | | |
| 469 | Object color is much the same as player color. It’s purpose is to offer a variety of color other than player color. For example, by using one single texture one is able to create a human head texture with a variety of hair colors: blonde, dirty blond, brown, gray, and black. Horse pelts also use this feature. We are able to use one texture for this purpose rather than multiple which saves space and texture memory for the game. It is designated specifically in the Actor XML file. |
604 | | DDS will be used for the final texture format in Pyrogenesis, However, it is also recommended that textures be created in Photoshop, Paintshop Pro, or Gimp (etc.) also be saved as Photoshop Documents PSD files, with their layer information intact, so that later revisions can be made. This will also serve as an easier way to make variations and modifications in the future. |
| 483 | DDS will be used for the final texture format in Pyrogenesis, However, it is also recommended that textures be created in Photoshop, Paintshop Pro, or Gimp (etc.) also be saved as Photoshop Documents PSD files, with their layer information intact, so that later revisions can be made. This will also serve as an easier way to make variations and modifications in the future. |
620 | | Terrains must tile. Meaning the left<=>right and top<=>bottom must seamlessly tile with each other. Terrain textures are in a large size because they are such a huge portion of what is visible on the screen. Care should be taken to avoid distinguishable repeating patterns on textures that have a high likely hood of more than 50% of the texturing being seen on the screen at a time (grass, dirt, sand, etc...). Recognizing repeating textures in unique aspects of terrain (cliff, rocks, roads, etc....) are not as critical. A texture spans approximately 11x11 tiles in the game. Scale your details on the texture accordingly. |
621 | | |
622 | | This terrain texture is for a guide for shadows. If there is a feature on the terrain (such as a rock, or a stick) that would benefit from a shadow, place the shadow to the left of that feature (not the shadow on the blue ball). This would be in line with the shadow position for the default angle and location of the sun in the game world. |
623 | | |
624 | | |
| 499 | Terrains must tile. Meaning the left<=>right and top<=>bottom must seamlessly tile with each other. Terrain textures are in a large size because they are such a huge portion of what is visible on the screen. Care should be taken to avoid distinguishable repeating patterns on textures that have a high likely hood of more than 50% of the texturing being seen on the screen at a time (grass, dirt, sand, etc...). Recognizing repeating textures in unique aspects of terrain (cliff, rocks, roads, etc....) are not as critical. A texture spans approximately 11x11 tiles in the game. Scale your details on the texture accordingly. |
| 500 | |
| 501 | This terrain texture is for a guide for shadows. If there is a feature on the terrain (such as a rock, or a stick) that would benefit from a shadow, place the shadow to the left of that feature (not the shadow on the blue ball). This would be in line with the shadow position for the default angle and location of the sun in the game world. |
628 | | |
629 | | |
630 | | This image is an example of how textures blend together in our game. There is a calculation performed by the game engine that recognizes the primary and secondary texture adjacent to tile in question itself. Based on that information it applies a suitable alpha mask. There are eleven possible different options. This template was created to help one see those options and create more transitions based on it. |
631 | | |
632 | | To use this image, you are free to modify any part of the blend aside from the pixels on the edges of the grid. It could be a simple gradient as is seen here or it could be made blotchy, or feathered. Remember that the blends must interface with one another so their border blends should match. |
| 505 | This image is an example of how textures blend together in our game. There is a calculation performed by the game engine that recognizes the primary and secondary texture adjacent to tile in question itself. Based on that information it applies a suitable alpha mask. There are eleven possible different options. This template was created to help one see those options and create more transitions based on it. |
| 506 | |
| 507 | To use this image, you are free to modify any part of the blend aside from the pixels on the edges of the grid. It could be a simple gradient as is seen here or it could be made blotchy, or feathered. Remember that the blends must interface with one another so their border blends should match. |
636 | | A skybox is an interesting graphical feature of the world. It is for the most part unimportant to the game, but goes a long way to beautifying the world. The skybox is just that. It is a large cube in the game world that does not move relative to the camera. It is comprised of five textures for all faces excluding the bottom. The textures location is: art\textures\skies\<name>. The five textures are named front, back, left, right, and top. The files are saved as 32 bit RBGA DDS files. Reason being is that there is no file compression which means there are no artifacts on the textures. The textures were created in 3DS max by setting up a 5 camera’s each facing a direction. A textured halved sphere was created. All five camera’s render an image. You can test your images in this small program: |
| 511 | A skybox is an interesting graphical feature of the world. It is for the most part unimportant to the game, but goes a long way to beautifying the world. The skybox is just that. It is a large cube in the game world that does not move relative to the camera. It is comprised of five textures for all faces excluding the bottom. The textures location is: art\textures\skies\<name>. The five textures are named front, back, left, right, and top. The files are saved as 32 bit RBGA DDS files. Reason being is that there is no file compression which means there are no artifacts on the textures. The textures were created in 3DS max by setting up a 5 camera’s each facing a direction. A textured halved sphere was created. All five camera’s render an image. You can test your images in this small program: |
684 | | Discreet's Character Studio has been the primary character animation tool for character animation. However with the use of COLLADA to export animations, a variety of software packages may be used as long as the skeleton, mesh, and animation use the same scale and bones. Standard 3DS Max Bones may also be used when a custom rig is necessary, though the total number of bones in a rig must not exceed 25. |
685 | | |
686 | | |
687 | | |
688 | | |
689 | | |
690 | | Above is the image of the hierarchy and naming convention of the basic Biped that is used for all humanoid animation in the game (Note: ignore the green boxes and the footsteps). If an alternative is desired that does not match this structure, contact the developers for support. |
691 | | |
692 | | |
| 550 | Discreet's Character Studio has been the primary character animation tool for character animation. However with the use of COLLADA to export animations, a variety of software packages may be used as long as the skeleton, mesh, and animation use the same scale and bones. Standard 3DS Max Bones may also be used when a custom rig is necessary, though the total number of bones in a rig must not exceed 25. |
| 551 | |
| 552 | Above is the image of the hierarchy and naming convention of the basic Biped that is used for all humanoid animation in the game (Note: ignore the green boxes and the footsteps). If an alternative is desired that does not match this structure, contact the developers for support. |