# How do I make a plane mesh parallel with another mesh that the mouse pointer is over

**URL:** <https://forum.babylonjs.com/t/how-do-i-make-a-plane-mesh-parallel-with-another-mesh-that-the-mouse-pointer-is-over/34053>\
**Category:** Questions\
**Created:** [September 19, 2022, 10:41pm UTC](https://forum.babylonjs.com/t/how-do-i-make-a-plane-mesh-parallel-with-another-mesh-that-the-mouse-pointer-is-over/34053 "2022-09-19T22:41:02Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![jsuhncc](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/jsuhncc/32/21287_2.png) [@jsuhncc](https://forum.babylonjs.com/u/jsuhncc)\
**Post date:** [September 19, 2022, 10:41pm UTC](https://forum.babylonjs.com/t/how-do-i-make-a-plane-mesh-parallel-with-another-mesh-that-the-mouse-pointer-is-over/34053/1 "2022-09-19T22:41:02Z")

</div>

Hi,

When the mouse pointer hovers a mesh I would like to add a disc/plane mesh to the mouse pointer location that is parallel to the mesh the mouse pointer is over.

Similar to how Matterport mouse tracking works.

> **[Rosa Parks Bus](https://matterport.com/discover/space/PiwF9JXNsrJ)**
>
> On Dec. 1, 1955, Rosa Parks refused to give up her seat on this bus. Walk the bus and take your seat in the third row on the left.

Thanks,  
Josh

---

<div class="post-metadata">

**Author:** ![withADoveInOneHand](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/withadoveinonehand/32/1243_2.png) [@withADoveInOneHand](https://forum.babylonjs.com/u/withADoveInOneHand)\
**Post date:** [September 20, 2022, 1:56am UTC](https://forum.babylonjs.com/t/how-do-i-make-a-plane-mesh-parallel-with-another-mesh-that-the-mouse-pointer-is-over/34053/2 "2022-09-20T01:56:59Z")

</div>

Something like these?

> **[Babylon.js Playground](https://www.babylonjs-playground.com/#EEUVTY%2318)**
>
> Babylon.js playground is a live editor for Babylon.js WebGL 3D scenes

> **[Babylon.js Playground](https://www.babylonjs-playground.com/#2C8LVE%2313)**
>
> Babylon.js playground is a live editor for Babylon.js WebGL 3D scenes

---

<div class="post-metadata">

**Author:** ![jsuhncc](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/jsuhncc/32/21287_2.png) [@jsuhncc](https://forum.babylonjs.com/u/jsuhncc)\
**Post date:** [September 20, 2022, 3:36am UTC](https://forum.babylonjs.com/t/how-do-i-make-a-plane-mesh-parallel-with-another-mesh-that-the-mouse-pointer-is-over/34053/3 "2022-09-20T03:36:17Z")

</div>

Those examples are exactly what I want but when I call pickInfo.getNormal(true) it returns null which is causing the decal to not show with my Mesh.

Am I supposed to do anything else to make the meshes normals data available?

The mesh i’m using has submeshes which might be the issue.

---

<div class="post-metadata">

**Author:** ![carolhmj](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/carolhmj/32/25918_2.png) [@carolhmj](https://forum.babylonjs.com/u/carolhmj)\
**Post date:** [September 20, 2022, 11:35am UTC](https://forum.babylonjs.com/t/how-do-i-make-a-plane-mesh-parallel-with-another-mesh-that-the-mouse-pointer-is-over/34053/4 "2022-09-20T11:35:40Z")

</div>

That shouldn’t be needed: [multimat mergeMesh | Babylon.js Playground (babylonjs.com)](https://playground.babylonjs.com/#INZ0Z0#395). Can you share a Playground repro?

---

<div class="post-metadata">

**Author:** ![carolhmj](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/carolhmj/32/25918_2.png) [@carolhmj](https://forum.babylonjs.com/u/carolhmj)\
**Post date:** [October 19, 2022, 1:58pm UTC](https://forum.babylonjs.com/t/how-do-i-make-a-plane-mesh-parallel-with-another-mesh-that-the-mouse-pointer-is-over/34053/5 "2022-10-19T13:58:12Z")

</div>

Hello @jsuhncc just checking in if you still have issues and can provide a repro if so

---

<div class="post-metadata">

**Author:** ![jsuhncc](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/jsuhncc/32/21287_2.png) [@jsuhncc](https://forum.babylonjs.com/u/jsuhncc)\
**Post date:** [October 20, 2022, 5:33pm UTC](https://forum.babylonjs.com/t/how-do-i-make-a-plane-mesh-parallel-with-another-mesh-that-the-mouse-pointer-is-over/34053/6 "2022-10-20T17:33:07Z")

</div>

Hi,

Yes I managed to get it sorted. Thanks for your help.

---

<div class="post-metadata">

**Author:** ![Jo\_Mantelers](https://avatars.discourse-cdn.com/v4/letter/j/b4bc9f/32.png) [@Jo\_Mantelers](https://forum.babylonjs.com/u/Jo_Mantelers)\
**Post date:** [November 18, 2022, 11:48am UTC](https://forum.babylonjs.com/t/how-do-i-make-a-plane-mesh-parallel-with-another-mesh-that-the-mouse-pointer-is-over/34053/7 "2022-11-18T11:48:03Z")

</div>

Had the same issue, easy fix here:

> [@How to get correct rotation value from pickinfo.getnormal()](https://forum.babylonjs.com/t/how-to-get-correct-rotation-value-from-pickinfo-getnormal/14280/5):
>
> @Vijayxd totally agree: too many complications going on here. Initially I assumed the geometry is bad so I scolded the 3D artist, well, actually I checked the vertex normals in Inspector. Geometry is ok. So I checked the src code of getNormal and found the normal is negated in some cases, like this: // Flip the normal if the picking ray is in the same direction. if (this.ray && Vector3.Dot(result, this.ray.direction) \> 0) { result.negateInPlace(); } I guess…
