Unity-Technologies / arfoundation-samples

Example content for Unity projects based on AR Foundation
Other
3.03k stars 1.13k forks source link

Place Object on Plane: In iPhones the virtual object is transforming based on the plane detection direction #875

Closed veldurtyhari closed 3 years ago

veldurtyhari commented 3 years ago

I have simple app in landscape mode. As soon as the scene starts it will track for planes and as planes detected tapping on the plane an object is placed(the 3d model will be facing me).

This works when i scan in front of me find a plane and place a model. Here the models is facing me Not working when i start scan in front of me and find a plane , move the camera to right/left and find a plane on right/left and place the model, the model is not facing me it is transformed to some other direction

This issue is happening only in iPhones, Androids are working as expected.

I tried with arfoundation samples , i see same issue happening in iPhones.

Any help how this works?

Versions: AR Foundation 4.1.7 ARKit 4.1.7 Unity 2020.3.14f1

Test Devices: All iPhones.

tdmowrer commented 3 years ago

The rotation associated with the raycast result will be oriented such that "up" is in the same direction as the plane's normal, but the rotation around the Y axis is unspecified; I believe ARKit and ARCore provide different results, as you have discovered.

If you want a particular orientation, such as the object always facing the camera, you can calculate it using Quaternion.LookRotation.