[INFO] Cette section ne doit contenir que des tutoriaux !
La section Cours & Astuces est faite seulement pour les tutoriaux!
Ce poste à pour but d'éviter les erreurs lors du choix de la section durant la rédaction d'un nouveau sujet (même si, la plupart qui ce trompe on du mal à lire les annonces & post-it).
- Pour toutes questions concernant Hammer (ou le texturing) postez vos questions dans le forum d'entre-aide au mapping
- Pour tout ce qui concerne le modeling sous Source( et le modeling en général) le forum d'entre-aide au moddeling
- Une question à propos du coding et scripting du moteur Source ?( et le modeling en général) le forum d'entre-aide au coding
- Vous ne trouvez pas réponse sur Mapping-Area ? Le Wiki de Valve a probablement la réponse! Le Wiki de Valve a probablement la réponse!
La communauté française de ce wiki est assez petite, seulement peu de pages on étés traduites. Si vous ne trouvez pas votre réponse dans le wiki FR cherchez donc dans sa partie anglaise - C'est bon, vous avez finis votre map ou tout autre travaux qui concerne le moteur source (texture, sons,scripts,mod?...) vous souhaitez montrer votre travail ?
Rendez vous au forum Maps & travaux! Vous pouvez aussi présenter vos travaux en cours dans le sujet Wip de chez Wip pour les maps ou bien pour les modèles
Information au passage: Lorsque vous présentez votre map ou projet dans cette section, veillez à bien ajouter des screenshots (ou vidéo) à votre poste et pourquoi pas, un lien de téléchargement?
Stop VRAD
Bonjour à tous,
Il peut arriver que le VRAD s'arrête, puis que le jeux se lance SANS que l'éclairage soit présent. Cela se produit quand vous avez atteint la limites de Giga de mémoire, car Windows 32Bits ne peut pas allouer plus de 2Go par applications. Ce problème n'est pas nouveau, que ce soit en conception mécanique sous Catia pour calculer une pièce ou pour faire un rendue 3DS, il arrive très vite que cette limites de 2Go soit atteinte.
En temps normal ca se passe comme suit :
BuildFacelights: 0...1...2...3...4...5...6...7...8...9...10 (65)
BuildVisLeafs: 0...1...2...3...4...5...6...7...8...9...10 (101)
transfers 49375733, max 1822
transfer lists: 376.7 megs
Tous est calculer, la transer list vous donne la quantité mémoire nécessaire, ici 376Mo aucun problème pour un PC d'aujourd'hui, mais si vous dépasser plus de 1.8Go (je ne sais pas exactement ou il s'arête mais c'est pas là), ca va donner cà :
[b]BuildFacelights: 0...1...2...3...4...5...6...7...8...9...10 (65)
BuildVisLeafs: 0...1...2...3...4...5...6...7...8...9..
Il va se stopper et démarrer le jeux, vous pouvez avec le gestionnaire des taches de Windows vois la mémoire utilisé pour VRAD.
Alors l'une des solutions est de passer en 64bits, mais Source SDK ne gère pas ce mode, donc inutile. Il est également possible de permettre à Windows d'allouer 3Go par application avec une combine, il faut juste rajouter /3GO dans le Boot .ini, mais l'application dois être prévue pour et j'ai tester Source ne le permet pas.
Et bien on va donc diminuer cette quantité mémoire nécessaire. Mais qu'est-ce qui demande autant de mémoire?
Réponse : Les lightmaps. Plus leurs résolutions est grande, plus la quantité mémoire deviens importante, surtout pour les grandes salles. Il suffit donc de diminuer un peu, passer certains à 32 sur les grandes surfaces, pour diminuer la quanité mémoire de façon significative, et sans que le joueur ne voit grande différence.
Voilà voilà.
Il peut arriver que le VRAD s'arrête, puis que le jeux se lance SANS que l'éclairage soit présent. Cela se produit quand vous avez atteint la limites de Giga de mémoire, car Windows 32Bits ne peut pas allouer plus de 2Go par applications. Ce problème n'est pas nouveau, que ce soit en conception mécanique sous Catia pour calculer une pièce ou pour faire un rendue 3DS, il arrive très vite que cette limites de 2Go soit atteinte.
En temps normal ca se passe comme suit :
BuildFacelights: 0...1...2...3...4...5...6...7...8...9...10 (65)
BuildVisLeafs: 0...1...2...3...4...5...6...7...8...9...10 (101)
transfers 49375733, max 1822
transfer lists: 376.7 megs
Tous est calculer, la transer list vous donne la quantité mémoire nécessaire, ici 376Mo aucun problème pour un PC d'aujourd'hui, mais si vous dépasser plus de 1.8Go (je ne sais pas exactement ou il s'arête mais c'est pas là), ca va donner cà :
[b]BuildFacelights: 0...1...2...3...4...5...6...7...8...9...10 (65)
BuildVisLeafs: 0...1...2...3...4...5...6...7...8...9..
Il va se stopper et démarrer le jeux, vous pouvez avec le gestionnaire des taches de Windows vois la mémoire utilisé pour VRAD.
Alors l'une des solutions est de passer en 64bits, mais Source SDK ne gère pas ce mode, donc inutile. Il est également possible de permettre à Windows d'allouer 3Go par application avec une combine, il faut juste rajouter /3GO dans le Boot .ini, mais l'application dois être prévue pour et j'ai tester Source ne le permet pas.
Et bien on va donc diminuer cette quantité mémoire nécessaire. Mais qu'est-ce qui demande autant de mémoire?
Réponse : Les lightmaps. Plus leurs résolutions est grande, plus la quantité mémoire deviens importante, surtout pour les grandes salles. Il suffit donc de diminuer un peu, passer certains à 32 sur les grandes surfaces, pour diminuer la quanité mémoire de façon significative, et sans que le joueur ne voit grande différence.
Voilà voilà.
Par adherak333 - Commentaires associés
Une tourelle contrôlable par le joueur pour CS :S
Ce tuto va vous expliquez comment faire une tourelle contrôlable par le joueur à la souris. Généralement on l'utilise que pour CSS
1°) Avant de commencer
Nous allons avoir besoin :
1 prop_physic ou 1 func_physbox (le model de la tourelle)
1 logic_measure_movement
1 trigger_teleport
1 game_ui
1 func_bouton
1 info target
1 func_door
1 env_laser
1 info_player_destination
2°) Les entités
Prop_Dynamic ou func_physbox :
Name : tourelle_ref
Collision : Not Solid
Ou
Not Solid to World : Passes through World
Vous allez placez linfo_teleport_destination à lendroit où le joueur va être quand il va tiré avec la tourelle.

Info_player_destination :
Name : Destination
Placez un bloc trigger comme sur limage et mettez le en trigger_teleport
Trigger_teleport :
Name : Teleport
Start Disabled : yes
Remote Destination : Destination

On va placer linfo_traget 72 unités en dessous du prop_dynamic ou du func_physbox. Pour ce faire j'ai mis juste un info_player_start à l'origine du model (la petite croix) et j'ai placé l'info target au pied du player :

Info_target :
Name : ref_prop
Game_Ui :
Name : game_tourelle
Flag :
[X]Freeze Player
[X]Hide Weapon
[X]+Use desactivate
[ ]Jump Desactivate
Logic_Measure_Movement :
Name : Measure
Measure reference : Destination
Entity to move : tourelle_ref
Movement reference : ref_prop
Measure_Reference : Eye position
Placer le func_button à lendroit ou devra appuyer le joueur pour utiliser la tourelle.
Func_Button :
Name : Button
Delay before reset : 0
Parent : tourelle_ref
Flags :
[X] Dont Move
Placer lenv_laser à la sortie du canon.
Env_Laser :
Name : laser
Parent : tourelle_ref
Target of laser : target_door
Brightness : 1
Beam color : 0 0 0
Damage per second : A vous de voir mais moi je met 50.

Placer le func_door juste devant lenv_Laser et mettez le en texture invisible
Func_Door :
Name : target_door
Parent : tourelle_ref
Décocher tout les flags
Après il va faloir déplacé l'origine du model très loin pour ce faire vous cochez la petite sphere en haut à droite et vous déplacez la boule qui apparait au centre de votre func_door très loin. Faite le sortir de la map si vous voulez mais n'oubliez pas l'entourer de nodraw.

3°) Ouptut
Bouton :
OnPressed / !activator/Add Optut/targetname tireur/0.00
OnPressed/game_tourelle/enable/none/0.00
OnPressed/Teleport/Enable/none/0.00
Onpressed/Teleport/Disabled/none/0.10
Onpressed/Measure/SetMeasureTarget/tireur/0.10
OnPressed/Button/Lock/none/0.10
Game_Ui :
PlayerOff/Button/Unlock/none/0.00
PlayerOff/tireur/AddOuptut/targetname none/0.00
PressedAttack/laser/TurnOn/none/0.00
UnpressedAttack/laser/TurnOff/none/0.00
Avec ceci tout devrai être bon, ça peut paraitre difficile mais ça ne lai pas vraiment. Je completerais ce tuto avec des commentaires plus tard.
Si vous avez des problèmes ou si j'ai fait une faute sur le tuto envoyer un MP ou répondez sur le forum
1°) Avant de commencer
Nous allons avoir besoin :
1 prop_physic ou 1 func_physbox (le model de la tourelle)
1 logic_measure_movement
1 trigger_teleport
1 game_ui
1 func_bouton
1 info target
1 func_door
1 env_laser
1 info_player_destination
2°) Les entités
Prop_Dynamic ou func_physbox :
Name : tourelle_ref
Collision : Not Solid
Ou
Not Solid to World : Passes through World
Vous allez placez linfo_teleport_destination à lendroit où le joueur va être quand il va tiré avec la tourelle.

Info_player_destination :
Name : Destination
Placez un bloc trigger comme sur limage et mettez le en trigger_teleport
Trigger_teleport :
Name : Teleport
Start Disabled : yes
Remote Destination : Destination

On va placer linfo_traget 72 unités en dessous du prop_dynamic ou du func_physbox. Pour ce faire j'ai mis juste un info_player_start à l'origine du model (la petite croix) et j'ai placé l'info target au pied du player :

- Afficher l'image en taille réel -
Info_target :
Name : ref_prop
Game_Ui :
Name : game_tourelle
Flag :
[X]Freeze Player
[X]Hide Weapon
[X]+Use desactivate
[ ]Jump Desactivate
Logic_Measure_Movement :
Name : Measure
Measure reference : Destination
Entity to move : tourelle_ref
Movement reference : ref_prop
Measure_Reference : Eye position
Placer le func_button à lendroit ou devra appuyer le joueur pour utiliser la tourelle.
Func_Button :
Name : Button
Delay before reset : 0
Parent : tourelle_ref
Flags :
[X] Dont Move
Placer lenv_laser à la sortie du canon.
Env_Laser :
Name : laser
Parent : tourelle_ref
Target of laser : target_door
Brightness : 1
Beam color : 0 0 0
Damage per second : A vous de voir mais moi je met 50.

