I cant get the follow camera to work right when i rotate my object it rotates it around the position of the camera how do I fix this?
Hi @Bernard_Stein and welcome to the forum. Sorry that it has taken a while to get a reply, weekends can be quiet on the forum. Would you clarify some points for me please (others may understand)
-
What do you expect when the camera âworks rightâ ?
-
Not sure what the its refer to
when I rotate my object the camera rotates the object? or
when I rotate my object the object rotates the camera?
A playground example, of the issue, from you will work wonders in getting help.
//here is the camera function
function createFollowCamera(scene,canvas,target){
var camera = new BABYLON.FollowCamera(âtankFollowCameraâ,new BABYLON.Vector3(10,0,10), scene);
camera.heightOffset= 2;
camera.rotationOffset = 180;
camera.cameraAcceleration = .1;
camera.maxCameraSpeed = 1;
camera.lockedTarget = target;
camera.attachControl(canvas, true);
return camera;
//here is the tank function
function createTank(scene){
var tank = new BABYLON.MeshBuilder.CreateBox(âtankâ,{height:.5, depth:1, width:1},scene);
var tankMaterial = new BABYLON.StandardMaterial(âtankMaterialâ,scene);
tankMaterial.diffuseColor = new BABYLON.Color3(1,0,5);
tank.material = tankMaterial
tank.position.y = 5;
tank.speed = 1;
tank.frontVector = new BABYLON.Vector3(0,0,1);
tank.move = function(){
if(isSPressed){
tank.moveWithCollisions(tank.frontVector.multiplyByFloats(-tank.speed,-tank.speed,-tank.speed));;
}
if(isAPressed){
tank.rotation.y -= .1;
tank.frontVector = new BABYLON.Vector3(Math.sin(tank.rotation.y),0,Math.cos(tank.rotation.y));
}
if(isWPressed){
tank.moveWithCollisions(tank.frontVector.multiplyByFloats(tank.speed,tank.speed,tank.speed));
}
if(isDPressed){
tank.rotation.y += .1;
tank.frontVector = new BABYLON.Vector3(Math.sin(tank.rotation.y),0,Math.cos(tank.rotation.y));
}
}
return tank;
}
when i try and rotate the tank along the y axis it rotates from as if the cameras position is the center
Details on using the playground First Steps - Babylon.js Documentation
https://www.babylonjs-playground.com/#1FXTCL#1
Bare-bones followCamera playground I started earlier⌠as needed.
Bernard⌠I think the followCamera is SUPPOSED TO swing-around and stay âbehindâ your tank⌠no matter which way the tank turns. (I think JohnK is hinting-at this, when he asks âWhat do you expect when the camera âworks rightâ?â)
FollowCamera might not be the right camera for your needs/wishes. If you can insert YOUR code⌠into that playground I provided⌠run/edit, eventually save it, post saved URL to us, here in thread⌠it will be easier for us to help you.
You cannot accidentally hurt ANYTHING by saving playgrounds. All is safe⌠have a total good time in there.
In this playground, a local forum hero used an arcRotate camera. Check out lines 207/208⌠which are inside-of the scene.registerBeforeRender loop (happens once per rendering⌠very very fast and continuously).
I like the way the âfollowingâ happens in that scene/game. Sort of⌠âcustom followingâ, eh?