Warning: Supplied argument is not a valid MySQL result resource in /s/home/_jr/jemer/pub/www/SiteSGC/SGC.php on line 48

Warning: Supplied argument is not a valid MySQL result resource in /s/home/_jr/jemer/pub/www/SiteSGC/SGC.php on line 53
www.base[SGC].fr.st
 
  Accueil | Forum SGC | Forum VC | News | Recherche  


Base[SGC]
  ‡ Accueil
‡ News
‡ Recherche
‡ Forums
‡ Downloads
‡ Liens
‡ Contact
   

Vietcong
  ‡ Le jeu
‡ Fist Alpha
== MAPPING ==
‡ Les logiciels
‡ Tutorial Editeur
# s, 1, 2, 3, 4, 5, 6
‡ Tutorial 3DS Max
# s, 1, 2, 3, 4, 5, 6, 7, 8, 9
‡ Tutorial Ciel
‡ Tutorial Pluie
‡ Tutorial Echelles
‡ Index îcones
== MAPS ==
‡ Top 20
‡ 10/09/1967
‡ Potok
‡ RageinVietnam
‡ LangLy-Ruins
‡ Autres maps
   

Jeux
  ‡ America's Army
‡ Armed Assault
‡ Battlefield 2
‡ Crysis
‡ TrackMania
‡ S.T.A.L.K.E.R.
   


863701 visites
Dont
Warning: Supplied argument is not a valid MySQL result resource in /s/home/_jr/jemer/pub/www/SiteSGC/cptconnec.php on line 73
0 en ligne
~~

1024*768 minimum
~~
   

Tutorial 3DSMAX 8/9

FONCTIONS AVANCEES

Introduction

Dans ce chapitre de Fonctions avancées, on va parler des « extra » que l’on peut faire avec Vietcong en faisant un peu de programmation ou plutôt, disons qu’on va écrire quelques lignes de commandes pour appliquer des effets à des objets et ainsi réaliser par exemple :
Des caisses qui bougent comme si elles flottaient dans l’eau, mettre des distances d’affichage (Lods) pour qu’à une distance précise l’objet disparaisse et usant ainsi moins de ressources PC, faire des Sectors et Portals pour avoir des gains de fps…

PteroProps Panel

Il y a 2 méthodes pour écrire ces lignes de commande et ainsi affecter un objet, en utilisant soit le PteroProps Panel (ci-dessous à gauche) soit en allant directement dans les Propriétés.


Pour avoir le PteroProps Panel, il faut charger la bonne interface en faisant : Customize/Load Custom UI Scheme puis DefaultUI.ui dans le répertoire UI.
Ensuite enlevez la barre d’outil à gauche en la déplaçant sur la droite avec le bouton gauche de la souris enfoncé et devrait alors apparaître le panneau à gauche.
Ce panneau s’intitule le PteroProps Panel et regroupe toutes les fonctions paramétrables pour avoir un accès plus rapide que par les propriétés directes, car vous n’avez pas à écrire de codes, de lignes de commandes, ça se fait automatiquement.

Néanmoins, étant donné que tout le monde n’a pas ce panneau de commande, les explications seront données en faisant l’autre méthode, c’est à dire en tapant directement les lignes de commandes dans les propriétés de l’objet.

Lignes de commandes

Pour taper les lignes de commande, il faut aller dans les propriétés de votre objet (ici création d’un simple cube) en le sélectionnant d’abord. Puis click droit souris et properties.


Ensuite, un grand panneau arrive avec plein d’options, mais cliquez simplement sur l’onglet User Defined et vous aurez accès à tout un champ pour mettre du texte et par conséquent mettre les lignes de commandes.


Nota : Les lignes de commandes sont présentes dans l’aide de l’éditeur Vietcong Ptero-Engine dans Help/Contents/Modeling in 3dsmax 5.1/User Defined Objects Properties.

Wooble

