Programme de construction automatique pour navigateur en monde virtuel

 

Mon programme s'utilise dans le monde virtuel AlphaWorld (cf. en bas de la page) pour construire automatiquement des murs, des sols, des rues, ou des forêts, ou toute construction répétitive…

Pour construire actuellement dans Alpha World, on sélectionne un objet existant, on le duplique en appuyant sur la touche INSERT, puis on positionne la copie en utilisant les touches de déplacement. On peut métamorphoser l'objet en changeant son non, choisit dans une base d'objets existants.

Le principe de mon système est de simuler l'utilisateur du navigateur et d'effectuer automatiquement les pressions de touches correspondant à une construction.

Par exemple, pour faire une route (avec l'objet street1.rxw), on répète N fois la séquence : INSERT, UP, UP, UP, … (UP est répété 19 fois, pour déplacer la copie et la juxtaposer à la précédente).
La touche INSERT effectue déjà un déplacement en avant, et l'objet street1.rwx mesure 20 unités de déplacement. Avec mon programme, il suffit de donner le nombre de répétitions et la taille de l'objet, de sélectionner l'objet à dupliquer de d'appuyer sur le bouton ligne.

 

Exemples de constructions:


Construction automatique de pavages (429S 331W), de murs, de lignes d'objets espacés régulièrement.

 


Vitres et colonnes (aw 1698s 2034w).

 

  L'autoroute avec les palmiers (aw 479s 330w) sont des lignes d'objets répétés. On peut aussi enregistrer des séquences de déplacements quelconques avec des rotations et des changements d'altitude, et les répéter ensuite le nombre de fois souhaité (french 28s 28w).

 

Mode d'emploi:

Ce programme est écrit en Smalltalk, pour pouvoir l'utiliser il faut installer VisualWorks 2.51 de ParcPlace (cf ci-dessous), avec l'option DLL and C connect.

Code du programme à télécharger:

VL-PiloteApplication.st (51K) + fenetre.h (14K)

Depuis l'outil File list de Smalltalk, faites un file In du fichier VL-PiloteApplication.st.

Puis, pour lancer le programme faites un Do it sur l'expression VLPiloteApp open dans n'importe quelle fenêtre de texte.

Un premier dialogue s'ouvre pour demander le titre de la fenêtre du navigateur. L'application à besoin de connaître la fenêtre principale du navigateur, et peut la trouver si vous lui indiquez un pattern de reconnaissance du titre. Par exemple si vous êtes dans aw, le titre commance par Alpha, le pattern par défaut est Alpha* (qui signifie la premiere fenêtre dont le titre commence par Alpha). Changez le pattern si vous ouvrez l'application alors que le navigateur est dans un autre monde.

Le second dialogue sert à repèrer la boîte de dialogue 'Object properties' du navigateur.

Ensuite le fenêtre pilote s'ouvre.

Dans le menu Action, il y a la fonction de localisation du navigateur (qui est appelée automatiquement au début, mais qu'il faut rapeler si le navigateur à été ou était fermé), et la fonction Fermer, pour quitter l'application.

Le chiffre du haut est un compteur indiquant en cours de traitement le nombre d'INSERT restant à effectuer.

Le bouton Ligne est suivit du nombre de répétitions et de la taille de l'objet (ici répéter 10 fois un objet de taille 20 déplacements). Sélectionnez toujours un objet avant d'appuyer sur le bouton.

Le bouton Surface est suivit de : la profondeur (nombre de repetition vers l'avant), la taille de l'objet en profondeur, puis sur la seconde ligne, de la largeur (nombre de repetitions vers la droite), et de la taille de l'objet en largeur.

Le bouton Mur, repete l'objet vers la droite. Idem : nombre de répétition, et taille de l'objet en largeur.

Le clavier virtuel fonctionne de la façon suivante : Appuyez sur START commence l'enregistrement d'une séquence. Appuyez sur les boutons correspondant aux touches, puis pressez le bouton STOP.
La séquence est ajoutée dans la liste supérieure, et son contenu dans la liste inférieure.
Le menu local de la liste permet d'exécuter la séquence sélectionnée un nombre de fois désigné dans la case entre le bouton START et STOP (on peut aussi faire un double-clic sur la séquence).

Le menu local de la seconde liste, permet d'effacer une touche, ou de les déplacer dans la liste en les faisant monter et descendre.

En cas de panique, appuyez sur CTRL-C pour interrompre le programme, vous aurez alors le choix de reprendre ou de terminer l'exécution de la commande en cours.

Dernier conseil : positionnez vous toujours face à l'objet à répéter.

Le bouton Image et Lire Image resterons un mystère (pour l'instant).

Merci de votre attention, si ça vous plait, écrivez moi à m a i l t o : v i @ a i . u n i v - p a r i s 8 . f r
Envoyez moi les coordonnées de vos fulgurantes constructions!

NOTE : Je dégage toute responsabilité quand au domages éventuels virtuels ou réels survenant à cause de l'utilisation de ce programme.

 

Pour obtenir VisualWorks 2.51 + DLL C connect:

Pour télécharger le navigateur:

 Pour pouvoir circuler dans le monde virtuel, il faut télécharger le navigateur de Circle Of Fire Studio 

 

 

Pour voir les autre réalisations du GAIV: