Unity3d Unity和ArCore:如何将对象放置在真实世界的位置?

Unity3d Unity和ArCore:如何将对象放置在真实世界的位置?,unity3d,geolocation,location,arcore,Unity3d,Geolocation,Location,Arcore,我正在为学校做一个AR项目 我需要把一个物体放在一个特定的位置(学校大门),我需要用AR相机看到它 我可以获取用户的位置,但如何放置对象?您可以使用门的增强图像来获取门的位置。因为每次运行应用程序时,您的原点都是您的设备位置。因此,网关的物理位置将相对于您启动应用程序的位置,并在每个会话中进行更改。那么您可以做以下几点: public GameObject YourGameObject; private List<AugmentedImage> m_TempAugme

我正在为学校做一个AR项目

我需要把一个物体放在一个特定的位置(学校大门),我需要用AR相机看到它


我可以获取用户的位置,但如何放置对象?

您可以使用门的增强图像来获取门的位置。因为每次运行应用程序时,您的原点都是您的设备位置。因此,网关的物理位置将相对于您启动应用程序的位置,并在每个会话中进行更改。那么您可以做以下几点:

    public GameObject YourGameObject;
    private List<AugmentedImage> m_TempAugmentedImages = new List<AugmentedImage>();
    Session.GetTrackables<AugmentedImage>(m_TempAugmentedImages, TrackableQueryFilter.Updated);

    foreach (var image in m_TempAugmentedImages){
          Anchor anchor = image.CreateAnchor(image.CenterPose);
          var obj = Instantiate(YourGameObject,anchor.transform);
          obj.transform.parent = anchor.transform;         
    }
公共游戏对象YourGameObject;
私有列表m_tempaugmentImages=新列表();
GetTrackables(m_tempaugmentdimages,TrackableQueryFilter.Updated);
foreach(m_TempAugmenteImage中的var图像){
锚点锚点=image.CreateAnchor(image.CenterPose);
var obj=实例化(你的游戏对象,anchor.transform);
obj.transform.parent=anchor.transform;
}

最后,这段代码要做的是找到可跟踪的增强图像,在该图像的中心创建一个锚点,并在该位置实例化对象。最后,它将您的对象锚定到一个物理位置。

这并不是我所需要的。我尝试一些无标记或无图像增强的东西。因为我想在看不到门的情况下看到物体。是的,但是你计划如何首先找到门的位置呢?