Cel Reference/fr

From Blender2crystal

Jump to: navigation, search

Language : EnglishEspañolFrançais

[edit] Référentiel de CEL

Contents


[edit] Introduction

Il est possible de générer des mondes prêts à être utilisés avec CEL, et de paramétrer certaines propriétés relatives aux entités et aux quêtes, ainsi qu'aux comportements.

Pour exporter des maps préparées pour CEL, le bouton celexport dans l'onglet Image:Icons-export.png export doit être activé. Ensuite le plug-in d'exportation créera un fichier niveau (→ "level.xml"), un fichier entités (→ "entities_world"), et un fichier monde (→ "world"). Le processus d'exportation est conçu pour le chargement via une entité de gestion de zone, mais les différents fichiers peuvent être chargés indépendamment (mis à part le fait que world doit être chargé avant entities_world).

La propriété la plus importante à prendre en compte est la propriété entity. En la configurant sur true, vous exporterez une entité dans le fichier entities_world, en plus des meshobjects (objets de mesh) et des meshfactories (fabriques de mesh) normalement envoyés vers le fichier world.

L'autre élément d'importance est que vous avez à présent besoin d'un personnage joueur. Habituellement vous définirez le joueur en configurant la propriété Player sur true sur un objet choisi, ce qui fixera pccommandinput et pcdefauftcamera sur l'entité, et changera son nom en camera (vous devrez n'avoir aucune autre entité dotée du nom camera, et il ne devrait y avoir pas plus d'un seul joueur de défini).

Certaines Classes de Propriété sont automatiquement assignées aux entités en fonction des propriétés définies :

  • pcmesh sera assignée à tous les objets comportant un mesh.
  • pcmeshselect sera assignée à tous les objets comportant un mesh.
  • pclight sera assignée aux lumières dôtées d'une propriété entité.
  • pclinmove peut être assignée via la propriété pclinmove.
  • pctimer sera ajoutée avec les propriétés wakeup, wakeupnr et wakeupframe.
  • pctrigger sera ajoutée avec les propriétés trigger_sphere, trigger_above et anchor.
  • pcquest sera ajoutée quand des quêtes seront liées à des entités en utilisant l'onglet Image:Icons-quest2.png Quest.
  • pcmechsystem sera ajoutée au secteur dépendant de la propriété pcmechanics dans l'onglet Image:Icons-scene.png Sectorsettings.
  • pcmechobject sera ajoutée aux entités lorsqu'une propriété Dynamics est définie pour l'objet.
  • pcproperties sera ajoutée aux entités lorsqu'une pcproperties est utilisée.

Des Classes de Propriétés supplémentaires peuvent explicitement être assignées aux objets dans l'onglet Image:Icons-propclass.png Property Class.

Pour ajouter d'autres Classes de Propriété, utilisez les propriétés pcclass.

[edit] Les types CEL

Il existe certains types spéciaux pour CEL, vous pouvez les consulter dans la section Référentiel des types d'objet.

[edit] Support de scripts

Les scripts sont intégrés au processus d'exportation.

