Logo Khaganat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
fr:generation_de_zone [2016/11/26 17:16] – créée YannKfr:generation_de_zone [2021/12/03 18:19] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== Génération de zone ======+====== Génération d'une nouvelle zone ======
  
-<WRAP center round important 60%> +{{ :fr:npptest.jpg?direct&300 |}}
-Ceci est un copier/coller issu de [[http://lists.nongnu.org/archive/html/nel-all/2001-10/msg00052.html|la ML Opennel]] du 19 octobre 2001, par Cyril 'Hulud' Corvazier+
  
-Il faut mettre en forme/traduire/adapter+<WRAP center round info 80%> 
 +Le tutoriel ci-dessous est basé sur le recours à un logiciel privateur car il s'agit du seul outil actuellement capable de réaliser toutes les opérations, grâce à un plugin dédié compilé spécialement pour lui. Nous espérons qu'un jour un outil libre pourra le remplacer dans la chaîne.
 </WRAP> </WRAP>
  
 +<WRAP center round tip 60%>
 +Ryzom Forge (Ulukyn) ont réussis à ajouter une nouvelle zone, il semble. (Je n'ai pas tout à fait compris si c'est en partie basé sur des zones Nevrax ou complètement nouveau, en tout cas c'est plus que jusqu'à maintenant!) Alors si quelqu'un veut étudier les zones, faudrait essayer d'en discuter avec Ulukyn (et Kaetemi + sfb/esseffbee qui sont réapparus sur le canal #ryzom récemment)
 +</WRAP>
  
-The landscape is done in 2 steps: 
  
-First step : artist creation of landscape data (textures and geometry) +<WRAP center round important 60%> 
-Second step offline processing of final data+Tutoriel en cours de conception et de rédaction. Hautement instable et à valider. 
 +\\ Penser à indiquer la façon pour importer une seule zone dans [[fr:creation_nouveau_continent#peinture]] 
 +</WRAP>
  
-1) ----- Creation process 
  
-a)  Draw some tiles+===== Mise en forme de la zone =====
  
-Tiles are textures that will be applied on the landscape. Tiles size can be +===== Texturage de la zone =====
-128x128 or 256x256. +
-A 128x128 tile will be used to map a 2x2 meter aera. +
-They are 24bits TGA files. +
-Tiles are grouped by tileset. Contraints for tiles in the same tileset: +
--> The up and down pixel border of tiles must be the same. +
--> The left and right pixel border of tiles must be the same.+
  
-You will need some 8 bits TGA textures to make smooth transitions between +==== Création de la tilebank ====
-tileset. This special "transition tiles" +
-are 128x128. To complete all possible transitions you need 48 alpha +
-textures. In fact, only 12 are needed +
-with some rotations.+
  
-You will need displacement tiles too. Displacement tiles are like bump maps. +Nous vous renvoyons sur la page détaillant ce processus : [[fr:conception_et_preparation_des_textures_environnementales]]
-They are 8 bits TGA file of 32x32 pixels. +
-Each tileset can have 16 differents displacement tiles.+
  
-To know more about how to draw your texture tiles and alpha tilescheck the +==== Application des textures ==== 
-following document:+Dans 3DSMaxune fois que le Quadpatch de 160x160m a été créé et est prêt à recevoir ses textures, il faut lui appliquer le Modificateur "NelConvert" puis "NelEdit" et enfin, 'Nel Painter' 
 +\\ Aller dans l'Onglet Outils, choisir "Nel Tile Bank" et choisir la tilebank qu'on souhaite. 
 +\\Revenir au menu des modificateurs, Choisir la vue 'top' dans viewport et cliquer sur 'Paint'
 +Les commandes pour gérer l'application des textures sont les suivantes : 
 +{{ nelpaintercheatsheet.jpg?direct&300 |}}
  
-http://www.nevrax.org/download/examples/tile_bank.doc (330 ko)+===== Export de la zone =====
  
-b) Build a tilebank file+===== Construction de la zone avec les scripts de build_gamedata =====
  
-The tilebank file is edited with tile_edit.exe. The project is +===== Mise à disposition des données pour le client et le serveur =====
-cvs/code/nel/tools/3d/tile_edit+
  
-- You will setup your tilesets by listing your bitmaps. Note that pixel +===== Notes depuis la ML OpenNeL ===== 
-checks are made at this step to check constraints describle above. +==== Explications par le lead 3D de Nevrax Hulud ==== 
-- You have to list your transition textures. There is a button "batch load" +<WRAP center round important 60%> 
-to load all your transition tiles in one time if the file name +Ceci est un copier/coller issu de [[http://lists.nongnu.org/archive/html/nel-all/2001-10/msg00052.html|la ML Opennel]] du 19 octobre 2001, par Cyril 'Hulud' Corvazier
-is normalized ( alpha_trans_00.tga alpha_trans_01.tga where the number +
-follow the convention gived in tile_bank.doc). +
-You have to list your displacement tiles too. +
-You have to define one or several land. A land is a set of tileset.+
  
-Here is snowballs's tilebank with its textures (i have added some bumpy +Il faut mettre en forme/traduire/adapter 
-displacement map) :+</WRAP>
  
-http://www.nevrax.org/download/examples/tilebank.zip (3 Mo) 
  
-Don't forget to change the absolute path of the bank in tile_edit. Or you +The landscape is done in 2 steps:
-will not be able to see the texture in the tool.+
  
-At the question  "What the tile set's children are for ?" the answer is +First step artist creation of landscape data (textures and geometry) 
-nothing, it is obsolete :)+Second step offline processing of final data 
 + 
 +1----- Creation process 
 +<SNIP>
  
 c) Build the zones geometry c) Build the zones geometry
