# ArcRotateCamera panning issue when camera.panningAxis.y is set to zero and camera.beta is zero

**URL:** <https://forum.babylonjs.com/t/arcrotatecamera-panning-issue-when-camera-panningaxis-y-is-set-to-zero-and-camera-beta-is-zero/58987>\
**Category:** Bugs\
**Created:** [June 16, 2025, 8:17am UTC](https://forum.babylonjs.com/t/arcrotatecamera-panning-issue-when-camera-panningaxis-y-is-set-to-zero-and-camera-beta-is-zero/58987 "2025-06-16T08:17:29Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![roland](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/roland/32/38940_2.png) [@roland](https://forum.babylonjs.com/u/roland)\
**Post date:** [June 16, 2025, 8:17am UTC](https://forum.babylonjs.com/t/arcrotatecamera-panning-issue-when-camera-panningaxis-y-is-set-to-zero-and-camera-beta-is-zero/58987/1 "2025-06-16T08:17:29Z")

</div>

Hi!

I did some research on this issue and I found some topics.

However I still don’t understand why the camera stops panning on the `X` axis when `camera.beta === 0`. I disabled panning only on the `Y` axis: `camera.panningAxis = new BABYLON.Vector3(1, 0, 1)` so `X` panning should work regardless the `beta` angle.

If `camera.beta !== 0` the camera starts panning on the `X` axis.

Shouldn’t this be considered as a bug?

> **[Babylon.js Playground](https://playground.babylonjs.com/#E7ZIQN%231)**
>
> Babylon.js playground is a live editor for Babylon.js WebGL and WebGPU 3D scenes

Thanks!

---

<div class="post-metadata">

**Author:** ![roland](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/roland/32/38940_2.png) [@roland](https://forum.babylonjs.com/u/roland)\
**Post date:** [June 16, 2025, 9:33am UTC](https://forum.babylonjs.com/t/arcrotatecamera-panning-issue-when-camera-panningaxis-y-is-set-to-zero-and-camera-beta-is-zero/58987/2 "2025-06-16T09:33:52Z")

</div>

I solved the issue by setting `camera.mapPanning = true`.  
There is no need to change `panningAxis`.

I’m keeping the report open until someone from the team responds, in case it’s a legitimate issue.

---

<div class="post-metadata">

**Author:** ![sebavan](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/sebavan/32/57_2.png) [@sebavan](https://forum.babylonjs.com/u/sebavan)\
**Post date:** [June 16, 2025, 5:06pm UTC](https://forum.babylonjs.com/t/arcrotatecamera-panning-issue-when-camera-panningaxis-y-is-set-to-zero-and-camera-beta-is-zero/58987/3 "2025-06-16T17:06:25Z")

</div>

cc @amoebachant to have a look

---

<div class="post-metadata">

**Author:** ![amoebachant](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/amoebachant/32/39450_2.png) [@amoebachant](https://forum.babylonjs.com/u/amoebachant)\
**Post date:** [June 17, 2025, 4:39pm UTC](https://forum.babylonjs.com/t/arcrotatecamera-panning-issue-when-camera-panningaxis-y-is-set-to-zero-and-camera-beta-is-zero/58987/4 "2025-06-17T16:39:40Z")

</div>

The panningAxis is in the camera’s space, so in your original playground, if you had set the panningAxis to BABYLON.Vector3(1, 1, 0) instead of BABYLON.Vector3(1, 0, 1) you would have been able to pan on the world X and Z axes like you wanted (and like mapPanning does).

Does that answer your question? Thanks!

---

<div class="post-metadata">

**Author:** ![roland](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/roland/32/38940_2.png) [@roland](https://forum.babylonjs.com/u/roland)\
**Post date:** [June 19, 2025, 2:41pm UTC](https://forum.babylonjs.com/t/arcrotatecamera-panning-issue-when-camera-panningaxis-y-is-set-to-zero-and-camera-beta-is-zero/58987/5 "2025-06-19T14:41:40Z")

</div>

> [@amoebachant](#):
>
> Does that answer your question? Thanks!

Thank you! It works but I’m scratching my head 😃  
Would you please explain why does this work?

---

<div class="post-metadata">

**Author:** ![amoebachant](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/amoebachant/32/39450_2.png) [@amoebachant](https://forum.babylonjs.com/u/amoebachant)\
**Post date:** [June 19, 2025, 5:34pm UTC](https://forum.babylonjs.com/t/arcrotatecamera-panning-issue-when-camera-panningaxis-y-is-set-to-zero-and-camera-beta-is-zero/58987/6 "2025-06-19T17:34:33Z")

</div>

Sure! Since the panningAxis is in camera space and not world space, if you want to be able to pan up/down and left/right as you look through the camera, you can set the panningAxis to 1, 1, 0 regardless of where it’s pointing.

In your playground, you have the camera positioned straight above the world space origin pointing straight down the Y axis, with world space Z pointing down. mapPanning forces the camera to only pan on the X and Z world space axes, so in this configuration, it’s the same behavior as setting the panningAxis of the camera to 1, 1, 0. If you change the camera to be at a different angle, you can see how the panningAxis and mapPanning options will give you different results.

Does that help?

---

<div class="post-metadata">

**Author:** ![roland](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/roland/32/38940_2.png) [@roland](https://forum.babylonjs.com/u/roland)\
**Post date:** [June 19, 2025, 6:29pm UTC](https://forum.babylonjs.com/t/arcrotatecamera-panning-issue-when-camera-panningaxis-y-is-set-to-zero-and-camera-beta-is-zero/58987/7 "2025-06-19T18:29:37Z")

</div>

> [@amoebachant](#):
>
> Does that help?

Absolutely! Thanks a lot!
