Nous avons utilisé la caméra "ArcRotateCamera", BabylonJS propose deux autres types de caméra : la "FreeCamera" et la "TouchCamera"
Nous n'étudierons pas dans ces activités la "TouchCamera" car cette caméra est réservée à l'utilisation de l'interface tactile.
La "FreeCamera" est une caméra dite subjective (pour voir la définition d'une caméra subjective, voir l'article Wikipédia), typiquement c'est la caméra la plus souvent utilisée dans le jeu qualifié de FPS (First-Person Shooter). Vous pouvez déplacer la caméra (translation et rotation) à l'aide de la souris (rotation) et du clavier (translation).
Son utilisation est très simple :
new BABYLON.FreeCamera(nom, position, scene);
"position" est un "Vector3"
Il est possible de déplacer la caméra avec les flèches du clavier. Pour se tourner, il faudra utiliser la souris en maintenant un "clic-gauche".
Créer une nouvelle application app_06
script.js
var canvas = document.getElementById("renderCanvas");
var engine = new BABYLON.Engine(canvas, true);
var scene = new BABYLON.Scene(engine);
var camera = new BABYLON.FreeCamera("maCamera", new BABYLON.Vector3(0, 15, 0), scene);
var lightD = new BABYLON.DirectionalLight("dirLight",new BABYLON.Vector3(1,-1,0), scene);
var plan = BABYLON.Mesh.CreatePlane("sol", 100, scene);
plan.rotation.x=Math.PI/2;
scene.activeCamera.attachControl(canvas);
engine.runRenderLoop(function () {
scene.render();
});
Étudier et tester cet exemple. Déplacez vous et tournez vous.