WINDSURFING MMX
Création de Spot sous Blender
Modeling your own location using Blender

23 March 2011
1. Préparation et Installation
1. Prequisites and Installation
2. Tutoriel par Windsurferdu77
2. Tutorial by Windsurferdu77

Link Forum Customization:
http://www.windsurfing-the-game.com/forum/viewforum.php?f=16
Links Forum Tutorial (FR/ENG):
http://www.windsurfing-the-game.com/forum/viewtopic.php?t=971
http://www.windsurfing-the-game.com/forum/viewtopic.php?t=809
http://www.windsurfing-the-game.com/forum/viewtopic.php?t=806

1. Préparation et Installation

Salut à tous !
Voici un petit guide qui explique comment créer votre propre spot.
Un spot est intégralement défini dans son fichier custom_location_X.locsitué dans le dossier
media/models. Le X dans le nom de fichier représente son numéro (ID), qui sera compris entre 0 et 9,
signifiant que le jeu est apte à gérer jusqu’à 10 spots personnels différents en même temps.
Faites une copie de "custom_location_0.loc", renommez-la en custom_location_1.loc, et utilisez cefichier comme base pour vos essais.
Vous pouvez alors commencer par éditer ce fichier custom_location_1.loc dans lequel de nombreux
paramètres sont entrés. Ce fichier est un fichier texte, éditable par votre éditeur de texte préféré.
Gardez présent à l’esprit que Y est la direction haut, X la direction devant (face aux vagues) et Z ladirection côté. Les unités utilisées sont le mètre pour les distances et le radian pour les angles.
Vous pouvez éditer le fichier image "custom_location_1.png" situé dans le dossier
media/materials/textures, pour y insérer l’image de votre spot qui apparaîtra dans le menu des spots(voir l’image de Lost Island).
PRESSEZ la touche "I" tout en jouant et une fenêtre apparaît indiquant la position de la caméra, ceciétant utile pour repérer des coordonnées particulières.

*************** OBJETS 3D ******************
Vous devez créer des objets en 3D pour votre mise en scène en utilisant par exemple le logiciel BLENDER(open source) gratuit.
Un objet PAYSAGE devra être créé (le sol du paysage, les joueurs s’y déplaçant) et tous les autres objets
de l’environnement.

Pour créer des objets vous pouvez :-Télécharger et installer Python 2.6.4 (nécessaire pour Blender) à :http://www.windsurfing-thegame.com/MMX/files/python-2.6.4.msi- Télécharger et installer Blender 2.49b à (choisir "installation directory for user data" lorsqu'un choix estdemandé) :http://www.windsurfing-the-game.com/MMX/files/blender-2.49b-windows.exe- Télécharger et installer le logiciel qui exporte les fichiers MESH de blender (décompresser dans ledossier .blender/scripts) à :http://www.windsurfing-the-game.com/MMX/files/BlenderExport.zip- Télécharger et installer le convertisseur XML pour le jeu (qui convertit le format XML en format MESH,
appelable directement par Blender, pour cela configurer le chemin dans "preferences" de l'exporter!) à :http://www.windsurfing-the-game.com/MMX/files/XMLConvert.rar
Ci-dessous 2 excellents tutoriels pour débutants peuvent être suivis à :http://www.windsurfing-the-game.com/MMX/files/BlenderCourse-BasicsEN-v1.0.pdf
http://www.windsurfing-the-game.com/MMX/files/BlenderCourse-BasicsEN-v1.1.pdf
provenant de http://www.blendercourse.com/English.aspx

Pour faire simple, les étapes à suivre sont :-> Créer un modèle avec BLENDER-> l’exporter en un fichier .MESH et un fichier .MATERIAL-> copier le .MESH dans le dossier « models »-> copier le .MATERIAL dans le dossier “materials/scripts »-> copier vos fichiers textures dans le dossier"materials/textures"-> copier et coller un nouveau block "New Object" dans votre fichier .loc (custom_location_1.loc ) etmettre les paramètres qui lui sont nécessaires.
- JOUEZ !

-> Les objets MESH doivent être sauvegardés dans le dossier “models”.
-> Les fichiers MATERIAL pour les objets ou le ciel doivent être sauvegardés dans le dossier“materials/scripts” (example: shorebreakcoast dans le fichier"shorebreakcoast.material", NoonSkyBox4
dans le fichier"Sky.material") .
-> Les textures pour ces “ materials” sont situées dans le dossier “ materials/textures”->Les programmes “Shader” utilisés par ces “materials” doiventêtre placés dans le dossier «materials/programs ».

