![enter image description here](https://i.stack.imgur.com/G8wxV.jpg)
Я делаю приложение AR, используя ARCore и Unity.
Я хотел разместить 3D-модели на вертикальных стенах без прикосновения.
он почти реализован, но при создании 3D-модели, она продолжает идти влево вниз.
1011 * Я думаю, это потому, что я установил позицию якорного 1013
Но если я изменил положение якоря на
Vector3 position = new Vector3 (hit.Pose.position.x, hit.Pose.position.y, hit.Pose.position.z)
Он тоже не пойдет в центр.
Кто-нибудь знает, как поместить трехмерный объект в середину плоскости?
TrackableHit hit;
TrackableHitFlags raycastFilter = TrackableHitFlags.PlaneWithinPolygon |
TrackableHitFlags.FeaturePointWithSurfaceNormal;
if (Frame.Raycast(transform.position.x,transform.position.y, raycastFilter, out hit))
{
if (CurrentNumberOfGameObjects < numberOfGameObjectsAllowed)
{
Destroy(ARObject);
if ((hit.Trackable is DetectedPlane)
&& Vector3.Dot(FirstPersonCamera.transform.position - hit.Pose.position, hit.Pose.rotation * Vector3.up) < 0)
{
Debug.Log("Hit at back of the current DetectedPlane");
}
else
{
Vector3 position = new Vector3(0,0,0);
Quaternion rotation = new Quaternion(0f, 0f, 0f, 1f);
ARObject = Instantiate(ARAndroidPrefab, hit.Pose.position, hit.Pose.rotation);
ARObject.transform.Rotate(-90, 0, 0, Space.Self);
var anchor = Session.CreateAnchor(new Pose(position, rotation));
ARObject.transform.parent = anchor.transform;
CurrentNumberOfGameObjects = CurrentNumberOfGameObjects + 1;
// Hide Plane once ARObject is Instantiated
foreach (GameObject Temp in DetectedPlaneGenerator.instance.PLANES) //RK
{
Temp.SetActive(false);
}
}
}
}