Unity3D-高通AR-《狼来了》-2开始启动场景

本文介绍如何使用Unity3D创建AR应用的启动场景,包括背景和按钮的设计及动画实现,为后续AR内容开发奠定基础。

1新建启动场景01_Start

将新建的场景保存在项目根目录的_Scene目录下。

1.1新建场景的背景对象

1.通过GameObject | UI | Image 在场景中新建Image对象,操作界面如下:
在这里插入图片描述

2.设置Canvas属性
UI 缩放模式为:Scale With Screen Size
默认分辨率为:800*480(与Game视窗中设置分辨率保持一致)
操作界面如下图:
在这里插入图片描述
3.将Image重命名为imageBackground
4.选中课程用到的纹理图片(在LessonAssets/Texture目录中),设置Texture Type为Sprite(2D and UI),操作界面如下图:
在这里插入图片描述

5.选中imageBackground,设置其背景图片为01_background。
6.在RectTransform组件右击选择Reset,设置对象的初始位置。
7.在其Image组件中点击Set Native Size,这样就会初始大小显示在Game视窗中(背景图片大小是800*480)。

操作界面如下:
在这里插入图片描述

1.2 新建开始按钮

选中Canvas右键创建UI | Button,重命名为btnEnter,并将其子物体Text删除。为其指定start_btn图片,点击Set Native Size。操作界面如下:

在这里插入图片描述

1.2 开始按钮的动画和触发脚本

1.2.1 根据向导生成动画控制文件

1.将开始按钮对象Button组件的Transition类型选择为Animation类型,操作界面如下:
在这里插入图片描述

2.选择Auto Generate Animation按钮,这时系统会自动提示我们保存Controller文件,将其保存在_Animation文件夹中,操作界面如下:
在这里插入图片描述

3.可以看到开始按钮对象自动添加了组件Animator,并设置了控制文件btnEnter,操作界面如下:
在这里插入图片描述

1.2.2 通过动画编辑器设计UI帧动画

接下来,编辑设计按钮的UI帧动画。
1.选中Button对象btnEnter,打开Animation面板,选择Normal动画,为其添加Rotation动画。操作界面如下:
在这里插入图片描述

2.将帧数选择到60处,在Rotation.Z中输入-360,将其Sample采样值设置为5,操作界面如下:
在这里插入图片描述
测试一下

  • 在Animation面板中,点击播放按钮,可以看到场景对象btnEnter按12秒旋转1周的速度转动

1.2.3 设计UI动画控制器

继续设计开始按钮UI动画的控制器。
1.选中btnEnter,打开Animator面板,将Highlighted、 Disabled状态按Delete键删除。
2.将Any State与Nomal、Pressed之间的Transition过渡连线删除。
3.选中Normal状态右键新建Transition过渡连线到Pressed状态
4.选中Pressed状态右键新建Transition过渡连线到Normal状态
完成后界面如下:
在这里插入图片描述

1.2.4 设置按钮的文本图片

继续设置开始按钮的文本图片
1.选中Canvas右击创建Image并将其重命名为imageEnterText
2.为其指定对应图片,设置其Image类型为simple类型,选择Set Native Size类型。
3.将imageEnterText移动到btnEnter前面(思考:为什么要这样?)。
完成1-3后,操作界面如下:
在这里插入图片描述

4.设置btnEnter其颜色透明度,将 imageEnterText显示出来。操作界面如下:

在这里插入图片描述

1.2.5 编写按钮的触发脚本

继续实现开始按钮的触发脚本
1.通过GameObject | CreateEmpty创建空物体,并将其重命名为UIManager,Reset位置为默认值(这是个好习惯)。操作界面如下:
在这里插入图片描述

  1. 为UIManager对象创建新脚本StartLoadLevel.cs。并脚本保存在_Script目录下(这也是好习惯))。操作界面如下:
    在这里插入图片描述
    在StartLoadLevel.cs脚本中创建一个公开方法。代码参考如下:
using UnityEngine;
using UnityEngine.SceneManagement;

public class StartLoadLevel : MonoBehaviour
{
    // 根据场景名,加载场景
    public void LoadLevel(string levelName){        
        SceneManager.LoadScene(levelName);
    }
}

通过SceneManager.LoadScene(levelName)传入场景名即可实现场景的跳转。

至此,启动开始的场景就完成了,以上其实还没有涉及到AR的开发,接下来我们实现第一个AR场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值