Ligne 96: Ligne 87:
 and colors. and colors.
  
-Before painting, you must set the bank you want to use it in 3dsmax. To do +Before painting, you must set the bank you want to use it in 3dsmax. To do so, use the utility plugin called "NeL Tile Bank". Choose your bank on your hard disk. (Don't forget to set the absolute path of the bank in tile_edit). No need to "Setup material". If you do this, the plugin will generate a material per tile and try to map patches with it. When your bank become big, this take a lot of resources.
-so, use the utility plugin +
-called "NeL Tile Bank". Choose your bank on your hard disk. (Don't forget to +
-set the absolute path +
-of the bank in tile_edit). No need to "Setup material". If you do this, the +
-plugin will generate a material +
-per tile and try to map patches with it. When your bank become big, this +
-take a lot of resources.+
  
-Now convert your patch mesh using the "NeL convert" modifer. Now your object +Now convert your patch mesh using the "NeL convert" modifer. Now your object is a NeL patch mesh and not a patch mesh. Now add a painter modifier. You can paint.
-is a NeL patch mesh and +
-not a patch mesh. Now add a painter modifier. You can paint.+
  
-You can paint over several patch meshes by adding a paint modfier over +You can paint over several patch meshes by adding a paint modifier over several NeL patch meshes.
-several NeL patch meshes.+
  
 Now you should see the patch painter in a NeL window. Main commands are: Now you should see the patch painter in a NeL window. Main commands are:
Ligne 122: Ligne 103:
 etc... etc...
  
-See cvs\code\nel\tools\3d\plugin_max\nel_patch_paint\user_guide.txt for +See cvs\code\nel\tools\3d\plugin_max\nel_patch_paint\user_guide.txt for other commands.
-other commands.+
 You can configure it by editing the keys.cfg file. You can configure it by editing the keys.cfg file.
  
Ligne 129: Ligne 109:
 http://www.nevrax.org/download/examples/snowballs_zones.zip (1 Mo) http://www.nevrax.org/download/examples/snowballs_zones.zip (1 Mo)
  
-Note that to do that kind of work, you need a modifier you don't have : edit +Note that to do that kind of work, you need a modifier you don't have : edit patch for NeL patch meshes. The reason is it is based on Discreet source code. With nomal edit patch you can subdivide patches, extrude, bievel etc.. You can't for example, change the number of tiles on a patch.
-patch for NeL patch meshes. The reason +
-is it is based on Discreet source code. With nomal edit patch you can +
-subdivide patches, extrude, bievel etc.. You can't for example, change the +
-number of tiles on a patch.+
  
 e) Performance issues e) Performance issues
Ligne 139: Ligne 115:
 Some notes about performances: Some notes about performances:
  
-- You can make a lot of zone. I can't tell you the zone count for our +- You can make a lot of zone. I can't tell you the zone count for our project, but it is high :)
-project, but it is high :)+
 - 700 128x128 textures is a good count. (Use DXTC5 !) - 700 128x128 textures is a good count. (Use DXTC5 !)
-- 50 patches of 16x16 tiles per zone is the max peek you should use. +- 50 patches of 16x16 tiles per zone is the max peek you should use. Equivalent to 200 patches of 8x8 tiles. 
-Equivalent to 200 patches of 8x8 tiles. +- A tile should be 2x2 meters on the ground. It give you 1.5 centimeter pixel ratio. Double than quake 3 walls but on a landscape ! So with the given patch count, you have twice the surface of the zone to model it.
-- A tile should be 2x2 meters on the ground. It give you 1.5 centimeter +
-pixel ratio. Double than quake 3 walls but on a landscape ! So with the +
-given patch count, you have twice the surface of the zone to model it.+
  
