Vendredi 3 mai 2024
|
Exemple d'un objet actif : distributeurUn objet actif est un objet qui peut être activé, c'est à dire effectuer une certaine opération et subir la physique de l'environnement. Plusieurs commandes peuvent être appliquées à un objet actif : créer, détruire et activer. Comment créer un nouvel objet actif ? Tout d'abord, imaginer un objet actif ainsi qu'une action associée lorsqu'on l'active. Nous allons prendre l'exemple d'un nouvel objet actif, ici un distributeur de canettes. L'action associée est l'apparition d'une canette à deux métres devant le distributeur, le son d'une canette qui est bue puis la disparition de la canette à la fin du son. GraphiquementIl nous faut une image d'un distributeur pour pouvoir élaborer la texture. On prend un appareil photographique numérique, on court à l'EPITA (mais si ! Il n'y a que là où il y a des distributeurs de canettes !), on photographie quelques devantures de distributeurs puis on sélectionne la meilleure photo. Par exemple via PhotoShop, on retouche l'image et on la transforme en texture (redimmensionnant inférieur à 256*256 en puissance de 2 : 2, 4, 8, 16, 32, 64, 128, 256). Changer le fichier activobj.iniEditez le fichier "activeobjs.ini" dans le répertoire "settings" du client, et créez une nouvelle section qui porte le nom du nouvel objet actif que vous venez de créer (ex: [distrib] ). Créez une nouvelle clé "mesh3DS" et donnez comme valeur le nom de l'objet dans la scene chargée (ex: mesh3DS=DISTRIB). Créez une nouvelle clé "file3DS" et donnez comme valeur le chemin d'accès au fichier 3DS (ex: file3DS=models/distrib.3ds). Créez une nouvelle clé "fileDEF" et donnez comme valeur le chemin d'accès au fichier .DEF généré par "3DS2DEF.exe" de Panard Vision (ex: fileDEF=models/distrib.def). Si votre objet actif émet un son: Créez une nouvelle clé "fileSND" et donnez comme valeur le chemin d'accès au fichier .WAV (ex: fileSND=sounds/canette.wav ). Créez une nouvelle clé "rngeSND" et donnez comme valeur un entier qui correspond à la distance en mètres à laquelle on entend le son émis par votre nouvel objet actif (ex: rngeSND=3 ). Si le son doit être joué en boucle: Créez une nouvelle clé "loopSND" et donnez comme valeur 1 (ex: loopSND=1 ). Code
Puis on modifie plusieurs fichiers dans le code :
|