Utiliser des noms uniques pour tous vos objets et« materials », ceci évitera les problèmes potentiels avec
d’autres futures définitions de spots.

*************** SKYDOME ******************Un très bon outil pour créer des “skydomes” : Terragen à :http://www.windsurfing-the-game.com/MMX/files/tginstall0943.msi
Utiliser la page d’accueil OGRE3D et les tutoriels de BLENDER, si plus d’aide vous est nécessaire...

1. Prequisites and Installation

Hi Everybody!
This is a small guide explaining how to create a custom location of you own.
A location is completely defined inside its file "custom_location_X.loc", situated inside themedia/models directory. The X in the name is for its ID, which can be between 0 and 9, meaning that thegame is able to handle 10 different locations at the same time.
So you could start with making a copy of "custom_location_0.loc" namedcustom_location_1.loc, andwork on it.
You can start editing the custom_location_1.loc file now, a lot of parameters can be set. You can edit itwith any text editor, this is a simple text file.
Be aware, Y is the UP direction, X FRONT (when facing waves) and Z SIDE. Units are Meter and Radianfor angles.
You could edit the image file "custom_location_1.png" situated inside the media/materials/textures. This
image is the one that can be seen inside the locations menu.
PRESS "I" during the game to show the information window showing the camera position, this helps whenidentifying precise coordinates.

*************** 3D OBJECTS ******************You have to create 3D objects for your scene, using for example Blender which is free. You will need tocreate a landscape object (ground of the landscape, players will be walking on it) and all other objects ofthe environment.
To create objects you will need to:-Download and install Python 2.6.4 (Blender needs it):http://www.windsurfing-thegame.com/MMX/files/python-2.6.4.msi-Download and install Blender 2.49b (use "installation directory for user data" when asked for it):
http://www.windsurfing-the-game.com/MMX/files/blender-2.49b-windows.exe-Download and install the mesh exporter for blender (extract the files inside the directory.blender/scripts):
http://www.windsurfing-the-game.com/MMX/files/BlenderExport.zip-Download and install the xml converter for the game (converts xml into mesh format, can be called
directly from inside Blender if you set it inside the preferences from the xml exporter!):
http://www.windsurfing-the-game.com/MMX/files/XMLConvert.rar
2 very good tutorials for starters should be followed for this:
http://www.windsurfing-the-game.com/MMX/files/BlenderCourse-BasicsEN-v1.0.pdf
http://www.windsurfing-the-game.com/MMX/files/BlenderCourse-BasicsEN-v1.1.pdf
from http://www.blendercourse.com/English.aspx

Basically the steps are as follows:
Create model in blender -> Export as .mesh + .material -> copy the .mesh inside "models", .material
inside "materials/scripts" and your textures inside "materials/textures" -> copy and paste a new "NewObject" block inside the .loc file and set parameters for it -> Play!
Mesh Objects should be saved inside the models directory

->Materials for objects or sky should be saved inside the materials/scripts directory (example:
shorebreakcoast inside the file "shorebreakcoast.material", NoonSkyBox4 inside "Sky.material")->Textures for those materials are situated inside the directory materials/textures->Shader programs used by those materials should be placed inside the materials/programs directory
Try to use very unique names for all your objects or materials to avoid future conflicts with otherlocations!

*************** SKYDOME ******************A very good tool for creating skydomes, Terragen:http://www.windsurfing-the-game.com/MMX/files/tginstall0943.msi

Use the OGRE3D homepage and the BLENDER tutorials if you need more help...

2. Tutoriel par Windsurferdu77
2. Tutorial by Windsurferdu77

Bonjour à tous ! Pour commencer, pas besoin d'être un pro mais juste d’une petite base, sur blender,c'est pour tout le monde! J'ai pris la plage de Guincho comme exemple. Je précise que ceci est un tuto et
non pas un projet, c'est pour cela qui a ete fait rapidement.
Hello Everybody! First of all, you don’t need to be a pro, but you need a few basis knowledge on blender,
it really is for everyone! I took the beach of Guincho as an example. Please remind that this is a tutorial
and not a project, so it was made quite fast.
1) Image du spot / Picture of the location