-Now your zones are modeled, painted, colored and displaced. Time for +Now your zones are modeled, painted, colored and displaced. Time for processing.
-processing.+
  
 1) ----- Offline process-- 1) ----- Offline process--
Ligne 161: Ligne 132:
 a) What does mean 'Build the NeL lanscape' ? a) What does mean 'Build the NeL lanscape' ?
  
-Once you have created your tile bank and your landscape zones, you will need +Once you have created your tile bank and your landscape zones, you will need to preprocess your zone in order to:
-to preprocess your zone +
-in order to:+
  
 - Weld the boundary vertices of the zones - Weld the boundary vertices of the zones
-- Light the zones with shadows casted by the landscape and the static +- Light the zones with shadows casted by the landscape and the static objects (like trees, buildings..)
-objects (like trees, buildings..)+
  
 b) Requirement b) Requirement
Ligne 174: Ligne 142:
  
 - Installed Cygwin tools and set the PATH properly. (Under windows) - Installed Cygwin tools and set the PATH properly. (Under windows)
-- Compilated some binaries and putted them in the "bin/" folder. +- Compilated some binaries and putted them in the "bin/" folder. (zone_dependencies.exe, zone_welder.exe, zone_lighter.exe. zone_smoother.exe is not use anymore)
-(zone_dependencies.exe, zone_welder.exe, zone_lighter.exe. zone_smoother.exe +
-is not use anymore)+
  
 c) Data exportation c) Data exportation
Ligne 182: Ligne 148:
 You have to export those data: You have to export those data:
  
-- The .zone files in the "zone_exported/" folder. (NeL landscape zone files +- The .zone files in the "zone_exported/" folder. (NeL landscape zone files exported from 3dsmax)
-exported from 3dsmax)+
 - The .bank file in the "bank/" folder. (NeL bank edited with tileedit) - The .bank file in the "bank/" folder. (NeL bank edited with tileedit)
-- The .ig files (named like the zone) in the folder "ig/". (NeL instance +- The .ig files (named like the zone) in the folder "ig/". (NeL instance group file exported from max) 
-group file exported from max) +- The .shape files (for trees, building or every things that cast shadows on the landscape) in the folder "shaped/" 
-- The .shape files (for trees, building or every things that cast shadows on +- The .tga files (for the shapes used for alpha blending and for displace tiles) in the folder "maps/"
-the landscape) in the folder "shaped/" +
-- The .tga files (for the shapes used for alpha blending and for displace +
-tiles) in the folder "maps/"+
  
 d) Configure d) Configure
Ligne 200: Ligne 162:
 * 0_clean_all.bat - clean all the directories. * 0_clean_all.bat - clean all the directories.
  
-* 1_build_dependencies.bat - build dependencies files. Each zone will have a +* 1_build_dependencies.bat - build dependencies files. Each zone will have a dependency file in which is listed the zone that cast shadow on it. -> generate the .depend file in the folder zone_depend/
-dependency file in which is listed the zone that cast shadow on it. -> +
-generate the .depend file in the folder zone_depend/+
  
-* 2_weld.bat - Weld the zones. -> generates the .zonew files in the folder +* 2_weld.bat - Weld the zones. -> generates the .zonew files in the folder zone_welded/
-zone_welded/+
  
-* 3_light.bat - Light the zones. -> generates the .zonel files in the folder +* 3_light.bat - Light the zones. -> generates the .zonel files in the folder zone_lighted/
-zone_lighted/+
  
-All the building process in incremental, ie, if you modify only ONE .zone +All the building process in incremental, ie, if you modify only ONE .zone file, the weld pass will modify the zonew file and each neighbors of this zone. The light pass will relight only the .zonew modified files.
-file, the weld pass will modify the zonew file and each neighbors of this +
-zone. The light pass will relight only the .zonew modified files.+
  
-The .zonel files are the final zone files. They are loaded by the engine. +The .zonel files are the final zone files. They are loaded by the engine. (see snowballs 2 source code for detail).
-(see snowballs 2 source code for detail).+
  
 f) farbank building f) farbank building
  