Les Couches Comportement XML et Python sont toutes deux supportées (pour l'heure vous devrez choisir l'une ou l'autre dans les paramètres du monde)

Les scripts et les modèles peuvent être empaquetés dans le fichier .blend pour l'édition depuis Blender ou pour la distribution, ou dépaquetés dans un répertoire pour une édition externe.

Par conséquent les scripts utilisés dans le monde seront empaquetés dans un fichier .zip pour la distribution et le lancement via l'application standard CELstart.

L'appui sur le bouton RUN depuis Blender2Crystal empaquettera les scripts nécessaires et lancera votre map correctement en utilisant l'application CEL : CELstart, ainsi que l'un des principaux scripts fournis (celstrap.py pour blpython et celstrap.xml pour blxml).

[edit] Lancement manuel des mondes générés

[edit] Applications blpython

Une application python se charge comme suit :

($CEL)/celstart /tmp/world.zip

Ceci appelle l'application CELstart, laquelle appelle notre comportement principal (qui doit être dans le répertoire). Ensuite la map est chargée et tous les autres comportements initialisés.

Notez que tous les comportements, par exemple les scripts Python, doivent être localisés dans le PYTHONPATH, ce qui peut être accompli de plusieurs façons :

  • En mettant tous les fichiers Python dans l'archive .zip et en paramétrant le PYTHONPATH vers le chemin complet de cette archive. Python trouvera les scripts, étant donné qu'il utilise une partie du système VFS de Crystal Space.
  • En mettant les fichiers Python dans un sous-répertoire "scripts/" du répertoire depuis lequel nous avons lancé l'application. C'est d'ordinaire déjà compris dans le PYTHONPATH et devrait fonctionner.

[edit] Applications blxml

Une application XML se charge comme suit :

($CEL)/celstart /tmp/world.zip

Ceci appelle l'application CELstart, laquelle appelle l'amorçage de comportement codé en dur CEL blxml, qui chargera notre fichier monde en utilisant le fichier .xml spécifié en tant qu'entrée principale.

[edit] Entités Mechanics

Si le secteur possède une mechsys, alors une entité pcmechsystem sera créée pour ce secteur. Donc si le secteur a un dynamicsystem (réglage de la propriété dynsys), il sera utilisé pour le système mécanique (le système mécanique contrôlera donc le système dynamique).

La force de gravité d'un secteur peut être définie via la propriété gravity dans les paramètres du secteur.

Les propriétés pour les corps sont les mêmes que les propriétés physiques générales dans l'exporteur (masse, densité, élasticité, friction, souplesse). La règle générale est qu'une Classe de Propriété pcmechobject sera exportée pour des entités avec dynamics configurée sur true. Un pcmechsystem sera ainsi automatiquement créé s'il n'a pas été spécifié dans sectorsettings.

Donc gravity et dynsys sont utilisés pour la physique des entités.

[edit] Quêtes

Elles peuvent être configurées dans l'onglet Image:Icons-quest2.png Quest.

Ces propriétés résultent de certains paramètres envoyés aux entités Quête.

Vous pouvez configurer plusieurs quêtes, et définir des variables pour chaque.

[edit] Exemples d'utilisation

Différents effets peuvent être atteints en utilisant le mode d'export CEL. En voici quelques exemples :

[edit] Personnage joueur

Il y a deux façons principales de configurer le personnage joueur :

  1. Sur l'objet que vous souhaitez être le personnage joueur, réglez la propriété Player sur true. En plus de ça, vous pouvez lui donner le comportement actor si vous désirez le contrôler, et pclinmove si vous ne voulez pas qu'il flotte dans les airs. C'est la meilleure façon de configurer le personnage joueur.
  2. Le personnage joueur peut être configuré en lui assignant le nom camera et en s'assurant qu'il a aussi la propriété pcdefauftcamera, ce qui peut être fait en utilisant la propriété pcdefaultcamera ou en lui assignant le modèle player.xml. En conséquence les notes relatives au comportement et au pclinmove de la méthode n°1 s'appliquent à celle-ci.

[edit] Plateforme mobile

Les objets mobiles peuvent être directement exportés depuis les animations Blender. Les cycles peuvent servir à fabriquer des cycles d'animation en mode extrapolation, ce qui veut dire que la première et la dernière clé de l'IPO doivent être égales si l'objets est censé évoluer entre différents points clés. entity et anchor doivent être réglées sur true de façon à ce que la plateforme puisse transporter le personnage joueur.

[edit] Objets ramassables

En applicant la quête pickable.xml depuis le navigateur de quête, n'importe quel objet peut être rendu ramassable.

[edit] Personnages non joueurs

Le modèle npc.xml est spécialement conçu pour les PNJ, et devrait être utilisé. Donc pclinmove doit être réglé sur true, sans quoi l'entité flottera dans les airs. Habituellement quelques comportements seront définis afin que l'entité interagisse avec l'environnement.

[edit] Configurer l'entité sélection globale

Le modèle globalselection.xml est conçu de façon à s'appliquer à un objet vide dans Blender, et tous les objets seront sélectionnables par simple clic.

[edit] Légèrement obsolètes

[edit] Modèles d'entités disponibles

  • globalselection.xml
Un modèle d'entité qui peut être défini sur un objet vide dans Blender, il autorisera le déplacement des entités à la souris.

[edit] Modèles de quêtes disponibles

Encore expérimentaux, non documentés.

  • pickable.xml
Une quête pour les objets pouvant être ramassés sur le sol. Fonctionne simplement en étant sélectionnée.
  • ProximityPickable.xml
Une quête pour les objets qui seront ramassés en s'approchant. Fonctionne simplement en étant sélectionnée.
  • MovingPlatformAnchor.xml
Une quête pour les objets pouvant transporter la caméra. Elle est automatiquement assignée en utilisant la propriété anchor comme expliqué plus haut.
  • SlideDoor*
Une quête pour les portes s'ouvrant dès que le joueur s'approche. Cette quête devrait être utilisée en conjonction avec trigger_sphere pour définir le rayon d'activation d'ouverture de la porte. La propriété activate_move affectera également cette quête.
  • SlideDoorLocked*
Identique à la quête précédente pour les portes qui s'ouvre à l'approche, mais cette variante ne la fait s'ouvrir que lorsque le joueur transporte l'entité clé spécifiée dans la propriété key.
  • ButtonLight
Une quête pour une lumière pouvant être allumée et éteinte. Elle est automatiquement assignée aux lumières dont l'entité est réglée sur true.
  • ButtonSeq*
Une quête pour des boutons pouvant activer des séquences dans les quêtes provenant d'autres objets. Il existe différentes variétés de cette quête pour paramétrer la direction du bouton. Les propriétés activate_move, target, op_on et op_off sont des propriétés valides pour cette quête, qui peuvent être paramétrées dans Blender (voir plus haut). Par défaut les paramètres activeront automatiquement les lumières quand la cible sera une lumière, mais différents effets peuvent être obtenus en utilisant les propriétés.
N'oubliez pas que les entités cibles doivent aussi être des entités (autrement dit, elles doivent avoir leur propriété entité réglée sur true).

[edit] Comportements Python disponibles

  • actor.py
Un comportement pour un personnage joueur CEL normal. Avec un support pour le changement de caméra et les raccourcis claviers standards.
  • actorball.py
Un comportement pour les Physics de joueur de type balle, qui peut être contrôlé par application de forces (ce type de joueur est connu pour la conduite des voitures).
  • lookat.py
Un comportement simple pour un objet regardant constamment vers l'entité Joueur. Pas très utile, mais pourrait être développé.

[edit] Entités Applications Python disponibles

  • celstrap.py
Celstrap est à l'heure actuelle la seule application fournie. Elle charge la map, place le personnage joueur et définit la caméra. Autorise aussi le redémarrage de la map et l'enregistrement vidéo de votre session.

[edit] Comportements XML disponibles

  • actor.xml
Un comportement pour un personnage joueur CEL normal. Avec le support du changement de caméra et des raccourcis clavier.

[edit] Entités Application XML disponibles

  • celstrap.xml
Celstrap est à l'heure actuelle la seule application fournie. Elle charge la map, place le personnage joueur et définit la caméra.
Personal tools
Documentation