ARFoundation入门——持续射线投射(Android)

开发环境

Unity:2021.1.14flc1
导入Package:
AR Foundation:4.1.7
ARCore XR Plugin:4.1.7

持续射线投射案例

制作一个随着镜头移动的位于屏幕中心的平面

ARFoundation持续射线投射

步骤

注意要提前配置好AR Raycast Manager才可以使用
可以参考ARFoundation入门——AR射线检测(Android)

  1. 在AR场景中创建一个Plane,这里平面不要设置太大,影响观察,我设置的Scale是(0.01,0.01,0.01)请添加图片描述

  2. 在AR Session Oringin中创建脚本:

public class MonoBehaviour_01 : MonoBehaviour
{
    public GameObject defaultPrefab;
    private ARRaycastManager raycastManager;
    private List<ARRaycastHit> hits = new List<ARRaycastHit>();
    public Transform target;
    // Start is called before the first frame update
    void Start()
    {
        raycastManager = GetComponent<ARRaycastManager>();
        
    }

    // Update is called once per frame
    void Update()
    {
        if (raycastManager.Raycast(new Vector2(Screen.width / 2, Screen.height / 2), hits, TrackableType.PlaneWithinPolygon))
        {
            hits.Sort((x,y)=>x.distance.CompareTo(y.distance));//排序用于获取与最近平面的交叉点
            target.position = hits[0].pose.position;
            target.rotation = hits[0].pose.rotation;
        }
    }
}
  1. 将Plane拖入到AR Session Oringin 脚本控件的 Target中

一些说明

对ARFoundation的使用学习可以参考unity官网的文档:http://docs.unity3d.com/Packages/com.unity.xr.arfoundation@4.1/manual/index.html。也可以到ARCore的官网:https://developers.google.cn/ar对这部分SDK的功能和环境配置有个更好的了解。
(两个网站的中文翻译我觉得都挺令人头疼的,看不懂的部分地方建议可以用英文文档理解一下。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值