-You will need to compute a farbank. The farbank is the bank used to map the +You will need to compute a farbank. The farbank is the bank used to map the patches when they are far. This bank is computed with the .bank file and the tiles texture. see the project: cvs/code/nel/tools/3d/build_far_bank 
-patches when they are far. + 
-This bank is computed with the .bank file and the tiles texture. see the +==== Procédure par un utilisateur ==== 
-project: +<WRAP center round important 60%> 
-cvs/code/nel/tools/3d/build_far_bank+Ceci est un copier/coller issu de [[http://lists.nongnu.org/archive/html/nel-all/2002-02/msg00167.html|la ML Opennel]] du 28 février 2002, par Robert Bjarnason, qui explique une procédure qu'il a testée 
 + 
 +Il faut mettre en forme/traduire/adapter 
 +</WRAP> 
 + 
 +Hi Neuser, 
 + 
 +njp> Is somebody can tell me the how to begin ? i just want to make a very little landscape  ( a plane is sufficient ! ) 
 + 
 +There is an outline for generating the Landscape at http://www.nevrax.org/pipermail/nel/2001-October/000654.html 
 + 
 +I'll give you my perspective that you can check out in addition to the above mailing-list post. (This is a more hand on approach compared to Ligo, I'm not sure my self how to use Ligo): 
 + 
 +You have to install the plugins in Plugin_MAX: nel_export, nel_patch_converter, nel_patch_paint, and tile_utility. 
 + 
 +You need to install and compile zone_dependencies, zone_welder, zone_lighter and zone_ig_lighter. And set up you tools/3d/build_game_data correctly (it is good to use the Cygwin tools when dealing with the command-line interface of the build_game_data tools.  Set the build_game_data config to only process zone and rbank if you are not processing something else.  Also you have to install the PACS collision processing tools for the rbank process. 
 + 
 +  - Open an empty MAX project. 
 +  - Set the MAX units to Generic Units. 
 +  - Create a Quad-Patch with 4-5 segments 
 +  - Set the size of the Patch to 160x160 
 +  - Find out the positions the Patches need to be, positions are fixed based on the name you give the Patch. for example if you have a Patch that you decide to call 8_AN the position if that patch would be 2160(x),  1200(y) in the Max world space. 
 +  - Name the patch the Zonename you decide to start with for example you could start with 8_AN at above position. 
 +  - Clone the Patch you just created. 
 +  - Set the name and position correctly by using a new zone name and corresponding absolute world position. If you set the name to 8_AO then the position will be 2320(x), -1200(y) it seems to me that the x position changes with the letter counting in the end of the Zonename and the y position changes with the numbers in the front of the name. 
 +  - Now clone as many patches as you like to create a plane that is the Landscape. Make sure to use the right Patch/Zone names and their position are correct. 
 +  - Now you got a Plane with x many Patches. 
 +  - Deform the Patches as you like using the Edit Patch modifier, a standard tool in Max.  You can also use a Displacement map at this point, just use the appropriate modifier in MAX. 
 +  - Now you have shaped the Landscape as you want. 
 +  - Find the NelConvert modifier in the MAX menu, apply it to all the patches. 
 +  - Now select Tools and find the tool called Nel Tile Bank, use this tool to select the Tile Bank you have created. The Tile Banks hold all textures, transition maps, displacement maps (for making geometric noise) and info about what vegetations set is connected to tiles. 
 +  - Select the first Patch you want to paint and make that selected Patch fill up your Perspective View. 
 +  - Find and select the NeL Patch Painter and apply that modifier to the Patch. 
 +  - Press the Paint button in the NeL Patch Painter, Geometry roll-out. 
 +  - Now you can Paint you patch with the tool that pops up. The key definition is included in the src archive of the nel_patch_paint plugin. 
 +  - Quit the paint tool and select the next Patch to paint. 
 +  - Finish painting all your Patches. 
 +  - Run the build_game_data ./0_setup.bat. 
 +  - Select all your Patches/Zones and use the Export Model function in the NeL Export tool.  Save them into your build_game_data/processes/zone/zone_exported folder manually using ./3_build.bat or use build_game_data to automatically export the Patches from Max using the scripting interface, then use ./2_export.bat. 
 +  - Copy your shapes into processes/shapes/shapes, your .smallbank tile file into processes/smallbank/smallbank and you instance_groups into processes/ig/ig_land. 
 +  - Change all the config files in build_game_data to reflect the names you decided on for the Patches/Zones. 
 +  - If you are exporting the Patches/Zones manually then use: ./3_build.bat if you are exporting the Patches/Zones automatically use ./2.export.bat. 
 +  - Now Landscape will be welded and lit and the final result appear in zone_lighted in the process/zone tree. And the lit instance groups will appear in process/zone/ig_land_lighted. 
 +  - Your collision files will be in processes/rbank/output
  
 +This was from the top of my head... It's not very complete especially tile creation and build_game_data parts.  Feel free to ask if you have specific questions.
  
 +Warm regards,
 +Róbert Bjarnason
  
-{{tag>graphisme NeL}}+{{tag>Serveur Client Carte Données graphisme NeL client_rc_obsolete}}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/generation_de_zone.1480180614.txt.gz · Dernière modification : (modification externe)

Licences Mentions légales Accueil du site Contact Inclusion