Camera slowdown?

I am having trouble finding the setting that controls arcRotateCamera speed through a mesh.

https://www.babylonjs-playground.com/#WF90TC

as you can see, I have set the wheelDeltaPercentage to a low value, which gives a nice smooth feel when wheeling in/out.

However when I collide with a mesh, the speed slows dramatically. I want to disable that. To see what i’m talking about, aim the camera at an angle between sphere and ground, and mousewheel until you hit the mesh. once in a mesh, you’ll see speed is slower.

I’ve tried telling the camera to checkCollisions = false, no workie.

I thought it might be in the inertial settings, but the docs don’t seem to indicate to me that’s the place, but maybe i’m wrong…

I just want the speed to stay constant all the time.

Thanks

I do not see the behavior you are describing.

I scrolled in and out several times with no hangs. Could you make a video?

I don’t know how to do that.

if you angle the camera so it is just above the ground, and wheel through it, you’ll notice it’s pretty slow, compared to when its in space…you have to go through the mesh tho

OHHHH I get what you are saying. Ummm, give me a second.

camera.wheelDeltaPercentage = 0;

You already had the answer, just needed to change the value.

but the problem is at 0, the whole camera motion becomes bouncy / too fast. I wanted a slowish smooth movement.

in space it’s fine, but inside a mesh it’s not? is there a companion setting that influences it? maybe in the mesh itself?

I made another example that’s easier to see. as you get closer to center of sphere, it slows more.

https://www.babylonjs-playground.com/#WF90TC#1

Its from the center point of the Arc camera, its not the mesh that is effecting it rather the proximity to the origin of the camera is basically having a Math.pow(value, factor) calculation I would assume so the closer you get to origin the slower its gonna be.

you could do a custom free camera, and cast a ray from it before every rendering step to set the cameras movement speed dynamically depending on the hit distance of the raycast.

oh i see what you mean.

I will have to think about this. in my specific scenario, i have a globe and then I flatten it. when its in globe form, i set the lower radius limit to the surface of the sphere. so the camera never gets close enough to origin to hit this issue.

but when i flatten it, the origin is the center of the plane, so it’s a problem.

maybe i’ll try to flatten it at the radius distance, and see how that looks.

thanks for the insight, I was spending oodles of time trying to find a setting for this!

use lowerRadiusLimit when its a sphere?

the issue is in plane mode. :slight_smile: I havent tried to bump the plane up yet, working on moving camera in arc.

but i don’t see why i can’t move the plane above the origin, and then problem goes away.

you could prolly still use lowerRadiusLimit because then it offsets the value its testing as the origin.

@Keeger Hello, I have the same problem. Did you solve it later

What exactly is your problem? :slight_smile: