Mouvements humains contrôlés par clavier dans 3DEXCITE
Dans l' 3DEXCITE Creative Experience , vous pouvez faire déplacer un personnage humain le long d'une trajectoire prédéfinie en appuyant sur une touche du clavier. Pour ce faire, commencez par configurer le comportement de mouvement, puis créez un script d'événement et enfin, configurez un scénario dans Storytelling. Ce guide vous accompagnera pas à pas dans l'activation du contrôle des déplacements humains au clavier dans 3DEXCITE, vous permettant ainsi de contrôler précisément les mouvements de votre personnage.
Passons en revue le processus étape par étape !
Avant toute chose, nous devons introduire un personnage humain dans la scène.
Maintenant que le modèle humain est en place, nous pouvons nous concentrer sur l'ajout du comportement de mouvement.
De ce fait, l'humain pourra se déplacer le long d'un chemin en réponse à l'événement programmé.

Avant de passer à la scénarisation du mouvement, définissons d'abord le chemin que suivra l'humain.
Ce chemin servira de guide de déplacement lorsque le script sera déclenché.

Techniques JavaScript pour la saisie au clavier dans 3DEXCITE
À ce stade, nous devons configurer un acteur scripté pour gérer les entrées clavier et déclencher les mouvements du personnage humain.

var TriggerEventClass = function () {
EP.Event.apply(this, arguments);
};
TriggerEventClass.prototype = Object.create(EP.Event.prototype);
TriggerEventClass.prototype.constructor = TriggerEventClass;
TriggerEventClass.prototype.type = 'TriggerEventType';
if (!STU.TriggerEvent) {
STU.TriggerEvent = TriggerEventClass;
}
if (!EP.EventServices.getEventByType(TriggerEventClass.prototype.type)) {
EP.EventServices.registerEvent(TriggerEventClass);
}
beScript.onStart = function () {
// Code à exécuter au démarrage du script.
};
beScript.onStop = function () {
// Code à exécuter lorsque l'expérience s'arrête.
};
beScript.execute = function (context) {
// Exécuté à chaque image.
// 'context.deltaTime' fournit le temps écoulé depuis la dernière image.
};
beScript.onAllKeyboardRelease = function (iEvent) {
// Décommentez la ligne suivante pour déboguer les relâchements de touches.
// console.log(iEvent.key);
if (iEvent.key === this.KeyCode) {
let newEvent = new STU.TriggerEvent();
this.actor.dispatchEvent(newEvent);
}
};
Analysons ensemble ce que fait ce script et comment il fonctionne dans Creative Experience.
var TriggerEventClass = function () {
EP.Event.apply(this, arguments);
};
Ceci définit une classe d'événement personnalisée appelée TriggerEventClass. Elle étend la EP.Event , ce qui la rend reconnaissable comme un événement dans Creative Experience.
TriggerEventClass.prototype = Object.create(EP.Event.prototype);
TriggerEventClass.prototype.constructor = TriggerEventClass;
TriggerEventClass.prototype.type = 'TriggerEventType';
Ici, nous créons un prototype d'objet basé sur EP.Event et définissons un type d'événement personnalisé, TriggerEventType.
Dans notre précédent article de blog, nous avons exploré comment faire suivre un chemin prédéfini à un humain à l'aide de JavaScript. Si vous l'avez manqué, consultez-le !