On va deja chercher une photo de son spot via "Google maps", que l'on va ouvrir dans Blender . Ouvrez
Blender et supprimez tout ce qui s’y trouve, clickez sur "View" en bas a gauche et sur "Background
Image" et charger votre image vue du ciel.
You can start with getting a picture of your location via google maps, which we will open in Blender. Start
Blender and delete everything you can see, then click on “View” at the bottom left and then on“Background image”, then load you sky view.
sur cette image je suis en vue de dessus "7numpad"
On this image I activated the top view using “7numpad”
Attention cette image n'est visible qu’en vue de dessus et de face en "orthographic" !!
Be aware that this image is only visible in top view or front view “orthographic” mode!!

2) Ajout du mesh / Adding the mesh
Passez en mode "Edit mode" et "Wireframe" , toujours en vue de dessus faites "Add" -> "Mesh" ->"Plane" et tirez le au format de la photo.
Switch to “Edit mode” and “Wireframe”, still on top view click on “Add” -> “Mesh” -> “Plane” and adjust it
to the size of your picture.

3) mise en place des points
On va commencer à faire les points, alors commencer toujours à faire le tour et faites l'intérieur après.
Attention plus il y a de points, plus le rendu final dans le jeu sera bon !
Pour faire des points faites "Ctrl" + "clic gauche". Pour relier 2 point ensemble selectionnez les 2 et faites"F".
We will now start building the vertices (=points), always start with the outline and do the inside after it.
Remember that the more vertices you set, the better the location looks in the game!
To add a new vertice, press Ctrl+Left click. To connect 2 vertices select both and press “F”.

Pour commencer une nouvelle ligne, cliquez sur la petite main afin de retirer le déplacement, autrement
l’ancienne ligne reste active.
To start a new line, click on the little hand otherwise the old line will remain active.Voila le résultat une fois fini.
This is how it should look like once finished.

Dans une autre vue que celle de dessus.
Looking at it from a different view.

Maintenant vous pouvez supprimer les 4 points qui nous on servi de base.
Now you can delete the 4 vertices that were created at the beginning.

4) Mise en position des Faces / Building the faces
On va passer aux Faces. Sélectionner 3 à 4 points et appuyer sur "F".
We will start building the faces. Select 3 or 4 vertices and press “F”.
En cours:In progress:

Fini :Done:

5) Point très important !!! / Very important step!!!
Passer en mode "Textured" et vous devriez avoir votre mesh tout blanc.
Si ce n'est pas le cas selectionnez tout "A" et faites "Mesh" -> "Normal" -> "Flip"
Switch to the “Textured” mode and your whole mesh should be white.
If this is not the case, select all faces and click "Mesh" -> "Normal" -> "Flip"

Vous devriez avoir ça une fois fini.
Once finished, it should look like this.

6)Extrusion / Extrusion
Passer en "Wireframe"
Switch to Wireframe mode

Maintenant selectionner tout votre mesh "A".
Passer en vue de face "1numpad", appuyer sur "E" et "Region" et faites glisser votre sélection jusqu'àvotre hauteur voulue.
Now select your whole mesh “A”.
Switch to front view with “1Numpad”, Press “E” and “Region” and swipe your selection up to the requiredheight.

Et voila le résultat.
This is the result:Vous pouvez maintenant modéliser votre mesh.
You can now edit your mesh.

Voila le résultat , ce n'est qu'un exemple rien a été poussé. Vous pouvez faire votre relief grâce a desphotos ou vos connaissances.
This is the result, just an example, nothing was treated in detail. You can make your own landscape using
pictures or your own knowledge.

7)Texture / Texturing
On va commencer a mettre une texture. Cliquer sur "Materiaux buttons" et faites "Add new".
We will start texturing the model. Click on the “Materials” button and select “Add New”.

Aller dans "Texture Buttons" ou "F6".
Faites "Add new", clicker sur "none" et selectionner "image".
Select the “Texture” button or “F6”Click “Add New”, click on “none” and select “image”.

Faites "Load" et selectionnez votre texture dans un répertoire et faites "select file".
PS: Pour ceux qui veulent trouver des textures aller sur "cgtexture.com" c'est un site complet avec destextures en tout genre.
Select “Load” and select your texture from a directory, click “select file”.
Hint for who wants to find good textures, go to “cgtexture.com”, a website with textures of all types.

Voilà votre texture importer.
Here is how your imported texture should look like.

Retourner sur "Materiaux buttons" et clicker sur "Tex face".
Go back to the materials using the “Materials” button and click on “Tex face”.

Maintenant on va diviser notre écran en 2.
Mettez votre curseur jusqu'à voir les flèches pour étirer et faites click droit dessus et faites "Split Area".
We will now divide the screen into 2 parts.
Put the mouse cursor at a place where you can see the stretch arrows, right click and choose “SplitArea”.

