# ArcRotateCamera collisions

**URL:** <https://forum.babylonjs.com/t/arcrotatecamera-collisions/55909>\
**Category:** Questions\
**Created:** [January 11, 2025, 6:38pm UTC](https://forum.babylonjs.com/t/arcrotatecamera-collisions/55909 "2025-01-11T18:38:44Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jozef\_Plata](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/jozef_plata/32/30733_2.png) [@Jozef\_Plata](https://forum.babylonjs.com/u/Jozef_Plata)\
**Post date:** [January 11, 2025, 6:38pm UTC](https://forum.babylonjs.com/t/arcrotatecamera-collisions/55909/1 "2025-01-11T18:38:44Z")

</div>

Hi,

So I noticed that collisions with the ArcRotateCamera doesn’t work well with multiple objects in the scene (and with more complex geometries it’s even worse).

Here is the playground showing that the camera doesn’t want to collide with the ground, while it’s doing quite ok with the ceiling.

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

How can I improve this… I was thinking to cast rays from the camera in few directions and in case of hit, set a temporary limit (upper/lower radius/beta/alpha). But then it won’t give me the nice sliding over the surface effect with camera movement.

What other choices do I have?

---

<div class="post-metadata">

**Author:** ![Deltakosh](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/deltakosh/32/26635_2.png) [@Deltakosh](https://forum.babylonjs.com/u/Deltakosh)\
**Post date:** [January 13, 2025, 5:51pm UTC](https://forum.babylonjs.com/t/arcrotatecamera-collisions/55909/2 "2025-01-13T17:51:37Z")

</div>

cc @Cedric

---

<div class="post-metadata">

**Author:** ![Cedric](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/cedric/32/2742_2.png) [@Cedric](https://forum.babylonjs.com/u/Cedric)\
**Post date:** [January 14, 2025, 8:33am UTC](https://forum.babylonjs.com/t/arcrotatecamera-collisions/55909/3 "2025-01-14T08:33:35Z")

</div>

Hi @Jozef_Plata

This is legacy system that may not work with complex geometries.  
Did you try to use Physics V2 instead? [Babylon.js docs](https://doc.babylonjs.com/features/featuresDeepDive/physics/usingPhysicsEngine/)

Parenting the camera to a physics controlled shape should work better

[https://doc.babylonjs.com/features/featuresDeepDive/physics/characterController/](https://doc.babylonjs.com/features/featuresDeepDive/physics/characterController/)

---

<div class="post-metadata">

**Author:** ![Jozef\_Plata](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/jozef_plata/32/30733_2.png) [@Jozef\_Plata](https://forum.babylonjs.com/u/Jozef_Plata)\
**Post date:** [January 25, 2025, 9:45pm UTC](https://forum.babylonjs.com/t/arcrotatecamera-collisions/55909/4 "2025-01-25T21:45:11Z")

</div>

> [@Cedric](#):
>
> he camera to a physics controlled shape should work better

Thanks for the idea, I will try it out!