Placer le func_door juste devant lenv_Laser et mettez le en texture invisible
Func_Door :
Name : target_door
Parent : tourelle_ref
Décocher tout les flags
Après il va faloir déplacé l'origine du model très loin pour ce faire vous cochez la petite sphere en haut à droite et vous déplacez la boule qui apparait au centre de votre func_door très loin. Faite le sortir de la map si vous voulez mais n'oubliez pas l'entourer de nodraw.

- Afficher l'image en taille réel -
3°) Ouptut
Bouton :
OnPressed / !activator/Add Optut/targetname tireur/0.00
OnPressed/game_tourelle/enable/none/0.00
OnPressed/Teleport/Enable/none/0.00
Onpressed/Teleport/Disabled/none/0.10
Onpressed/Measure/SetMeasureTarget/tireur/0.10
OnPressed/Button/Lock/none/0.10
Game_Ui :
PlayerOff/Button/Unlock/none/0.00
PlayerOff/tireur/AddOuptut/targetname none/0.00
PressedAttack/laser/TurnOn/none/0.00
UnpressedAttack/laser/TurnOff/none/0.00
Avec ceci tout devrai être bon, ça peut paraitre difficile mais ça ne lai pas vraiment. Je completerais ce tuto avec des commentaires plus tard.
Si vous avez des problèmes ou si j'ai fait une faute sur le tuto envoyer un MP ou répondez sur le forum
Par malfrax - Commentaires associés
[TUTO-GIMP] Créer des textures répétables
Bonjours,
Je viens donnez une astuce pour faire des textures répétables avec GIMP (comme la plupart des textures de hammer ^^ ) car la plupart des sites qui donne des textures, les donnes alors qu'elle ne sont pas approprié au texturage 3D :
Quelques sites ATTENTION [Il sont à but non lucratif donc pour des jeux gratuits !!] :
http://www.cgtextures.com/
http://free3dstextures.com/
http://www.grsites.com/textures/
Il permet ceci :

La texture peut être répété sans qu'il y est une coupure.
Tout d'abord il vous faut le plugin texturize :
Lien direct
Mettez le fichier texturize.exe dans :
Pour XP :
C:\Programe files\Gimp-2.0\lib\gimp\2.0\plug-in\
Pour Vista :
Je ne sais pas car je ne connais pas vista (si quelqu'un peut m'éclairer sur le sujet ^^)
Pour Seven :
idem
Si gimp est deja lancé, redémarrer le.
Puis prenez votre texture qui doit être plate, sans perspective. Si jamais une perspective est présente, il faut la redressé impérativement.
Puis lancé le plugin texturize dans Mappage

Une fenêtre s'ouvre, vous devais impérativement cochez tileable. Ne touchez pas au autre valeur sauf à Overlap qui selon l'image va optimisé le rendu. Tout dépend de l'image vous avez, vous devrez sois l'augmentez, sois le diminuez. Je vous conseille de tester avec 100 au début et l'augmenter si des problèmes sont présent.
L'image que vous allez obtenir va être 4fois plus grandes que la précédente ( 2 fois en largeur et 2 fois en longueure)
Et voila ^^. Pour les non-windows vous pouvez téléchargez la version de texturize ici : http://gimp-texturize.sourceforge.net/download.html
Je viens donnez une astuce pour faire des textures répétables avec GIMP (comme la plupart des textures de hammer ^^ ) car la plupart des sites qui donne des textures, les donnes alors qu'elle ne sont pas approprié au texturage 3D :
Quelques sites ATTENTION [Il sont à but non lucratif donc pour des jeux gratuits !!] :
http://www.cgtextures.com/
http://free3dstextures.com/
http://www.grsites.com/textures/
Il permet ceci :

La texture peut être répété sans qu'il y est une coupure.
Tout d'abord il vous faut le plugin texturize :
Lien direct
Mettez le fichier texturize.exe dans :
Pour XP :
C:\Programe files\Gimp-2.0\lib\gimp\2.0\plug-in\
Pour Vista :
Je ne sais pas car je ne connais pas vista (si quelqu'un peut m'éclairer sur le sujet ^^)
Pour Seven :
idem
Si gimp est deja lancé, redémarrer le.
Puis prenez votre texture qui doit être plate, sans perspective. Si jamais une perspective est présente, il faut la redressé impérativement.
Puis lancé le plugin texturize dans Mappage

Une fenêtre s'ouvre, vous devais impérativement cochez tileable. Ne touchez pas au autre valeur sauf à Overlap qui selon l'image va optimisé le rendu. Tout dépend de l'image vous avez, vous devrez sois l'augmentez, sois le diminuez. Je vous conseille de tester avec 100 au début et l'augmenter si des problèmes sont présent.
L'image que vous allez obtenir va être 4fois plus grandes que la précédente ( 2 fois en largeur et 2 fois en longueure)
Et voila ^^. Pour les non-windows vous pouvez téléchargez la version de texturize ici : http://gimp-texturize.sourceforge.net/download.html
Par malfrax - Commentaires associés
Textures d'escalier?
Bonjour.
Je cherche à faire un escalier avec les textures créées spécialement pour qui sont présentes dans hammer :

Mais je ne comprends pas comment elles s'utilisent.
Quelqu'un pourrait m'expliquer?
Je cherche à faire un escalier avec les textures créées spécialement pour qui sont présentes dans hammer :

