Unity2020 AR传送门开发(ARFoundation)

本文介绍了使用Unity2020的ARFoundation模块开发AR传送门的详细步骤,包括AR环境搭建、AR传送门的制作与AR平面检测、代码控制AR状态的开启和关闭。通过ARSession Origin和AnchorCreator组件,实现在AR场景中自动生成传送门,并提供了项目下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Unity版本:2020.3.0

先看看成品效果

AR传送门(一)

一、AR环境搭建

我这边开发AR用的是ARFoundation,集成了ARCore和ARKit的功能,AR环境的搭建有两种方式:
1、直接使用unity提供的AR模板
在unityHub面板新建项目,弹出如下弹框,选择AR模板,设置好项目名称和位置,创建。
在这里插入图片描述
进入项目后,可以在Project视图中找到SampleScene场景,如下图,是三个核心游戏体。
在这里插入图片描述

2、如果是在已有项目上添加AR功能,则可以手动导入AR支持。
打开项目,Window–>PackageManager,选择UnityRegistry
在这里插入图片描述
搜索XR(unity现在把AR/VR都归到了XR),选择AR支持,发布安卓选ARCore,发布iOS选择ARKit,点击Install导入,我这里已经导入过了,所以显示Remove
在这里插入图片描述
导入完之后,可以在Project视图下看到Packages有哪些包
在这里插入图片描述
导完包后,可以在GameObject选项下看到XR选项,选择AR Session Origin和AR Session ,AR的基本环境便搭好了。
在这里插入图片描述

AR环境搭建好以后,记得把项目切换成安卓平台,打开Edit–>ProjectSetting,进行XR设置。(老版的XR设置在Player里面,勾选virtual reality Support)
选择安卓平台,勾选ARCore,项目如果想启动后就进入AR,勾选Initialize XR on StartUp,否则不勾选 手动开启,开启方法后面再说。
在这里插入图片描述

二、AR传送门原理

1、制作传送门

如下效果,外部看不到传送门里的游戏体,只能从门看到内部情况。
这个传送门预设体我会放在文末的项目链接里。
在这里插入图片描述
在这里插入图片描述
这个效果主要通过 通道遮罩 ColorMask实现。

ColorMask可以让我们制定渲染结果的输出通道,而不是通常情况下的RGBA这4个通道全部写入。可选参数是 RGBA 的任意组合以及 0, 这将意味着不会写入到任何通道,可以用来单独做一次Z测试,而不将结果写入颜色通道

Shader "DepthMask" {
   
   
    SubShader {
   
        // Render the mask after regular geometry, but before masked geometry and
        // transparent things.
       
        Tags {
   "Queue" = "Geometry-10" }
       
        // Turn off lighting, because it's expensive and the thing is supposed to be
        // invisible anyway.
       
        Lighting Off

        // Draw into the depth buffer in the usual way.  This is probably the default,
        // but it doesn't hurt to be explicit.

        ZTest LEqual
        ZWrite On

        // Don't draw anything into the RGBA channels. This is an undocumented
        // argument to ColorMask which lets us avoid writing to anything except
        // the depth buffer.

        ColorMask 0

        // Do nothing specific in the pass:

        Pass {
   <
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小程小程,永不消沉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值