Partage
  • Partager sur Facebook
  • Partager sur Twitter

[HL1] Trucs et astuces

    3 mars 2011 à 19:16:10

    tes serieux
    • Partager sur Facebook
    • Partager sur Twitter
    Mappeur et fan de la communauté HL1... Mapping-fusion et fait pour vous Mon site : http://Decalpeur.fr
      3 mars 2011 à 19:42:52

      Citation : Sh@dow

      Inventif, l'idée est pas con est rend bien ^^
      Dites à propos de reflets spirit of half life n'avait pas une entité bloc qui gérait ça?


      C'est possible, j'ai entendue parler d'un truc comme ca, mais c'est pas un reflet totale("ca tient plus d'une astuce"), mais en fait j'ai beau chercher un tuto pour sohl en francais je ne trouve pas :( !
      • Partager sur Facebook
      • Partager sur Twitter
        8 mars 2011 à 16:16:40

        Créer une table de commandes pour un Air Force



        La fameuse table de commandes dans le chapitre Tension en surface de Half-Life... Un truc assez impressionnant pour un débutant du mapping. Et pourtant pas si dur que ça.

        Commencez par créer une zone à bombarder. Moi je vais travailler sur ce truc horrible :
        Image utilisateur


        Comme vous le voyez, j'ai mis un CLIP (pour ne pas faire tomber le joueur dans le champ de bombardement) et surtout une marge d'environ 64 unités autour de la zone à bombarder. C'est important car l'Air Force n'a pas une précision parfaite (vous pouvez tout de même la régler).

        Placez près de la skybox une entité bloc AAATRIGGER. Faîtes attention à ce qu'elle soit bien au dessus de la zone à bombarder (voir la vue Top)
        Image utilisateur


        Transformez donc ce bloc en entité func_mortar_field et mettez-y les paramètres suivants :
        Donnée (SmartEdit off) Donnée (SmartEdit on) Signification Valeur
        m_flSpread Spread Radius Précision de l'Air Force 64
        m_iCount Repeat Count Nombre de bombes lâchées par attaque 6
        m_fControl Targeting Comment l'Air Force choisira sa cible 2(Table)
        m_iszXController X Controller Le levier (ou valve) contrôlant l'abscisse de l'endroit à bombarder mortar_x_lever
        m_iszYController Y Controller Le levier (ou valve) contrôlant l'ordonnée de l'endroit à bombarder mortar_y_lever
        targetname Name Nom de la zone (pour donner l'ordre de bombarder) mortar


        Placez ensuite la table de commandes. Pour des raisons d'optimisation, je vous conseille de placer les blocs comme ceci :
        Image utilisateur


        Mettez-y des barres avec la texture YELLOW qui représenteront l'abscisse et l'ordonnée pour l'Air Force. Retenez bien qu'au départ, le point est aux cordonnées 0;0 qui correspondent au coin inférieur-gauche de la zone à bombarder.

        Changez séparément ces barres en momentary_door et appliquez les paramètres suivants :
        Donnée (SmartEdit off) Donnée (SmartEdit on) Signification Valeur
        angles Pitch Yaw Roll (Y Z X) Indiquez la direction opposée à celle où va la barre 0 180 0
        speed Speed La vitesse (en pouces par secondes) que met la barre à se déplacer Lip/Temps = 16
        lip Lip Distance que parcourt la barre (en pouces) 63
        targetname Name Nom de l'entité appelée par le levier correspondant mortar_x_bar


        Donnée (SmartEdit off) Donnée (SmartEdit on) Signification Valeur
        angles Pitch Yaw Roll (Y Z X) Indiquez la direction opposée à celle où va la barre 0 270 0
        speed Speed La vitesse (en pouces par secondes) que met la barre à se déplacer Lip/Temps = 16
        lip Lip Distance que parcourt la barre (en pouces) 63
        targetname Name Nom de l'entité appelée par le levier correspondant mortar_y_bar


        Vos barres sont prêtes, mais pas vos leviers. Créez deux leviers qui contrôleront chacun une des deux barres. N'oubliez pas le bloc ORIGIN, transformez-les en momentary_rot_button, et appliquez les paramètres suivants :

        Donnée (SmartEdit off) Donnée (SmartEdit on) Signification Valeur
        targetname Name Nom de l'entité dont a besoin la zone de bombardement mortar_x_lever
        target Target Nom de la barre indiquant l'abscisse du point à bombarder mortar_x_bar
        speed Speed La vitesse en degrés par seconde à laquelle le levier tourne Distance/Temps = 22
        distance Distance (deg) La mesure en degrés à laquelle le levier tourne pour un mouvement complet 90


        Donnée (SmartEdit off) Donnée (SmartEdit on) Signification Valeur
        targetname Name Nom de l'entité dont a besoin la zone de bombardement mortar_y_lever
        target Target Nom de la barre indiquant l'ordonnée du point à bombarder mortar_y_bar
        speed Speed La vitesse en degrés par seconde à laquelle le levier tourne Distance/Temps = 22
        distance Distance (deg) La mesure en degrés à laquelle le levier tourne pour un mouvement complet 90


        Pour ces deux leviers, rendez-vous à l'onglet Flags et cochez-y X Axis ou Y Axis selon l'angle autour duquel vos leviers tourneront. Dans mon cas ils tourneront autour de l'axe Y.


        Il ne vous reste plus que le bouton pour donner l'ordre à l'Air Force de bombarder l'endroit sélectionné. Créez un bouton du type que vous souhaitez. Un button_target devrait suffire. Moi j'ai mis un func_button.

        Donnée (SmartEdit off) Donnée (SmartEdit on) Signification Valeur
        angles Pich Yaw Roll (Z Y X) La direction à laquelle le bouton se dirigera 90 0 0
        target Target Cible du bouton, en l'occurrence la zone de bombardement mortar
        speed Speed La vitesse en pouces par secondes à laquelle le bouton descend 5
        lip Lip La distance à laquelle le bouton descend (valeur négative) -1
        wait delay before reset (-1 stay) La durée minimale entre deux bombardements 4


        Si tout a bien été configuré, vous obtenez une magnifique table de commandes vous permettant de donner l'ordre à l'Air Force de démolir tous vos ennemis !

        Amusez-vous bien à tout casser !

        Compiler en mode expert



        Le Batch Compiler, c'est bien. Mais il y a deux solutions encore meilleures : Écrire ses propres batchs avec Bloc-Notes ou bien compiler en mode Expert sur Hammer !

        Donc pour ouvrir la fenêtre de compilation, cliquez sur l'icône Run Map Image utilisateur, rendez-vous dans File\Run ou appuyez tout simplement sur F9.

        Vous vous trouvez nez-à-nez avec cette fenêtre :

        Image utilisateur


        Or, vous devriez le savoir, le mode normal de la fenêtre de compilation n'offre que très peu de possibilités. Il vous permet juste de régler la quantité de travail que vous fourniront vos compilateurs.

        Cliquez sur le bouton Expert. Maintenant on peut commencer à s'amuser !

        Image utilisateur


        Ça m'a l'air bien compliqué. Comment utilise-t-on ça ?


        Tout d'abord, vous voyez que vous pouvez utiliser différentes configurations selon le jeu/mod pour lequel vous mappez. Libre à vous de créer, modifier ou supprimer des configurations.

        À droite, vous constatez trois tickboxes. Use Long filenames vous permet d'activer les noms longs. Voici quelques exemples qui vous permettent de comprendre :

        Exemple de nom court Exemple de nom long
        HALFLIFE.TXT HalfLife.txt
        PROGRA~1 Program Files


        Les noms courts imposent donc une limite de 8 caractères avant le point, 3 après et tout en majuscule. Un ~X indique pour les noms trop longs la suite du nom du dossier/fichier en suivant l'ordre alphabétique. L'utilisation des noms longs vous simplifie donc la vie.

        Pour Ensure file post-exists, je ne sais pas à quoi ça correspond.

        Use Process window permet si vous désactivez la case de masquer la partie du log concernant cette commande, ce que je ne vous conseille pas de faire. Néanmoins ces trois tickboxes ne sont pas le centre de la compilation. Regardez plutôt à gauche !

        Le champ Compile/run commands vous présente la suite des commandes exécutées pour compiler la map. Cliquez sur l'une d'entre elles pour les modifier juste en haut. Les tickboxes à gauche de chaque commande vous permettent de les désactiver. Juste à droite, les boutons New et Remove servent respectivement à ajouter ou supprimer des commandes.

        Comment éditer ses commandes ? C'est très simple !

        Vous avez deux champs : Command et Parameters. Dans le champ Command, cliquez sur le bouton Cmds pour accéder à une liste de commandes pré-faites. Vous pouvez lancer un programme comme le RipEnt pendant la compilation (Executable), vous déplacer dans les dossiers (Change Directory), vous pouvez copier des fichiers (Copy File), en supprimer (Delete File) ou bien les renommer (Rename File). Juste en dessous vous avez plusieurs commandes vous permettant de lancer les compilateurs CSG, BSP, <acronym title="Visibility">VIS</acronym>, LIGHT (ancien nom de <acronym title="Radiosity">RAD</acronym>) et lancer le jeu pour lequel vous mappez !

        Mais qu'est une commande sans ses paramètres ? Par exemple, au début vous voyez un Change Directory permettant de se déplacer dans les dossiers. Mais où va-t-on !? Juste en dessous de Command, Parameters indique $exedir. Le bouton Parms à droite vous permet d'accéder à une liste de paramètres tels que le nom de la map sans son extension (Map Filename (no extension)) ou avec (Map Filename (with extension)), le dossier où se trouve votre map (Map Path (no filename)) ; et juste en dessous le dossier où se trouve l'exécutable de votre jeu (Game Executable Directory), le dossier des maps de votre jeu (BSP Directory), le dossier de votre jeu (Game Directory) et le dossier du mod (Mod Directory). Pour rappel le mod Half-Life correspond au dossier valve, Counter-Strike à cstrike, Opposing Force à gearbox. Mod Directory désigne ce dossier et Game Directory celui juste avant.

        On peut aller encore plus loin. Vous voyez que j'ai ajouté des paramètres supplémentaires à mes compilateurs ! Eh bien c'est là que le mode avancé peut remplacer le Batch Compiler ! En fait, chaque champ de texte, liste de choix, tickbox etc du Batch Compiler correspond à un paramètre qu'on peut écrire dans le champ Parameters. Ainsi, pour faire un wadinclude par exemple, il me suffit d'envoyer le paramètre -wadinclude monwad.wad à la commande correspondant à CSG. Vous souhaitez avoir la liste des différents paramètres des ZHLT ? Pas de problème, la voici : http://zhlt.info/command-reference.html

        Vous avez un descriptif des paramètres pour chaque compilateur. Shared correspond aux paramètres disponibles dans tous les compilateurs. Pour une compilation finale, voici les paramètres intéressants :

        CSG
        • -cliptype precise : Améliore la disposition des clipnodes de façon à réduire leur nombre et à faire en sorte que le joueur se coince moins
        • -noskyclip : À utiliser seulement si le joueur ne peut pas toucher le ciel, permet de rendre le ciel non solide. Cela permet d'accélérer le travail de VIS et de réduire la consommation de mémoire de votre map
        • -wadautodetect : Désactive les wads inutilisés dans votre map de façon à ne pas avoir à déplacer cstrike.wad dans les dossiers de HL pour faire tourner une map qui n'utilise aucune texture de CS
        • -wadinclude fichier.wad : Pour inclure des wads à la map, à utiliser avec tous les wads non-officiels utilisés


        VIS
        • -full : Permet à VIS de faire tout le travail
        • -maxdistance X : Change la distance maximale visible par le joueur


        RAD
        • -extra : Adoucit les ombres pour enlever l'effet pixelisé
        • Partager sur Facebook
        • Partager sur Twitter
          8 mars 2011 à 17:41:54

          Magnifique!
          je ne savais même pas comment on faisait, j'avoue que ca risque de m'être bien utile! En plus, c'est très bien expliqué!
          Bravo!
          • Partager sur Facebook
          • Partager sur Twitter
            8 mars 2011 à 20:29:33

            Je viens d'ajouter un tutoriel pour l'utilisation de la fenêtre de compilation avancée. Bon mapping !
            • Partager sur Facebook
            • Partager sur Twitter
              8 mars 2011 à 20:41:02

              Ben dis donc t'en sais des choses ^^ !
              Ca va m'être utile tout ca!
              • Partager sur Facebook
              • Partager sur Twitter
                10 mars 2011 à 19:08:18

                Ouais j'avais lu un tuto sur le sujet, c'est pas mal du tout pour mettre un peu de piment.
                Le truc si tu veux un peu d'originalité, utilise des textures custom, fais un screen de ta map en top et
                travaille le sur un soft de retouche, et un dernier truc moi je trouve qu'il vaut mieux virer les sons des
                momentary ils font très "porte rouillé/hydraulique". ^^

                Et pour SoHL tu sais les tutos anglais sont pas si compliqués, t'es pas anglophobe si?
                • Partager sur Facebook
                • Partager sur Twitter
                  10 mars 2011 à 19:14:56

                  Citation : Sh@dow


                  Et pour SoHL tu sais les tutos anglais sont pas si compliqués, t'es pas anglophobe si?


                  Non non pas anglophobe quand meme ^^ . Mais je ne parle que très peu anglais du coup je comprend quasiment rien.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 mars 2011 à 19:22:46

                    Ah oui dans ce cas. Essaie un petit peu tu vas voir c'est facile comme langue,
                    et puis dans le pire des cas tu peux traduire la page, mais bon ce sera crade.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      16 mars 2011 à 18:16:34

                      Lumière de lampe
                      Comment créer un effet de lumière sur un mur.


                      Voici comment obtenir cette effet:
                      Rendu
                      Faites une lampe normale de préférence en func_wall ou autre et appliquez une light.
                      Prenez la texture du mur de la lampe, puis assombrissez là, et faites un dégradé qui part de la lampe. Une fois la texture crée, créez un un func_illusionary collé au mur de la lampe d'une unité d'épaisseur en "V" et appliquer le texture sur la face principale:
                      Comme ca
                      Appliquer ensuite en transparence le mode additive et c'est bon!
                      Pour une lampe qui s'éteint, il faut juste transformer le func_illusionary en func_wall_toggle avec le même nom que la lampe.

                      Si vous ne voulez pas créer de nouvelles textures, créez le bloc en forme de "V" avec la texture du mur, découpez ensuite en plusieurs bandes horizontales régulières (comme ca), transformez chaques bouts en func_illusionary mode:additive et la valeur du render:mode doit baisser jusqu'a un chiffre proche de 0 plus on s'éloigne de la lampe!


                      De jolies faisceaux!

                      Voilà diverses astuces pour créer des faisceaux lumineux!


                      Solution n°1

                      La première solution pour créer un faisceau lumineux est d'utiliser les blocs! Pour cela il faut une texture de dégradé qu'il existe déjà dans halflife.wad (tapez "fad" et la liste apparaitra) et créez votre faisceau avec la texture ainsi.

                      Transformez votre faisceau en func_illusionary et appliquez lui les attributs:
                      Render Mode: Additive
                      FX Amount : 20
                      (plus ou moins, il faut ajuster en fonction des cas).

                      Recréez maintenant le même faisceau (copier-coller) au même endroit mais avec le Vertex Tool élargissez légèrement sa base (de l'ordre d'1 à 5 unités, ca dépend de la taille du faisceau) (ou son arrivé) comme ceci.
                      Diminuez ensuite son "render mode" de 5 environ.
                      Répétez cette action une fois par rapport au dernier faisceau créé.
                      Répétez cette action mais cette fois ci paramètrez le FX Amount à 2 à 4 et élargissez bien plus la base de l'ordre de 10 à 14 unités envirion.
                      Voilà le résultat!
                      Magnifique non :D ? Mais ca peut s'améliorer!
                      Comment? Il suffit de créer des env_sprite avec (ceci est un exemple, le sprite ainsi que les autres paramètres peuvent changer!)
                      render mode: Additive
                      FX Amount : 15 (environ il faut ajuster selon les cas)
                      Scale : 0.3

                      Il faut en mettre quelques un un peu dispersé à l'intérieur du premier faisceau (le plus petit)! Aucun ne doit dépasser!
                      Ceci dit, vous pouvez en mettre dans le dernier faisceau(le plus grand) mais il ne devront pas toucher les autres faisceaux et avec comme FX Amount: celle du dernier faisceau.
                      Le rendu est mieux si le Render mode diminue en fonction de son éloignement par rapport au centre du faicseau!



                      Solution n°2

                      Voilà une solution bien plus lente et complexe, et de plus elle nécessite beaucoup d'entités. Mais le résultat est impréssionant!

                      Cette technique se joue grâce aux env_sprite. Créez en un sur votre source de lumière, là d'où votre faisceau partira.
                      Comme ca
                      Encore une fois, les attributs et valeurs que je vais donner sont ajustables en fonction des cas:
                      render mode: Additive
                      FX Amount : 20 (à ajuster en fonction de l'air de votre salle (si vous voulez simulez qu'il y ait beaucoup de poussière, mettez plus)
                      Scale : 0.3 ( à ajuster en fonction de la taille de la source de lumière)
                      Brightness: Mettez la couleur de votre lampe

                      Ensuite, il faudra procéder ainsi:
                      Copiez-coller votre env_sprite, mettez le nouveau exactement au même endroit de votre env_sprite, puis baissez son Scale de 2 et son FX: Amount de 2 aussi et éloignez de 2 unités de l'env_sprite par rapport à la source de lumière.
                      Comme ceci
                      Continuez ainsi avec cette méthode jusqu'a ce qu'un env_sprite atteigne FX Amount: 0.

                      Comment ajuster son faisceau?
                      La valeur Scale du premier env_sprite le plus près de la source de lumière (le premier a avoir été crée) doit avoir celle de la source de lumière. Pour une grande lampe on doit avoir un grand Scale.
                      La valeur brigthness, plus elle sera clair, plus le faisceau sera visible. De cette façon au lieu de baisser le FX Amount vous pouvez assombrir le brightness.
                      La valeur FX Amount, plus elle sera elevé, plus votre faisceau sera visble. Plus le premier env_sprite en aura une valeur elevé plus le faisceau sera long.
                      Au lieu de baisser de 2 votre Fx Amount à chaques env_sprite, vous pouvez le baisser de 1 aussi, ce qui agrandira aussi le faisceau.
                      Plus le Scale augmente à chaques env_sprite, plus le faisceau s'élargira.
                      Cette technique peut s'utiliser aussi pour simuler de la vapeur ou autre chose.


                      Voilà un rendu possible, on peut très facilement faire mieux!

                      De plus, voilà un autre rendu, le faisceau est mal fait mais c'est pour montrer l'effet d'éclat en dessous de la lampe.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        25 avril 2011 à 12:42:08

                        Hop, j'ai ajouter des astuces pour les faisceaux, des avis ou commentaires?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 avril 2011 à 7:38:56

                          pas compris la deuxieme solution
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Mappeur et fan de la communauté HL1... Mapping-fusion et fait pour vous Mon site : http://Decalpeur.fr
                            27 avril 2011 à 17:52:53

                            De quoi ca?

                            Citation : Loulimi


                            De jolies faisceaux!


                            Voilà diverses astuces pour créer des faisceaux lumineux!


                            Solution n°1


                            La première solution pour créer un faisceau lumineux est d'utiliser les blocs! Pour cela il faut une texture de dégradé qu'il existe déjà dans halflife.wad (tapez "fad" et la liste apparaitra) et créez votre faisceau avec la texture ainsi.

                            Transformez votre faisceau en func_illusionary et appliquez lui les attributs:
                            Render Mode: Additive
                            FX Amount : 20
                            (plus ou moins, il faut ajuster en fonction des cas).

                            Recréez maintenant le même faisceau (copier-coller) au même endroit mais avec le Vertex Tool élargissez légèrement sa base (de l'ordre d'1 à 5 unités, ca dépend de la taille du faisceau) (ou son arrivé) comme ceci.
                            Diminuez ensuite son "render mode" de 5 environ.
                            Répétez cette action une fois par rapport au dernier faisceau créé.
                            Répétez cette action mais cette fois ci paramètrez le FX Amount à 2 à 4 et élargissez bien plus la base de l'ordre de 10 à 14 unités envirion.
                            Voilà le résultat!


                            Ca?

                            Citation : Loulimi


                            Magnifique non :D ? Mais ca peut s'améliorer!
                            Comment? Il suffit de créer des env_sprite avec (ceci est un exemple, le sprite ainsi que les autres paramètres peuvent changer!)
                            render mode: Additive
                            FX Amount : 15 (environ il faut ajuster selon les cas)
                            Scale : 0.3

                            Il faut en mettre quelques un un peu dispersé à l'intérieur du premier faisceau (le plus petit)! Aucun ne doit dépasser!
                            Ceci dit, vous pouvez en mettre dans le dernier faisceau(le plus grand) mais il ne devront pas toucher les autres faisceaux et avec comme FX Amount: celle du dernier faisceau.

                            Le rendu est mieux si le Render mode diminue en fonction de son éloignement par rapport au centre du faicseau!

                            Ou ca?

                            Citation : Loulimi


                            Solution n°2


                            Voilà une solution bien plus lente et complexe, et de plus elle nécessite beaucoup d'entités. Mais le résultat est impréssionant!

                            Cette technique se joue grâce aux env_sprite. Créez en un sur votre source de lumière, là d'où votre faisceau partira.
                            Comme ca
                            Encore une fois, les attributs et valeurs que je vais donner sont ajustables en fonction des cas:
                            render mode: Additive
                            FX Amount : 20 (à ajuster en fonction de l'air de votre salle (si vous voulez simulez qu'il y ait beaucoup de poussière, mettez plus)
                            Scale : 0.3 ( à ajuster en fonction de la taille de la source de lumière)
                            Brightness: Mettez la couleur de votre lampe

                            Ensuite, il faudra procéder ainsi:
                            Copiez-coller votre env_sprite, mettez le nouveau exactement au même endroit de votre env_sprite, puis baissez son Scale de 2 et son FX: Amount de 2 aussi et éloignez de 2 unités de l'env_sprite par rapport à la source de lumière.
                            Comme ceci
                            Continuez ainsi avec cette méthode jusqu'a ce qu'un env_sprite atteigne FX Amount: 0.

                            Comment ajuster son faisceau?
                            La valeur Scale du premier env_sprite le plus près de la source de lumière (le premier a avoir été crée) doit avoir celle de la source de lumière. Pour une grande lampe on doit avoir un grand Scale.
                            La valeur brigthness, plus elle sera clair, plus le faisceau sera visible. De cette façon au lieu de baisser le FX Amount vous pouvez assombrir le brightness.
                            La valeur FX Amount, plus elle sera elevé, plus votre faisceau sera visble. Plus le premier env_sprite en aura une valeur elevé plus le faisceau sera long.
                            Au lieu de baisser de 2 votre Fx Amount à chaques env_sprite, vous pouvez le baisser de 1 aussi, ce qui agrandira aussi le faisceau.
                            Plus le Scale augmente à chaques env_sprite, plus le faisceau s'élargira.
                            Cette technique peut s'utiliser aussi pour simuler de la vapeur ou autre chose.



                            Voilà un rendu possible, on peut très facilement faire mieux!

                            De plus, voilà un autre rendu, le faisceau est mal fait mais c'est pour montrer l'effet d'éclat en dessous de la lampe.

                            • Partager sur Facebook
                            • Partager sur Twitter
                              7 mai 2011 à 16:03:37

                              Une astuce bien connu:
                              On le sait, le VIS indique au jeu quelles faces ou polygones il doit calculer en fonction de l'endroit où le joueur est et ce qu'il regarde.
                              Pour éviter de calculer tout en même temps, au risque de faire monter les wpolys il crée des portals. Ainsi théoriquement la map est divisé en plein de parties grace au découpage des polygones et il calcule seulement les faces qu'il a besoin ou presque sinon on peut en créer "manuellement" grâce aux Hint Brush. Sauf que quelques fois ca n'est pas suffisant!
                              Si par exemple le joueur est dans un couloir qui donne a l'extérieur par exemple, le jeu calculera tout ce qu'il voit! Pour remédier a ca il existe une astuce qui permet de séparer sa map par un certain bloc, c'est le TRANSLUCENT!

                              Hô, qu'est ce donc que cette chose bizarre?

                              C'est une technique qui va bloquer le calcul des polygones ou faces. Grâce à ceci le VIS ne calcule pas au delà d'une certaine zone délimité grâce a un certain bloc, sauf si l'on traverse la zone. Et quand on l'aura traverser il ne calculera pas ce qui se trouvera alors derriere de fameux bloc.
                              Exemple, lorque le joueur ici sera dans la salle 1, il ne verra pas la salle 2 et le VIS ne la calculera pas. Même chose lorsqu'il sera dans la salle 2, il ne verra pas et le VIS ne calculera pas la salle 1!
                              Image utilisateur

                              Maintenant la question qui vous brûle les lèvres c'est:

                              Comment faire ce fameux bloc? :o

                              Tout d'abord ce bloc sera visible, traversable et "creux"! C'est a dire que lorqu'on le traversera, on verra son interieur.
                              Il y aura donc en fait 3 parties!
                              Image utilisateur
                              Image utilisateur
                              Image utilisateur
                              Pour le faire: on veut que le jeu ne calcule pas au delà du couloir. De l'extérieur il ne calcule pas l'intérieur du couloir et de l'intérieur du couloir il ne calcule pas l'extérieur.
                              On va donc séparer le l'intérieur de l'extérieur par le fameux bloc!
                              Image utilisateur
                              Si vous avez bien suivi, vous devez devinez ce qui est calculé en fonction de la position et du regard du joueur.
                              Donc le bloc, comment le créer? Imaginons que notre cas ce soit de la végétation, un rideau, ou autre chose. Il faut donc créer ce bloc là comme n'importe quelle bloc précisément entre l'intérieur et l'extérieur le plus fin possible. Maintenant, que faut t'il faire? Lui appliquer la texture que l'on veut mais avec un @ devant (@rideau)! Ainsi c'est fait vous pouvez voir le résultat! Dans le couloir le couloir sera calculer. Dans le bloc spécial le bloc spéciale sera calculer et a l'extérieur l'extérieur sera calculer!

                              Mais ca ne fait pas très jolie de passez d'une partie à l'autre.
                              Donc couvrez le d'un func_illusionary, de devant et de derriere et sur les cotés, avec la meme texture sans la @ (rideau), avec une petite distance.
                              Comme ca:
                              Image utilisateur
                              Quand le joueur traversera le bloc, le jeu calculera la partie seulement dans lequel il est! Resultat? Des wpolys en moins! :)

                              PS; Désolé si il y a des erreurs j'ai juste copier ce que j'ai fait il y a longtemps!
                              • Partager sur Facebook
                              • Partager sur Twitter
                                22 mai 2011 à 19:16:16

                                Ombres et lumières


                                Créer une ombre précise


                                Pour obtenir une ombre plus précise, il faut diminuer le scale de la texture sur laquelle s'appliquera l'ombre (outil "Toggle texture application" mode: Lift-SelectImage utilisateur).
                                Plus le scale sera bas, plus l'ombre sera précise.

                                La compilation se fera pour un meilleur résultat avec en paramètre "-extra".
                                On obtient ainsi une très joli ombre précise!

                                Cependant, il ne faut abuser trop abuser de cette méthode car elle peut faire bugger la compilation!
                                A l'inverse, on peut augmenter le "scale" des textures si la compilation bug!


                                Créer une ombre précise, solution 2



                                Une autre solution, c'est de créer son ombre avec des blocs!
                                Le bloc ombrageux (qui produira l'ombre) doit lui être en entité Func wall ou autre entité décalé d'une unité d'épaisseur par rapport à la/aux surface(s)(bloc) sur laquelle s’appliquera son ombre.
                                Pour l'ombre, il faut créer des blocs d'une unité d'épaisseur contre la surface ombragé en NULL en suivant les contours du bloc ombrageux en question.

                                Comme ceci.

                                Ensuite, il faut appliquer à notre futur ombre la texture black sur la face à l'air.

                                Il ne reste plus qu'à transformer notre ombre en entité func illusionary, render mode: texture, FX Amount: 100.

                                Plus la valeur du FX Amount est grande, plus l'ombre sera sombre!
                                Cette technique s'utilise aussi pour les models fixes!


                                C'est tout! ;)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  22 mai 2011 à 21:23:08

                                  À savoir qu'il faut éviter de dépasser les 240 pixels de côté pour sa texture. Autrement, il y aura un découpage des blocs qui au bout d'un certain nombre de faces peut sévir.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    25 mai 2011 à 20:17:39

                                    Les textures doivent avoir un coté qui est un multiple de 16, tu veux dire qu'on n'utilisa pas de 256*256?
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      25 mai 2011 à 21:32:25

                                      Il me semble que le découpage se fait quand la texture se répète (par exemple tous les 128 unités pour du 128*128). Perso je n'ai jamais eu de problème avec les 256*256.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        26 mai 2011 à 13:37:41

                                        Citation : Sh@dow

                                        Les textures doivent avoir un coté qui est un multiple de 16, tu veux dire qu'on n'utilisa pas de 256*256?


                                        256 - 16 = 240
                                        240 est donc une taille valide.

                                        Citation : KillerMapper

                                        Il me semble que le découpage se fait quand la texture se répète (par exemple tous les 128 unités pour du 128*128). Perso je n'ai jamais eu de problème avec les 256*256.


                                        Données prises sur Sven Co-op. Et j'avais fait des tests avant. Si mes souvenirs (assez lointains donc je ne saurais être fiable) sont bons, j'utilisais une texture de 256 de côté et le découpage se faisait tous les 240 (mesuré via la commande status).
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          26 mai 2011 à 19:05:46

                                          Ca y est je suis perdu, par découpage vous parlez des brushes?
                                          Ils seront decoupés si sur une de leur face est appliquée une texture de coté>240px?
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            26 mai 2011 à 20:41:10

                                            En fait je crois qu'il parle du flat.
                                            Si on fait une texture d'une dimension multiple de 16 n'importe laquelle dimension (16*16 par exemple), les blocs portants cette texture seront découpés à chaques répétitions de texture (16*16).
                                            Si on fait plus de 240 en revanche(256), la découpe se fera non pas toutes les 256 unités mais toutes les 240 unités.
                                            Enfin c'est ce que j'ai compris, c'est juste?
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              27 mai 2011 à 12:02:12

                                              Citation : Loulimi

                                              En fait je crois qu'il parle du flat.
                                              Si on fait une texture d'une dimension multiple de 16 n'importe laquelle dimension (16*16 par exemple), les blocs portants cette texture seront découpés à chaques répétitions de texture (16*16).
                                              Si on fait plus de 240 en revanche(256), la découpe se fera non pas toutes les 256 unités mais toutes les 240 unités.
                                              Enfin c'est ce que j'ai compris, c'est juste?

                                              Voilà !
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                30 mai 2011 à 0:15:12

                                                Wow j'apprends un truc là.
                                                Du coup mieux optimiser une map consisterais à utiliser des textures de grandes dimensions, mais, pour éviter les découpages de blocs, ne pas utiliser des textures de plus de 240px de coté.
                                                Du coup imaginons un mur qui répète 6 fois une texture de 80px de large, afin d’éviter le découpage en 6 blocs il vaudrait mieux aller sous Wally, se fabriquer une texture de 240px de large (répétant 3 fois la texture originale), et donc in-game avoir un bloc qui ne sera que découpé en 2.
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  30 mai 2011 à 13:40:24

                                                  Oui mais y'a des inconvénients, ton wad sera plus lourd donc plus long à chargé.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    30 mai 2011 à 14:05:03

                                                    pas forcement après a ce niveau sa dépend du miroir que ta aux niv du serveur si tu en possédé pas tu va mètre 40 sec environ pour 1.30mo mais en cas contraire sa sera 5 sec en moyenne pour 1.30mo mais après y'a d'autre variable qui joue
                                                    ces des chiffre que j'ai pue observer en mettant des map sur mon serv.
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    Mappeur et fan de la communauté HL1... Mapping-fusion et fait pour vous Mon site : http://Decalpeur.fr
                                                      30 mai 2011 à 14:46:40

                                                      Pour une map solo alors peut être.
                                                      Et aucun ralentissement sévère de compil avec des gros wad?
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        30 mai 2011 à 16:46:43

                                                        J'ai pour ma part l'impression que le flat est assez aléatoire, quelques fois je n'en vois pas l'effet.
                                                        Je ne sais pas si c'est pour cette raison (ou en plus) que dans Half-Life, Blue-Shift et beaucoup d'autres certaines textures sont très étirés, via le bouton "toggle texture application", par exemple la texture Black qui se trouve au fond des trous, sinon c'est juste pour les patchs?
                                                        En revanche, pour certaines textures, comme l'eau en entité, il suffit d'agrandir la texture pour éviter le flat.
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          30 mai 2011 à 18:56:15

                                                          Citation : Sh@dow

                                                          Et aucun ralentissement sévère de compil avec des gros wad?


                                                          Normalement aucun ralentissement, à part si tu fais un Wad include, mais de toute façon il y a une limite de place pour les textures incluses.
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            31 mai 2011 à 22:23:48

                                                            Je crois que vous vous compliquez la tâche pour rien. Savoir que le moteur découpe les textures à 240px maximum c'est une info intéressante, mais chercher à tout prix à gagner trois petits wpolys en se cassant la tête sur les textures, pour moi ça en vaut pas la peine. :)
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            [HL1] Trucs et astuces

                                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                            • Editeur
                                                            • Markdown