La technologie Wooble est employée par Pterodon pour faire bouger les arbres en imitant la force du vent. On peut donc faire bouger des objets avec répétition du même mouvement. Ainsi, on peut faire des mouvements de balancement de gauche à droite ou d’avant en arrière, une rotation complexe sur plusieurs axes… On peut donc faire bouger des objets en imitant n’importe quelle force, le vent pour les arbres, la marée pour imiter des caisses flottantes dans l’eau etc…


On ne peut faire que des mouvements de rotations mais sur les 3 axes et définir les vitesses de rotation pour chaque axe.
Les 3 premiers chiffres (0.2) correspondent à l’angle (en degré) que vous donnez à votre objet. Les 3 derniers chiffres (5) correspondent à la vitesse de rotation en fonction des angles. Si vous mettez «1 », il n’y aura aucune vitesse et rien ne bougera.

ClipDistance

La fonction ClipDist est également présente dans l’éditeur. Cela consiste donc à rendre un objet invisible à partir d’une valeur que vous rentrez dans les propriétés d’un objet via 3dsmax.


La valeur 47 est rentrée dans les propriétés sous 3dsmax donc l’objet disparaîtra quand on sera au-delà de 47 mètres de l’objet
A noter qu’il est préférable de rentrée cette valeur directement avec l’éditeur Ptero le moment venu pour optimiser les fps.

LOD : Level of Detail

1- Présentation :

Le niveau du détail (LOD) est employé pour diminuer la quantité de détail graphique qui accélère de manière significative le rendu du jeu. En effet, la technologie LOD consiste à avoir un rendu très précis et très détaillé d’un objet lorsque l’on se trouve à proximité. Par contre, plus on s’éloigne et moins l’objet est détaillé et économise ainsi les précieux fps.

Pour mieux visualiser quand on doit utiliser les LOD, voici un objet où la technologie LOD ferait merveille :


Ce pont dispose de 14 poteaux parfaitement circulaires qui ont donc environ 40 côtés chacun. C’est détaillé mais inutile d’avoir un tel rendu de loin et n’économise aucun fps. Il faudrait donc mettre des LOD en dupliquant les mêmes poteaux avec le même espacement mais en utilisant que 10 côtés pour chaque poteau. Ainsi, entre 0 et 20 mètres par exemple, on aurait les poteaux hyper précis de 40 côtés et ensuite de 20m à 150m, les poteaux de seulement 10 côtés viendrait prendre place, économisant ainsi des fps. Après, au-delà de 150m, on pourrait carrément faire disparaître les poteaux.

Dans cet exemple, il y aurait donc les poteaux de 40 faces, puis 1 LOD avec 10 faces et c’est tout. Il est conseillé de ne pas dépasser 3 LOD par objet !


2- Application :

Maintenant, on va prendre un exemple plus simple pour que vous puissiez vous exercer et voir par vous-même comment fonctionne les LOD. On va donc créer un objet qui sera un simple cylindre standard (18 côtés sur 5 segments en hauteur) avec comme nom : Seektube à la place de « Cylinder01 »

Une fois cet objet créer, il faut le texturer et calibrer la texture en faisant un UVWmap comme vous l’avez appris dans le chapitre 6 : Appliquer des textures. Ensuite, une fois l’objet bien texturé, nous allons créer 2 LOD afin de diminuer le détail pour économiser les fps. Cliquez sur l’objet et dupliquez-le (chapitre 4 : Construction : les bases) et renommez-le-en :
>MONOBJET_LOD01 (ici ce sera Seektube_LOD1)

Nota : Les noms des objets LOD doivent commencer par le caractère « > »

Nota : N’oubliez pas de changer les paramètres des cylindres pour voir les modifications avec l’éditeur Ptero-Engine II.

Refait la même manipulation pour le deuxième LOD en dupliquant maintenant un des deux objets que vous renommerez-en :
>MONOBJET_LOD02 (ici ce sera Seektube_LOD2)


Seektube = 18 cotés et 5 segments en hauteur
>Seektube_LOD01 = 10 cotés et 5 segments en hauteur
>Seektube_LOD02 = 5 cotés et 5 segments en hauteur