Selectionner "UV/Image Editor".
Select “UV/Image Editor”.

Clicker sur “Map Input" et clicker sur "UV".
Click on “Map Input” and select “UV”.

Maintenant sélectionner les faces qui vont recevoir votre texture.
Appuyer sur "U" et cliquer sur "Unwrap (smart projection)".
Une fois que votre sélection est dans "UV/Image Editor", cliquer sur la petite flèche pour choisir votre
texture.
Now select the faces that will be using your texture.
Press “U” and then select “Unwrap (smart projection)”.
Once your selection is shown inside the “UV/Image Editor”, click on the small arrow to choose yourtexture.

Ensuite faites "View", "View Properties", "UV strech", "Angle". Les zones vertes ne sont pas bonnes il fautles bouger avec "G" pour qu'elle soient bleues.
Then select “View”, "View Properties", "UV strech", "Angle". The green zones are not good enough, youhave to moves them using “G” in order to make them appear blue.

Maintenant notre texture a été ajoutée sur notre mesh. Pour certains cas vous ne verrez pas votre
texture vous verrez juste du blanc. Pour cela aller dans "Mesh" , "Normal" , "Flip".
Now your texture has been assigned to your mesh. In some cases you will not be able to see you texture,
it will just appear white. To fix this go to "Mesh" , "Normal" , "Flip".

Et voila notre mesh terminé. :pThere you are, mesh done. :p8) Exportation / Exporting
N'oubliez pas de sauvegarder votre mesh.
Pour exporter mettez-vous en "Edit mode" et "Textured".
Après faites "Files", "Export", "OGRE Meshes".
Important, sélectionnez "Game Engine Materials".
Choisissez le lieu de sauvegarde et faites "Export" et "Quit".
Don’t forget to save your work.
To export the mesh, set Blender in “Edit Mode” and “Textured”.
After that click "Files", "Export", "OGRE Meshes".
Important: Select "Game Engine Materials".
Choose the place to export and click "Export" and "Quit".

9) Installation / Installing
Votre mesh et material on été exportés , il faut maintenant les placer dans leur dossier.
PS : les meshes sont exportés en format .XML pour ma part, convertissez les en .mesh avec "XMLConvert" énoncé plus haut. Le mesh converti peut être renommé.
Donc:Mesh -> Media/Models/Materials -> Media/Materials/Script/
Texture -> Media/Materials/Texture/
Maintenant on va s'occuper du fichier .loc .
Faites une copie et changez le 0 par un chiffre de un 1 a 10.
Choisissez le nom de votre spot après "location name".
Your mesh and materials have been exported, you now have to move them to the right folders.
Notice: the meshes are exported in .XML format in my case, convert them in .mesh format using the“XML Convert” mentioned above. The converted mesh can be renamed, then.
So:Mesh -> Media/Models/Materials -> Media/Materials/Script/
Texture -> Media/Materials/Texture/
Now it is time to edit the .loc file. Make a copy and change the 0 with a number form 1 to 10. Choose thename of your location after “location name”.

Après on va mettre les coordonnées de notre mesh a la ligne "[Landscape]". Mettez le nom de votre
mesh à la place de l'ancien.
Now we will enter the position of our mesh on line "[Landscape]". Enter the name of your mesh file at theplace of the old one.

PS : pour ma part j'ai supprimé tout les objets déjà présents afin d'y voir clair.
IMPORTANT!!!: Votre mesh n'est pas à l'échelle, changer les valeurs de "Landscape scale" pour voir votre
mesh. Perso pour cet exemple j'ai dû mettre à 100 partout pour avoir une plage assez grande.
Note: in my case, I deleted all existing objects in order to have a better overview.
IMPORTANT!!!: Your mesh is not at the right scale, change the values at “Landscape scale” in order tosee your mesh. Personnally for this example I had to set it to 100 to have a beach large enough.
Et voilà le résultat:
And here is the result:

Conclusion:
Pour cet exemple je n'ai mis qu'une texture, mais cela ne change en rien à en mettre une trentaine , ilsuffit juste de reprendre l'operation "7) texture" indiquée plus haut.
For this example I used only one texture, but it is the same as having 30 or more, you just need torepeat the step 7) Texturing described above.
Pour ceux qui auraient des soucis n'hésitez pas a m'envoyer vos fichier .Blend
For those of you having trouble don’t hesitate to send me your .Blend files.
Et pour tout problème le faire partager sur le forum.
And for all kind of problem share it on the forum.
Cordialement.
Best regards,
Windsurferdu77