- Afficher l'image en taille réel -
Mais je ne comprends pas comment elles s'utilisent.
Quelqu'un pourrait m'expliquer?
help redimensionner texture RESOLU
bonjour a tous. N y aurait il pas un ptit logiciel qui me permettrait de redimensionner un paquet de texture en une taille precise?
Par exemple j ai une centaine de texture en 2048*2048 et je voudrais les redimentionner en une seule fois en 512*512 car une a une c est un peu chiant a faire
Merci
Par exemple j ai une centaine de texture en 2048*2048 et je voudrais les redimentionner en une seule fois en 512*512 car une a une c est un peu chiant a faire
Merci
Par golgoth - Commentaires associés
[TUTO] Réalisation de nouveau NPC à partir des NPC existant.
Bonjours,
J'ai expérimenté ses quelques jours une technique qui m'a permis la création de models qui irait avec n'importe qu'elle NPC.
Je vous explique :
Vous voudriez faire une aventure counter strike source ?? Et vous n'avez pas la compétence pour créer un NPC... Avec ma technique vous pourriez utiliser un npc_combine_s pour pouvoir faire jouer vos terroirsite ou anti-terro en NPC !! il aurait donc les même mouvement qu'un NPC_combine_s !!
Passons au matériel :
-StudioCompiler : dernière version !!
Pour décompiler. ATTENTION !!! Il ne faut absolument pas prendre MdlCompiler !! Cela créé des bugs et conflits ! (De valve)
-Gui StudioMdl
Celui la n'est pas important si vous savez vous servir de studio compiler mais moi ne sachant pas m'en servir je vais utiliser les 2.
-GCF Scape
Evidement ^^
-Visual Studio 2003
Je prend en compte que vos logiciels sont correctement configurer.
Nous allons créer ici un Humans en Zombie pour une aventure HL2
1°) Première étape : création du plan de travail
Il est important de travailler dans un envirronement bien propre pour ce genre de chose. Donc créer un dossier :
Models Modification
Puis à l'intérieur vous créerais :
Base
Décompiler
Final
Dans décompiler créer un dossier pour chaque models qui vous voulez créer en NPC. Plus un dossier nommer Zombie où on va extraire le models de zombie necessaire pour transformé un Humans en Zombie. On verra ça plus tard.
2°) Extraction avec GCF Scape
Avec GCF Scape vous allez ouvrir Source Models. Puis allez dans le dossier zombie et y extraire tout les fichiers commencant par zombie_classic. Puis vous allez extraire dans humans tout les fichiers qui commence par Female_gesture. Ceci contient les animations de tout les humans female. Mais si vous prenez le models d'alyx par exemple il suffi de prendre simplement sont models.
Vous extrayez tout sa dans base.
3°) Décompilation.
Allez dans StudioCompiler et allez dans l'onglet MdlDécompiler.
Choisissez dans Base le fichier zombie_classic.mdl et comme arrivé choisissé dans Décompiler/zombie.
Faite Extract.
De même pour Female_Gesture que vous mettrais dans un dossier Female.
4°) Modification du QC
Dans chaque dossier vous devriez avoir un fichier :
mdldecompiler.qc
C'est celui qui va donnez les propriétés au model. Ouvrez le fichier mdldecompiler.qc du dossier zombie avec bloc note ou notepad++.
Vous avez tout un tas de ligne. Il va faloir copier les bonnes ^^. Il faut copier tout les lignes qui commence par :
$sequence
et
$animation
Normalement elle sont à la suite.
Copiez ceci et ouvrez le fichier mdldecompiler.qc du dossier female.
Collez ça à la fin.
Puis recherchez la ligne (à l'aide de CTRL+F):
$animation mdldecompiler_delta.smd "mdldecompiler_delta.smd fps 30
Il doit en avoir 2 mais il faut en supprimer qu'une seul, n'importe laquelle.
Voila on a plus qu'a recompiler.
5°) Recompilation
Il vous suffit d'ouvrir Gui Studio Mdl et de faire file->Open
et d'allez cherchez le mdlcompiler.qc dans Female et d'appuier sur compile.
6°) Modification du FGD
Voila ! la vous avez tout les models Female des Humans qui on les animations. Mais elle ne sont pas encore des npc...
Pour cela il faut rajouter une option dans l'entité NPC_zombie
Allez dans :
C:\Programme Files\Steam\SteamApps\Nom de compte\SourceSDK\bin\ep1\bin
et ouvrez avec bloc note :
halflife2.fgd
Faite une recherche (CTRL+F) de :
npc_zombie
Vous devriez tomber sur ça :
@NPCClass base(BaseNPC) studio("models/Zombie/Classic.mdl") = npc_zombie : "Zombie"
[
]
Remplacez par ceci :
@NPCClass base(BaseNPC) studio("models/Zombie/Classic.mdl") = npc_zombie : "Zombie"
[
model(choices) : "Model" : "models/Zombie/Classic.mdl" : "Zombie classic" =
[
"models/Zombie/Classic.mdl" : "Zombie classic"
"models/Humans/Group01/Female_01.mdl" : "Female 01"
"models/Humans/Group01/Female_02.mdl" : "Female 02"
"models/Humans/Group01/Female_03.mdl" : "Female 03"
"models/Humans/Group01/Female_04.mdl" : "Female 04"
"models/Humans/Group01/Female_05.mdl" : "Female 05"
"models/Humans/Group01/Female_06.mdl" : "Female 06"
"models/Humans/Group01/Female_07.mdl" : "Female 07"
]
]
Et voila !!
Maintenent si vous allez dans hammer vous aurez une fonction models avec 6 choix ^^
7°) Modification du code
Attention : La modification du code ne dois ce faire que pour les zombies (à ma connessance) si vous modifiez un NPC et que vous êtes pas sur si on doit modifier le code poster ceci dans le forum ou envoyer un MP je vous répondrais.
Et oui vous devez vous en doutez, il va faloir modifier le code. Pour cela ouvrez votre fichier Game-HL2-2003. Dans server_Hl2 puis dans Source files puis HL2_DLL ouvrez npc_zombie.cpp
Cherchez :
et rajoutez en bas
Puis cherchez :
et remplacez par :
puis cherchez
et remplacez par
Et voila tout devrais fonctionner !! Je vais peut être faire une video plus tard.
J'ai expérimenté ses quelques jours une technique qui m'a permis la création de models qui irait avec n'importe qu'elle NPC.
Je vous explique :
Vous voudriez faire une aventure counter strike source ?? Et vous n'avez pas la compétence pour créer un NPC... Avec ma technique vous pourriez utiliser un npc_combine_s pour pouvoir faire jouer vos terroirsite ou anti-terro en NPC !! il aurait donc les même mouvement qu'un NPC_combine_s !!
Passons au matériel :
-StudioCompiler : dernière version !!
Pour décompiler. ATTENTION !!! Il ne faut absolument pas prendre MdlCompiler !! Cela créé des bugs et conflits ! (De valve)
-Gui StudioMdl
Celui la n'est pas important si vous savez vous servir de studio compiler mais moi ne sachant pas m'en servir je vais utiliser les 2.
-GCF Scape
Evidement ^^
-Visual Studio 2003
Je prend en compte que vos logiciels sont correctement configurer.
Nous allons créer ici un Humans en Zombie pour une aventure HL2
1°) Première étape : création du plan de travail
Il est important de travailler dans un envirronement bien propre pour ce genre de chose. Donc créer un dossier :
Models Modification
Puis à l'intérieur vous créerais :
Base
Décompiler
Final
Dans décompiler créer un dossier pour chaque models qui vous voulez créer en NPC. Plus un dossier nommer Zombie où on va extraire le models de zombie necessaire pour transformé un Humans en Zombie. On verra ça plus tard.
2°) Extraction avec GCF Scape
Avec GCF Scape vous allez ouvrir Source Models. Puis allez dans le dossier zombie et y extraire tout les fichiers commencant par zombie_classic. Puis vous allez extraire dans humans tout les fichiers qui commence par Female_gesture. Ceci contient les animations de tout les humans female. Mais si vous prenez le models d'alyx par exemple il suffi de prendre simplement sont models.
Vous extrayez tout sa dans base.
3°) Décompilation.
Allez dans StudioCompiler et allez dans l'onglet MdlDécompiler.
Choisissez dans Base le fichier zombie_classic.mdl et comme arrivé choisissé dans Décompiler/zombie.
Faite Extract.
De même pour Female_Gesture que vous mettrais dans un dossier Female.
4°) Modification du QC
Dans chaque dossier vous devriez avoir un fichier :
mdldecompiler.qc
C'est celui qui va donnez les propriétés au model. Ouvrez le fichier mdldecompiler.qc du dossier zombie avec bloc note ou notepad++.
Vous avez tout un tas de ligne. Il va faloir copier les bonnes ^^. Il faut copier tout les lignes qui commence par :
$sequence
et
$animation
Normalement elle sont à la suite.
Copiez ceci et ouvrez le fichier mdldecompiler.qc du dossier female.
Collez ça à la fin.
Puis recherchez la ligne (à l'aide de CTRL+F):
$animation mdldecompiler_delta.smd "mdldecompiler_delta.smd fps 30
Il doit en avoir 2 mais il faut en supprimer qu'une seul, n'importe laquelle.
Voila on a plus qu'a recompiler.
5°) Recompilation
Il vous suffit d'ouvrir Gui Studio Mdl et de faire file->Open
et d'allez cherchez le mdlcompiler.qc dans Female et d'appuier sur compile.
6°) Modification du FGD
Voila ! la vous avez tout les models Female des Humans qui on les animations. Mais elle ne sont pas encore des npc...
Pour cela il faut rajouter une option dans l'entité NPC_zombie
Allez dans :
C:\Programme Files\Steam\SteamApps\Nom de compte\SourceSDK\bin\ep1\bin
et ouvrez avec bloc note :
halflife2.fgd
Faite une recherche (CTRL+F) de :
npc_zombie
Vous devriez tomber sur ça :
@NPCClass base(BaseNPC) studio("models/Zombie/Classic.mdl") = npc_zombie : "Zombie"
[
]
Remplacez par ceci :
@NPCClass base(BaseNPC) studio("models/Zombie/Classic.mdl") = npc_zombie : "Zombie"
[
model(choices) : "Model" : "models/Zombie/Classic.mdl" : "Zombie classic" =
[
"models/Zombie/Classic.mdl" : "Zombie classic"
"models/Humans/Group01/Female_01.mdl" : "Female 01"
"models/Humans/Group01/Female_02.mdl" : "Female 02"
"models/Humans/Group01/Female_03.mdl" : "Female 03"
"models/Humans/Group01/Female_04.mdl" : "Female 04"
"models/Humans/Group01/Female_05.mdl" : "Female 05"
"models/Humans/Group01/Female_06.mdl" : "Female 06"
"models/Humans/Group01/Female_07.mdl" : "Female 07"
]
]
Et voila !!
Maintenent si vous allez dans hammer vous aurez une fonction models avec 6 choix ^^
7°) Modification du code
Attention : La modification du code ne dois ce faire que pour les zombies (à ma connessance) si vous modifiez un NPC et que vous êtes pas sur si on doit modifier le code poster ceci dans le forum ou envoyer un MP je vous répondrais.
Et oui vous devez vous en doutez, il va faloir modifier le code. Pour cela ouvrez votre fichier Game-HL2-2003. Dans server_Hl2 puis dans Source files puis HL2_DLL ouvrez npc_zombie.cpp
Cherchez :
- Code:
void CZombie::Spawn( void )
{
Precache();
et rajoutez en bas
- Code:
SetModel( STRING( GetModelName() ) );
Puis cherchez :
- Code:
PrecacheModel( "models/zombie/classic.mdl" );
et remplacez par :
- Code:
PrecacheModel( STRING( GetModelName() ) );
puis cherchez
- Code:
else
{
SetModel( "models/zombie/classic.mdl" );
et remplacez par
- Code:
else
{
SetModel( STRING( GetModelName() ) );
Et voila tout devrais fonctionner !! Je vais peut être faire une video plus tard.
Par malfrax - Commentaires associés
Faire flotter un func_physbox.
Hey, il n'y a pas longtemps, j'ai cherché à faire un bateau, et un bateau c'est mieux quand ça flotte, et n'ayant pu trouver en détail comment faire, je partage ça ici ; voilà à quoi j'ai abouti.
Pour faire flotter un func_physbox, peu importe la texture appliquée dessus, il suffit d'utiliser la ligne "Override Parameters" dans les propriétés de l'objet.
La commande à utiliser ici est "surfaceprop", ce qui donne par exemple "surfaceprop,plastic_barrel" ; on peut ajouter à cela la commande "mass" pour que l'objet supporte plus de poids, car s'il est tout petit et que vous sautez dessus, il coulera avec vous. la masse peut être définie jusqu'à un maximum de 50000, et là si vous sautez dessus il ne bougera pas, ou presque. en pratique ça peut donner ça : "surfaceprop,plastic_barrel,mass,30000".
Voici une liste des matériaux utilisables via cette commande :
http://developer.valvesoftware.com/wiki/Surfaceprop
Pour les objets flottants en particulier, je vous conseille plastic_barrel (flotte bien) ou plastic_barrel_buoyant (flotte très bien)
Peut-être cela rendra-t-il service.
PS, voici d'autres commandes compatibles avec l'Override Parameters des func_physbox
http://developer.valvesoftware.com/wiki/$collisionmodel - Ignorez automass, appliqué par défaut par hammer.
Pour faire flotter un func_physbox, peu importe la texture appliquée dessus, il suffit d'utiliser la ligne "Override Parameters" dans les propriétés de l'objet.
La commande à utiliser ici est "surfaceprop", ce qui donne par exemple "surfaceprop,plastic_barrel" ; on peut ajouter à cela la commande "mass" pour que l'objet supporte plus de poids, car s'il est tout petit et que vous sautez dessus, il coulera avec vous. la masse peut être définie jusqu'à un maximum de 50000, et là si vous sautez dessus il ne bougera pas, ou presque. en pratique ça peut donner ça : "surfaceprop,plastic_barrel,mass,30000".
Voici une liste des matériaux utilisables via cette commande :
http://developer.valvesoftware.com/wiki/Surfaceprop
Pour les objets flottants en particulier, je vous conseille plastic_barrel (flotte bien) ou plastic_barrel_buoyant (flotte très bien)
Peut-être cela rendra-t-il service.
PS, voici d'autres commandes compatibles avec l'Override Parameters des func_physbox
http://developer.valvesoftware.com/wiki/$collisionmodel - Ignorez automass, appliqué par défaut par hammer.
Par Error404 - Commentaires associés
[TUTO]Faire un keypad simplement et indécriptable in-game
Bienvenue tout le monde !!!
Je vais vous expliquez comment faire un keypad sans lock les boutons et sans utiliser les relay.
Pour tout vous dires j'adapte une technique que j'ai créé sur gmod sur hammer !!
Bon on va commencer, non ?
Tout d'abord voila ce qu'il vous faut :
2 math_counter
2 logic_compare
9 func_bouton
Les boutons
Alors pour les boutons il faut cochez comme flag :
Don't move
Use Activate
Eventuellement
Damage activate
Mettez un nom (name) : dans le tuto je prendrais B_keypad
Les autres
Mettez un nom sur chaque mathcounter : moi je met MC1_keypad et MC2_keypad pour le math_counter1 et le math_counter2.
Mettez un nom sur chaque logic_compare : moi je met LC1_keypad et LC2_keypad
Mettez pour le LC1_keypad :
Compare Value : Vote code (ici on prendra 2512)
ATTENTION : Il n'y aura pas de 0 juste 1,2,3,4,5,6,7,8,9 donc utilisez que c'est chiffre
Mettez pour le LC2_kepad :
Compare Value : Nombre de chiffre sur le code (ici 4)
Vous pouvez en mettre une infinité mais bon après ça n'a plus aucun sens
Bon voila on a tout !!!
Configuration des boutons :
Je vais tout vous dires c'est la partie la plus longue du tuto
Ouptut :
Onpressed/MC1_keypad/multiplie/10 0.00
Onpressed/MC2_keypad/add/1 0.00
Puis pour le bouton 1
Onpressed/MC1_keypad/add/1 0.10
Pour le 2 remplacez 1 par 2
Pour le 3 ==> 3
etc ...
Voila pour les boutons.
Passons aux deux math_counter qui se paramètre pareille avec une seul différence
MC1_keypad
Ouptut :
OutValue/LC1_keypad/SetValue/<none> 0.00
MC2_keyoad
Ouptut :
OutValue/LC2_keypad/SetValueCompare/<none> 0.00
Puis pour le LC2_keypad :
Ouptut :
OnEqualTo/LC1_keypad/compare 0.00
Puis pour finir :
LC1_keypad :
Ouptut :
Mettez l'action qui se produit quand le code est bon pour OnEqualTo et si il est mauvais OnNotEqualTo
ATTENTION : si vous voulez que le keypad puisse s'utiliser infiniment :
Mettez :
OnEqualTo/MC1_keypad/Setvalue/0 60.00
OnEqualTo/MC2_keypad/Setvalue/0 60.00
OnNotEqualTo/MC1_keypad/Setvalue/0 60.00
OnNotEqualTo/MC2_keypad/Setvalue/0 60.00
Voila !! Le keypad pourra être utiliser une minute après son utilisation.
Bon, si vous voulez un petit exemple, vous pouvez télécharger la map actuel que je fais. J'ai utiliser le keypad pour ouvrir un coffre.
(Ne jugez pas ma map elle n'en est que au début mais si vous avez une remarque dites le !!)
http://tripforce-machine.verygames.net/Video2.wmv
(Faites clique droit puis enregistrer la cible sous)
Ps: La map semble sombre mais c'est la vidéo qui fait cela !!
Merci de laissez des commentaires !! sur mon tuto ou sur mon début de map ^^
Je vais vous expliquez comment faire un keypad sans lock les boutons et sans utiliser les relay.
Pour tout vous dires j'adapte une technique que j'ai créé sur gmod sur hammer !!
Bon on va commencer, non ?
Tout d'abord voila ce qu'il vous faut :
2 math_counter
2 logic_compare
9 func_bouton
Les boutons
Alors pour les boutons il faut cochez comme flag :
Don't move
Use Activate
Eventuellement
Damage activate
Mettez un nom (name) : dans le tuto je prendrais B_keypad
Les autres
Mettez un nom sur chaque mathcounter : moi je met MC1_keypad et MC2_keypad pour le math_counter1 et le math_counter2.
Mettez un nom sur chaque logic_compare : moi je met LC1_keypad et LC2_keypad
Mettez pour le LC1_keypad :
Compare Value : Vote code (ici on prendra 2512)
ATTENTION : Il n'y aura pas de 0 juste 1,2,3,4,5,6,7,8,9 donc utilisez que c'est chiffre
Mettez pour le LC2_kepad :
Compare Value : Nombre de chiffre sur le code (ici 4)
Vous pouvez en mettre une infinité mais bon après ça n'a plus aucun sens
Bon voila on a tout !!!
Configuration des boutons :
Je vais tout vous dires c'est la partie la plus longue du tuto
Ouptut :
Onpressed/MC1_keypad/multiplie/10 0.00
Onpressed/MC2_keypad/add/1 0.00
Puis pour le bouton 1
Onpressed/MC1_keypad/add/1 0.10
Pour le 2 remplacez 1 par 2
Pour le 3 ==> 3
etc ...
Voila pour les boutons.
Passons aux deux math_counter qui se paramètre pareille avec une seul différence
MC1_keypad
Ouptut :
OutValue/LC1_keypad/SetValue/<none> 0.00
MC2_keyoad
Ouptut :
OutValue/LC2_keypad/SetValueCompare/<none> 0.00
Puis pour le LC2_keypad :
Ouptut :
OnEqualTo/LC1_keypad/compare 0.00
Puis pour finir :
LC1_keypad :
Ouptut :
Mettez l'action qui se produit quand le code est bon pour OnEqualTo et si il est mauvais OnNotEqualTo
ATTENTION : si vous voulez que le keypad puisse s'utiliser infiniment :
Mettez :
OnEqualTo/MC1_keypad/Setvalue/0 60.00
OnEqualTo/MC2_keypad/Setvalue/0 60.00
OnNotEqualTo/MC1_keypad/Setvalue/0 60.00
OnNotEqualTo/MC2_keypad/Setvalue/0 60.00
Voila !! Le keypad pourra être utiliser une minute après son utilisation.
Bon, si vous voulez un petit exemple, vous pouvez télécharger la map actuel que je fais. J'ai utiliser le keypad pour ouvrir un coffre.
(Ne jugez pas ma map elle n'en est que au début mais si vous avez une remarque dites le !!)
http://tripforce-machine.verygames.net/Video2.wmv
(Faites clique droit puis enregistrer la cible sous)
Ps: La map semble sombre mais c'est la vidéo qui fait cela !!
Merci de laissez des commentaires !! sur mon tuto ou sur mon début de map ^^
Par malfrax - Commentaires associés
[Tuto]Allocation des coeurs pour vos applications & rendus.
Je poste ici un tutorial que j'ai réalisé pour le forum de mon école. Cela peut très bien être re-appliqué pour Hammer ou autres.
[Tutorial]Allocation des coeurs pour vos applications & rendus.
Je vous rédige un petit tutorial vous permettant d'allouer (réserver) un certains nombre de coeurs de votre processeur pour vos applications.
En plus simple, nous savons tous que nos processeurs possèdent pour la plupart 2 à 4 coeurs. Ce tutorial vous permettra par exemple de calculer vos rendus C4D ou 3DS sur seulement 3 coeurs et vous en garder un pour faire autre chose à coté.(Musique, vidéo, 3D simple, internet...)
Tous d'abord, le logiciel auquel vous aller allouer un certains nombre de coeurs doit déjà être ouvert. (imaginons C4D...)
Ouvrez votre gestionnaire de taches.
-Si vous êtes sous XP: CTRL + Alt + Suppr
-Sous Vista & Seven: CTRL + SHIFT Gauche + Echap
Voici à quoi ressemble votre gestionnaire de taches.

Pensez à cocher "Afficher les processus de tous les utilisateurs".
Dans la colonne de gauche, les processus qui tournent actuellement sur votre PC, une grande quantité son reservé à votre Système d'exploitation.
La colonne processeur, vous permet de voir le pourcentage d'utilisation du processeur par application.
La colonne Mémoire, présente la quantité de ram exploitée par logiciel.
La description, je pense que vous comprennez...
Dans la liste, cherchez pa exemple Cinema 4D.exe si celui-ci est lancé.
Faîtes un clique droit sur celui-ci puis cliquez sur "définir l'affinité". Cela affichera la liste des coeurs exploités actuellement par votre logiciel.

A vous de cocher les coeurs dont le logiciel dispose pour travailler. Plus vous diminuer le nombre de coeurs, plus les temps de rendus augmentent.
Lancez alors un rendu, puis retournez dans votre gestionnaire de tâches et cliquez sur l'onglet "Performance".
Cette fenêtre vous donne énormement d'informations matériel sur l'ordinateur comme la quantité de ram utilisée et libre. Ainsi que le pourcentage d'utilisation des différents coeurs du processeur.
Sur mon exemple, je n'ai alloué que les 3 premiers coeurs de mon processeur pour C4D. Comme vous pouvez le voir durant le rendu:

-Mes 3 premiers coeurs sont exploités par C4D entierement, le dernier Est relativement peu exploité... Vous pouvez l'utiliser pour d'autres applications.
NB: Raysat_3Dsmax2010_64server.exe & Raysat_3Dsmax2010_32server.exe ne représente pas directement le logiciel 3DS max ouvert mais seulement un processus exploité par 3DS lui même pour la gestion des serveurs et rendus. Ce processus démarre avec votre ordinateur et doit rester constament activé si vous souhaitez bosser sur 3DS.
NB2: A verifier mais la manipulation d'allocation des coeurs à un programme doit être fait à chaque fois que le logiciel lui même a été fermé.
NB3: une grande quantité des processus affichés dans votre gestionnaire de tâches possèdent des explications sur internet en reecrivant correctement le nom du processus sur Google ou Bing...
NB4: Vous pouvez très bien changer le nombre de coeurs durant un rendu... Permettant à votre logiciel d'utiliser les 4 coeurs après que vos boulots à faire à coté soient terminés.
J'espère que cela vous aidera pour vos futurs rendus et vous fera gagner du temps.
Bonne semaine à tous!
[Tutorial]Allocation des coeurs pour vos applications & rendus.
Je vous rédige un petit tutorial vous permettant d'allouer (réserver) un certains nombre de coeurs de votre processeur pour vos applications.
En plus simple, nous savons tous que nos processeurs possèdent pour la plupart 2 à 4 coeurs. Ce tutorial vous permettra par exemple de calculer vos rendus C4D ou 3DS sur seulement 3 coeurs et vous en garder un pour faire autre chose à coté.(Musique, vidéo, 3D simple, internet...)
Tous d'abord, le logiciel auquel vous aller allouer un certains nombre de coeurs doit déjà être ouvert. (imaginons C4D...)
Ouvrez votre gestionnaire de taches.
-Si vous êtes sous XP: CTRL + Alt + Suppr
-Sous Vista & Seven: CTRL + SHIFT Gauche + Echap
Voici à quoi ressemble votre gestionnaire de taches.
- Afficher l'image en taille réel -
Pensez à cocher "Afficher les processus de tous les utilisateurs".
Dans la colonne de gauche, les processus qui tournent actuellement sur votre PC, une grande quantité son reservé à votre Système d'exploitation.
La colonne processeur, vous permet de voir le pourcentage d'utilisation du processeur par application.
La colonne Mémoire, présente la quantité de ram exploitée par logiciel.
La description, je pense que vous comprennez...
Dans la liste, cherchez pa exemple Cinema 4D.exe si celui-ci est lancé.
Faîtes un clique droit sur celui-ci puis cliquez sur "définir l'affinité". Cela affichera la liste des coeurs exploités actuellement par votre logiciel.
- Afficher l'image en taille réel -
A vous de cocher les coeurs dont le logiciel dispose pour travailler. Plus vous diminuer le nombre de coeurs, plus les temps de rendus augmentent.
Lancez alors un rendu, puis retournez dans votre gestionnaire de tâches et cliquez sur l'onglet "Performance".
Cette fenêtre vous donne énormement d'informations matériel sur l'ordinateur comme la quantité de ram utilisée et libre. Ainsi que le pourcentage d'utilisation des différents coeurs du processeur.
Sur mon exemple, je n'ai alloué que les 3 premiers coeurs de mon processeur pour C4D. Comme vous pouvez le voir durant le rendu:
- Afficher l'image en taille réel -
-Mes 3 premiers coeurs sont exploités par C4D entierement, le dernier Est relativement peu exploité... Vous pouvez l'utiliser pour d'autres applications.
NB: Raysat_3Dsmax2010_64server.exe & Raysat_3Dsmax2010_32server.exe ne représente pas directement le logiciel 3DS max ouvert mais seulement un processus exploité par 3DS lui même pour la gestion des serveurs et rendus. Ce processus démarre avec votre ordinateur et doit rester constament activé si vous souhaitez bosser sur 3DS.
NB2: A verifier mais la manipulation d'allocation des coeurs à un programme doit être fait à chaque fois que le logiciel lui même a été fermé.
NB3: une grande quantité des processus affichés dans votre gestionnaire de tâches possèdent des explications sur internet en reecrivant correctement le nom du processus sur Google ou Bing...
NB4: Vous pouvez très bien changer le nombre de coeurs durant un rendu... Permettant à votre logiciel d'utiliser les 4 coeurs après que vos boulots à faire à coté soient terminés.
J'espère que cela vous aidera pour vos futurs rendus et vous fera gagner du temps.

Bonne semaine à tous!

Vidéos
Cours et astuces

