我正在使用ARCore 1.5。我能够使用touch获取Frame.Raycast来放置对象(基于ARCore附带的HelloAR场景)。我已经修改了Prefab和代码,以将Mesh Collider添加到生成的平面。尽管这样做可以从相机中心获得Physics.Raycast命中,但此时似乎无法添加ARCore锚,因为该命中似乎没有Vector3值。
最笼统地说,我想从相机中心到ARCore生成的平面/网格进行光线投射,并添加一个GameObject。有人对此有任何解决方案吗?
编辑。这是我正在工作的东西:
TrackableHit hitTouch;
TrackableHitFlags raycastFilter = TrackableHitFlags.PlaneWithinPolygon |
TrackableHitFlags.FeaturePointWithSurfaceNormal;
if (Frame.Raycast(FirstPersonCamera.transform.position, FirstPersonCamera.transform.forward, out hitTouch, 100f, raycastFilter))
{
//Instantiate Prefab at the hit pose.
hitPlaneAddedObject = Instantiate(AddToPlanePrefab, hitTouch.Pose.position, hitTouch.Pose.rotation);
//Make an ARCore Anchor at the hit pose.
var anchor = hitTouch.Trackable.CreateAnchor(hitTouch.Pose);
// Make prefab a child of the anchor.
hitPlaneAddedObject.transform.parent = anchor.transform;
}