Maintenant qu’on a nos 3 objets qui sont texturés et avec des paramètres différents, il faut qu’ils soient tous positionnés au même endroit. C’est à dire, que les 3 objets doivent se superposer et avoir tous les mêmes coordonnées dans le repère en X, Y et Z.


3- Lier les objets entre eux :

Maintenant on va lier les objets LOD (>Seektube_LOD0X) à l’objet principal (Seektube). Dans la barre de menu, cliquer sur « Graph Editors », puis « New Schematic view ».


La vue schématique reprend l’ensemble des objets présent dans le dessin.

Pour lier un objet à un autre, sélectionner le (il devient blanc) puis menu edit sélectionner connect.
Un « Z » apparaîtra à la place du pointeur de souris lorsque vous serez au-dessus des cases, maintenez le bouton gauche de la souris appuyé et glissez le pointeur vers l’objet à connecter.
Ainsi, vous devez lier le LOD01 à l’objet principal (Seektube) et le LOD02 au LOD01. Voici ci contre ce que vous devriez avoir dans le Graph Editors.

4- Paramétrer les LOD :

Fermer la vue schématique. Nous allons indiquer maintenant les parametres d’affichages des LODs.
Sélectionner l’objet principal (exemple « Seektube »). Faites bouton droit de la souris, properties. Dans la fenêtre Objet properties sélectionnez l’onglet User defined.

Cet exemple montre un cas, où il y a un objet principal avec deux LODs.L’objet principal est affiché entre 0 et 25m. Ensuite c’est le LOD01 qui prend le relais entre 25 et 50m. Enfin le LOD02 prend la suite. Le -1 qui signifie que le dernier LOD sera montré jusqu'à ce qu'il soit compris dans la visibilité de la scène définie dans l’éditor.

Ici, à été ajouté un paramètre appelé LastLodAlpha. Ceci signifie que le dernier LOD disparaîtra graduellement en devenant de plus en plus transparent. Il cessera d'être dessiné entièrement à partir de 75m.
Maintenant vous n’avez plus qu’à exporter votre objet vers l’éditor (rajout de lien pour l’export).


5- Modifier les valeurs sous l’éditeur :

