Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
fr:generation_de_zone [2016/11/28 22:51] – [Création d'une nouvelle carte] YannK | fr:generation_de_zone [2018/09/24 22:22] – Ajout d'un tip sur qui contacter Sit Melai | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Génération d'une nouvelle zone ====== | ====== Génération d'une nouvelle zone ====== | ||
- | ====== Création d'une nouvelle carte ====== | + | {{ : |
<WRAP center round info 80%> | <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, | 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, | ||
</ | </ | ||
+ | |||
+ | <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' | ||
+ | </ | ||
+ | |||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
Ligne 82: | 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" |
- | 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" | + | |
- | 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" | + | Now convert your patch mesh using the "NeL convert" |
- | 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 | + | You can paint over several patch meshes by adding a paint modifier |
- | 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 108: | 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 115: | Ligne 109: | ||
http:// | http:// | ||
- | 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 125: | 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 147: | 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 160: | 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 " | + | - Compilated some binaries and putted them in the " |
- | (zone_dependencies.exe, | + | |
- | is not use anymore) | + | |
c) Data exportation | c) Data exportation | ||
Ligne 168: | Ligne 148: | ||
You have to export those data: | You have to export those data: | ||
- | - The .zone files in the " | + | - The .zone files in the " |
- | exported from 3dsmax) | + | |
- The .bank file in the " | - The .bank file in the " | ||
- | - The .ig files (named like the zone) in the folder " | + | - The .ig files (named like the zone) in the folder " |
- | group file exported from max) | + | - The .shape files (for trees, building or every things that cast shadows on the landscape) in the folder " |
- | - 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 " |
- | the landscape) in the folder " | + | |
- | - The .tga files (for the shapes used for alpha blending and for displace | + | |
- | tiles) in the folder " | + | |
d) Configure | d) Configure | ||
Ligne 186: | 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, | + | All the building process in incremental, |
- | 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/ |
- | patches when they are far. | + | |
- | This bank is computed with the .bank file and the tiles texture. see the | + | |
- | project: | + | |
- | cvs/ | + | |
==== Procédure par un utilisateur ==== | ==== Procédure par un utilisateur ==== | ||
Ligne 220: | Ligne 185: | ||
Hi Neuser, | Hi Neuser, | ||
- | njp> Is somebody can tell me the how to begin ? i just want to make a very | + | njp> Is somebody can tell me the how to begin ? i just want to make a very little landscape |
- | little | + | |
- | njp> | + | |
- | There is an outline for generating the Landscape at | + | There is an outline for generating the Landscape at http:// |
- | http:// | + | |
- | I'll give you my perspective that you can | + | 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): |
- | 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: | + | You have to install the plugins in Plugin_MAX: nel_export, nel_patch_converter, |
- | nel_export, nel_patch_converter, | + | |
- | and tile_utility. | + | |
- | You need to install and compile zone_dependencies, | + | You need to install and compile zone_dependencies, |
- | zone_welder, | + | |
- | set up you tools/ | + | |
- | is good to use the Cygwin tools when dealing | + | |
- | with the command-line interface of the build_game_data | + | |
- | tools. | + | |
- | 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. | + | |
- | 0. Open an empty MAX project. | + | - Open an empty MAX project. |
- | 1. Set the MAX units to Generic Units. | + | |
- | 2. Create a Quad-Patch with 4-5 segments | + | |
- | 3. Set the size of the Patch to 160x160 | + | |
- | 4. Find out the positions the Patches need to be, positions are | + | |
- | fixed based on the name you give the Patch. | + | |
- | if you have a Patch that you decide to call 8_AN the position | + | |
- | if that patch would be 2160(x), | + | |
- | 5. Name the patch the Zonename you decide to start with for | + | |
- | example you could start with 8_AN at above position. | + | |
- | 6. Clone the Patch you just created. | + | |
- | 7. 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. | + | |
- | 8. 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. | + | |
- | 9. Now you got a Plane with x many Patches. | + | |
- | 10. 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. | + | |
- | 11. Now you have shaped the Landscape as you want. | + | |
- | 12. Find the NelConvert modifier in the MAX menu, apply it | + | |
- | to all the patches. | + | |
- | 13. 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. | + | |
- | 14. Select the first Patch you want to paint and make that | + | |
- | selected Patch fill up your Perspective View. | + | |
- | 15. Find and select the NeL Patch Painter and apply that | + | |
- | modifier to the Patch. | + | |
- | 16. Press the Paint button in the NeL Patch Painter, Geometry | + | |
- | roll-out. | + | |
- | 17. 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. | + | |
- | 18. Quit the paint tool and select the next Patch to paint. | + | |
- | 19. Finish painting all your Patches. | + | |
- | 20. Run the build_game_data ./ | + | |
- | 20. Select all your Patches/ | + | |
- | function in the NeL Export tool. Save them into your | + | |
- | build_game_data/ | + | |
- | manually using ./ | + | |
- | to automatically export the Patches from Max using | + | |
- | the scripting interface, then use ./ | + | |
- | 21. Copy your shapes into processes/ | + | |
- | .smallbank tile file into processes/ | + | |
- | and you instance_groups into processes/ | + | |
- | 21. Change all the config files in build_game_data to | + | |
- | reflect the names you decided on for the Patches/ | + | |
- | 22. If you are exporting the Patches/ | + | |
- | then use: ./ | + | |
- | Patches/ | + | |
- | 22. Now Landscape will be welded and lit and the | + | |
- | final result appear in zone_lighted in the process/ | + | |
- | tree. And the lit instance groups will appear in | + | |
- | process/ | + | |
- | 23. Your collision files will be in processes/ | + | |
- | This was from the top of my head... It's not very | + | This was from the top of my head... It's not very complete especially tile creation and build_game_data parts. |
- | complete especially tile creation and build_game_data | + | |
- | parts. | + | |
- | questions. | + | |
Warm regards, | Warm regards, |