CONTENU

Pourquoi mes models/props n'apparaissent-ils pas ?

Ce tutorial porte sur "la raison des disparitions inexplicables de models/props dans le logiciel Valve Hammer Editor 4"
Cette page dispose d'une feuille de style pour l'impression (afin de supprimer la mise en page du site).
Dernière mise à jour le 24/08/2013.

Ce cours a été entièrement écrit par moi, c'est à dire NykO18.
Pour me contacter, plusieurs moyens :

Creative Commons License Cette création est mise à disposition
sous un contrat Creative Commons.

Pourquoi mes models/props n'apparaissent-ils pas ?

Sans arrêt, sur des forums, des sites, par des contacts et des amis, j'entend sans arrêt revenir la même question concernant les prop_static, prop_physics et autres props dans Valve Hammer Editor :

J'ai inséré un model de ... et quand je compile ma map il n'apparaît pas.
Qu'est-ce qui se passe ?
Comment faire ?

J'ai donc décidé de donner une petite explication, peut-être pas totalement complète, mais qui m'a personnellement mieux aidé à comprendre tout ca lorsque je débutais. Il y a d'ailleurs plusieurs explications à ce problème qui n'en est vraissemblablement pas un.

1. Mauvaise utilisation

Premièrement, vous avez inséré un model de prop_static dans un prop_physics. Certains models sont prévus pour être immobiles et faire partie du décor uniquement ! Vous n'avez alors pas le droit de les utiliser comme objets soumis à la gravité. Ils n'ont de toute façon souvent pas de "modèle physique" qui leur permettrait de se comporter comme un objet soumis à la gravité. Ils sont alors supprimés lors du lancement de la map et vous avez un message du genre :

prop_physics at X Y Z uses model models/X/Y.mdl, which has no propdata which means it must be used on a prop_static. DELETED.

La solution à ce problème est de remplacer l'entité prop_physics par un prop_static, et si vraiment vous souhaitez que l'objet soit soumis à la gravité même s'il n'a pas été prévu pour ça à la base, vous pouvez toujours utiliser l'entité prop_physics_override.
L'inverse produit également le même effet (insérer un model de prop_physics en prop_static). Vous obtiendriez une erreur du genre suivant :

Error! prop_static using model "models/X/Y.mdl", which must be used on a dynamic entity (i.e. prop_physics). Deleted. Error loading studio model "models/X/Y.mdl"!

Si vous voulez vraiment utiliser un modèle soumis à la gravité comme prop_static, et donc faire en sorte qu'il ne bouge pas, cochez la case "Motion Disabled" dans les Flags de votre prop_physics. Si vous ne souhaitez pas non plus que l'objet puisse être détruit, préférez lui l'entité prop_dynamic.

2. Fade Distance

Vous avez malencontreusement touché aux cercles ayant pour centre le centre de gravité de l'objet. Petite explication de ces cercles :
Ils correspondent à la distance à laquelle les objets concernés vont disparaître pour "économiser" les ressources du moteur d'affichage. L'un des cercles détermine à partir de quelle distance le model commence à disparaître, et l'autre à partir de quelle distance il a totalement disparu. Des objets placés en haut d'une tour par exemple, n'ont pas besoin d'être visible du bas de la tour, on limite donc leur affichage aux alentours du sommet grâce à ces deux cercles.

Il existe deux cercles concentriques, un qui représente le début de la disparition et l'autre qui représente la fin. Lorsque vous copiez-collez ou transposez des props il y a un risque de dérèglement de ces cercles. Ils passent alors d'un diamètre de 0 (visible de n'importe ou) à un diamètre généralement de moins de 32. Dans ce cas, votre objet n'est alors visible qu'en collant votre nez dessus, puisqu'il n'est plus visible hors du cercle il faut donc s'approcher à moins de 32 unités pour l'apercevoir. Pour résoudre ce "problème", rendez vous dans les propriétés de votre prop et réglez l'option "Start Fade Dist" sur -1 et "End Fade Dist" sur zéro.

Sachez également que si vous touchez à ces cercles par mégarde et que vous faites ensuite CTRL+Z ou Edit > Undo pour annuler, cela ne sera pas pris en compte. Certes, le cercle reviendra à son état d'origine, mais pas les valeurs dans les propriétés de l'objet. C'est pour cela que même en faisant attention, on peut avoir des props invisibles. Si vraiment vous ne voulez plus avoir de problèmes avec ces cercles, désactivez les "helpers" de Valve Hammer Editor. (l'un des derniers bouton de la barre d'outils du haut, représenté par une boule). Vous n'aurez qu'a les réactiver lorsque vous en aurez besoin. (pour déplacer des axes de portes ou autres)

3. Chemin érroné

Vous avez tout simplement utilisé un chemin erroné ou un chemin vers un model qui n'existe pas. Les mods ne sont par exemple par compatibles entre eux, vous ne pouvez pas utiliser les models de Counter-Strike: Source dans Half-Life 2, ni les models de Day of Defeat: Source dans Counter-Strike: Source. Seuls les models du jeu de base (dixit Half-Life 2) sont universels.

De même, il est strictement interdit d'utiliser des models dont le nom où le chemin d'accès contient un caractère invalide tel qu'un caractère accentué. Les anglophones n'ont pas d'accent dans leur langue et il est inpensable de nommer un model avec un caractère non-reconnu par le moteur.

4. Mauvais positionnement

Vous avez inséré un prop_physics légèrement à l'intérieur du sol ou d'un mur et au lancement de la map il a été éjecté violemment et au hasard... Cette réaction est dûe au fait que le prop essaye de se dégager de son emprise avec le sol et le mur et déploie une force incroyable pour s'en sortir. Il n'est donc pas exclu qu'en déployant toute cette force, il se soit fait éjecter soit hors de la map, soit à un endroit où il n'est pas censé se trouver...

5. Visgroup caché

Il est également possible mais aussi improbable que le visgroup "World Details > Props" soit décoché dans la barre d'outils située à gauche de Valve Hammer Editor. Ce qui signifie que tous les props de la map sont actuellement invisibles et ne sont pas compilés avec la map lors de sa compilation.

6. Précisions

Il se peut également que vous ayez des messages d'erreur dans la console du genre :

SOLID_VPHYSICS static prop with no vphysics model! (models/X/Y.mdl)

Cela veut dire qu'un des prop_static que vous utilisez ne possède pas de "modèle physique complexe". (au niveau de la gestion des colisions entre le joueur, le monde et l'objet). Il faut donc spécifier autre chose que Use VPhysics dans Collisions (dans les options du prop). Vous avez alors le choix de rendre l'objet traversable (Not Solid) ou utiliser un modèle de collision grossier représenté par la boîte contenant l'objet. (Use Bounding Box)


Cette création est mise à disposition selon le Contrat Paternité-Pas d'Utilisation Commerciale-Partage des Conditions Initiales à l'Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ ou par courrier postal à Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.