Tous les paramètres qui sont saisis sous 3ds, sont modifiables sous l’éditeur. Pour ça, il faut Sélectionner l’objet en question et on a 2 solutions :
Soit avec la fenêtre Select (Home), cochez dans Display (a droite) la case Show subentites puis sélectionnez le nom de l’objet (rond rouge avec les indications LOD.


Soit en cliquant l’objet avec la sélection jaune (Toogle entity).

Une fois l’objet sélectionné, on peut changer les valeurs des LOD dans le panneau Editor Panel.


Il suffit de double cliquer dans les LODS correspondants et de changer les valeurs dans la petite fenêtre « set new LOD distance ».

Nota : Il est très difficile d’accéder à cette fonction dans le panneau de commande, car elle se trouve tout en bas. La résolution 1024x768 sur un écran 17’’ est le minimum requis pour pouvoir accéder aux Lods.

Sectors et portals

Voici la technologie ultime pour avoir des gains de fps spectaculaire. En effet, un Sector est une zone de forme quelconque, crée sous 3dsmax (cube, pavé…) où une fois à l’intérieur, les fps augmentent considérablement !

1- Comment ça fonctionne ?

Un Sector est une zone. On rentre dans cette zone par des Portals (portes, fenêtres…). Quand on se trouve à l’intérieur d’un Sector, tous les objets en dehors et qui ne touche pas le Sector ne sont pas affichés et donc non calculés ! Quand on se trouve à l’extérieur du Sector, les objets à l’intérieur ne sont pas affichés. Enfin, que l’on soit à l’intérieur ou à l’extérieur d’un Sector, dès que le regard se tourne vers un portal (avec une distance à définir), tous les objets s’affichent. Si vous traversez un Sector sans être passé par un Portal, c’est vous qui serez effacé…


2- Comment s’en servir ?

L’application d’un Sector est très difficile car des objets disparaissent si on est à l’intérieur ou à l’extérieur de la zone et on ne peut rentrer dans un Sector que par des Portals.

Il y a des lieux parfaitement adaptés qui sont les endroits clos (tunnels, grottes, pièces souterraines, bâtiments avec peu de fenêtres…) En effet, si on prend l’exemple d’un tunnel simple droit et débouchant, on entre que par les extrémités. Ainsi, on va englober tout le tunnel dans un Sector en essayant de l’adapter le mieux possible et mettre 2 Portals de chaque extrémité. Si on prend une maison, on va l’englober dans un Sector (en passant le Sector dans les murs) et mettre des Portals à chaque fenêtre et porte pour afficher l’extérieur dès qu’on regarde dehors.

Le but c’est d’avoir le moins possible d’ouverture, pour avoir le moins possible de Portals car ce ne sont pas les Portals qui augmentent les fps étant donné qu’ils affichent tout !


3- Faire un Sector :

Créer un Sector sous 3dsmax n’a rien de compliqué, surtout si vous englobez votre zone dans un cube ou un pavé. S’il faut que cela s’ajuste plus précisément à la forme d’un objet, vous devrez faire un EditMesh du cube et le modifiez suivant le nombre de segments et de vertex comme vous l’avez vu dans les chapitres précédents. Voici un exemple qui vous permettra de mieux visualiser comment faire un Sector.


Voici donc une maison, avec 3 portes donnant sur l’extérieur et 2 fenêtres, avec un toit incliné où le joueur à la possibilité de monter dessus. Le Sector aura donc la formé d’un pavé de la même longueur, largeur et hauteur que la maison avec le dessus incliné pour épouser la forme du toit.

Ci dessous, le Sector avec une forme adapté à la maison :


Renommer ce pavé modifié en Sector_Monobjet.
Ici, dans l’exemple, le Sector s’appellera : Sector_abrisb

N’oubliez pas non plus de mettre Sector=1 dans les propriétés de l’objet.


4- Faire un Portal :

Créer un Portal consiste à faire une surface plane de la taille d’une ouverture (fenêtres, portes…) voire légèrement plus grand. La difficulté est dans le positionnement du Portal par rapport au Sector. Premièrement, une surface plane n’a qu’un seul côté de visible. Deuxièmement, la surface plane doit « couper » le Sector. Faites une rotation légère du Portal afin d’avoir une intersection avec le Sector. Troisièmement, Il faut lier les Portals au Sector portant le même nom !


La vue du dessus (Top en bas à gauche) est la plus importante car elle permet de bien faire l’intersection avec le Sector. En effet, on voit bien les Portals (en vert) qui ont subi une rotation légère. Si on ne voit pas les Portals dans la vue en perspective, c’est normal, car la face invisible est toujours côté extérieur par rapport au Sector.

Et c’est là toute la difficulté… Il faut positionner les Portals dans le bon sens et étant donné que c’est une surface plane, il y a un côté visible et l’autre non. Pour résumer, le coté visible de la surface plane est dirigé face vers l’intérieur du Sector et le côté non visible est par conséquent dirigé face vers l’extérieur du Sector, et donc ici, de la maison.

Tous les Portals doivent être renommés en Portal_Monobjet.
Ici, dans l’exemple, les Portals s’appelleront :
Portal_abrisb1, Portal_abrisb2, Portal_abrisb3 etc…

Comme pour les Sectors, il faudra taper une ligne de commande dans les propriétés de vos surfaces planes qui font donc offices de Portals. Mais, c’est légèrement plus compliqué…
Les 3 derniers chiffres sont pour la couleur que prendra votre Portal et il n’est pas nécessaire de se servir de cette fonction. Mettez 0,0,0.
Les 3 premiers chiffres sont plus complexes à comprendre car agissent directement sur la fonction d’un Portal en réagissant sur la distance en mètre pour afficher les objets. Dans l’exemple ci-dessus, au-delà de 30m du Portal, les objets extérieurs ne seront pas affichés. Tout ceci ne vous dira pas grand chose et il faudra que vous pratiquiez pour comprendre par vous-même. Il est recommandé de faire simple en mettant une ligne de commande comme celle-ci par exemple :
Portal=15.0,15.0,0,0,0,0

Nota : Les valeurs seront modifiables via l’éditeur Ptero et par ailleurs vivement recommandé de les mettre avec l’éditeur.

Il reste une dernière chose à faire, c’est de lier tous les Portals au Sector. Procéder de la même façon que pour les Lods en allant dans la barre de menu, cliquer sur « Graph Editors », puis « New Schematic view ».


Les 4 Portals sont donc bien tous liés au même Sector, portant la même racine au niveau du nom et tous ont une ligne de commande dans les propriétés. Tous les Portals devront être des surfaces planes, avec la face visible côté intérieur du Sector et légèrement incliné avec une rotation. Enfin, dernier point non précisé jusqu’à maintenant, les Sectors et Portals doivent être vides, seuls pour être exportés en .BES comme un objet classique !!! Vous positionnerez via l’éditeur Ptero, le groupe Sector et Portals sur l’objet en question.


5- Avec l’éditeur Ptero :

Il y a donc du travail à faire par la suite, avec le logiciel Ptero. En effet, il faut exporter en .BES, son objet (ici la maison) et exporter en .BES le groupe Sector et Portals lié à votre objet. Ensuite, il faut charger tout ça sous l’éditeur :


Nota : N’oubliez pas de faire CTRL+H et de cocher les cases Sectors et Portals.

Sur le screen ci dessus, vous avez la maison et le Sector (en gris) et les Portals (en vert) juste au-dessus, non positionné. Il faut donc le placer manuellement.
Sur le screen ci dessous, le groupe Sector et Portals est bien positionné avec les Sectors passant entre les cloisons des murs donc ne se voyant pas et les Portals (en vert) placé pour les ouvertures. Dans l’editor, la surface plane du portal devient visible des 2 côtés.


Pour pouvoir modifier tous les paramètres d’un Sector ou d’un Portal, il faut passer par la sélection jaune en cliquant sur l’outil Toogle entity/Subentity selection (touche A du clavier).

Ainsi, si on clique sur le Sector (difficile à avoir la sélection), on peut modifier des paramètres identiques au Word Sector mais qui n’affecteront que la zone se trouvant à l’intérieur du Sector. On peut donc faire un tunnel très sombre par exemple car les paramètres du Sector en question seront indépendants et donc différents du World Sector !!!


Dernière subtilité, si on clique sur les Portals, on agira sur les paramètres ci contre, qui sont l’œuvre des lignes de commandes via 3dsmax.

Cependant, si on clique sur la face extérieure d’un Portal, on rentrera des donnés pour afficher en fonction d’une distance (en mètres) les objets se trouvant dans le Sector.

Au contraire, si on clique sur la face intérieure d’un Portal, on rentrera des donnés pour afficher en fonction d’une distance (en mètres) les objets se trouvant à l’extérieur du Sector.



Pour mieux comprendre, vous pouvez charger la map DàmNhaPhù sous l’éditeur Ptero-Engine, et ainsi analyser les Sectors et Portals. Vous pouvez aussi voir la map OldTemple, toujours via l’éditeur. N’oubliez pas non plus, de cocher les cases correspondantes en faisant CTRL+H.
~~~


Suite -> 9° - EXPORTATION
   

Forum
  ‡ Entrer
‡ Membres
‡ S'enregistrer
‡ FAQ
‡ Review
== BATAILLON ==
Soldats
== LE P'TIT BLEU ==
== FLOOD ==
33053 Messages
   

Last Posts
10 derniers posts
des forums


- FORUM SGC -
Warning: Supplied argument is not a valid MySQL result resource in /s/home/_jr/jemer/pub/www/SiteSGC/SGC.php on line 639

- FORUM VC -
Warning: Supplied argument is not a valid MySQL result resource in /s/home/_jr/jemer/pub/www/SiteSGC/SGC.php on line 670
   

Liens