Unity3D简单入门

本文介绍了作者学习Unity3D时的AR入门经验,包括Vuforia环境搭建、AR项目的创建与配置、识别物数据库创建,以及简单的AR识别实现。此外,还讲述了如何在Unity中实现一个简单的拼图游戏,包括图片导入、UI设置、格子构建、脚本编写等步骤。同时,分享了在开发过程中遇到的错误及其解决方案,如使用VS Code作为代码编辑器的问题。

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

关于我学习Unity时遇到的知识

  1. AR入门
  2. 如何实现一个简单的拼图游戏
  3. 开发过程中遇到的一些问题

AR入门

1、Vuforia环境搭建

博主的AR游戏是使用Vuforia做的,Vuforia组件在你安装Unity时应该是可选的,如果忘记选了,那就去Vuforia的网站上下载就可以了。
1.1
选第二个安装就可以了。

2、新建一个Unity项目

2.1
Template记得选3D就可以了。

3、做一些基本配置
  • 按图中的步骤。因为我要开发的是手机上的AR游戏所以要更换平台到Android。把画横线的那个选项勾上。
    3.1
    3.2
  • 然后建一个ARcamera
    3.2
  • 进行一些配置
    3.3
  • 点击Add License,会跳转到Vuforia的官网,需要你申请一个钥匙,这个是必不可少的,每个项目都有自己的钥匙,你可以把它当成唯一标识。
    3.4
    3.5
    3.6
  • 里面就有钥匙了,复制之后粘贴到框里面就可以了。
4、建识别物数据库
  • 接下来我们要在Vuforia官网建立一个识别物数据库,这个数据库的作用就是我们AR游戏的核心了。
    4.1
    4.2
  • 添加你要AR识别的照片即可,这里我们用纸牌梅花K来做识别物。
    4.3
    4.4
  • Rating的意思就是被识别的图片的等级,最好都是五星级别,那意味着你的图片更容易被识别。
    4.5
  • 选中这个数据库,然后下载下来,双击打开它,导入到Unity的项目当中去。可以看到AR camera的databases属性发生变化,证明已经导入成功。
    4.6
5、第一次识别
  • 建一个Image
    5.1
  • 这个地方可以更换识别物。5.2
  • 在Image上面建一个立方体。
    5.3
  • 调整一下方块的大小,方向和位置
    5.4
  • 因为是要开发手机AR游戏,所以调整一下预览。根据自己的手机大小选择。
    5.5
  • 然后点击运行,看一下效果。成功!
    5.6
6、第一个按钮脚本

6.1

  • 先建一个文件夹专门存放脚本,然后create一个C#脚本,命名为Btn_Cube。6.2
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Btn_Cube : MonoBehaviour
{
   
   
    public GameObject btn;//定义物体变量 btn
    public GameObject cube;//定义物体变量 cube
    // Start is called before the first frame update
    void Start()
    {
   
   
        Button btn_cube = btn.GetComponent<Button>();//获取Button组件
        btn_cube.onClick.AddListener(btnClick);//点击事件
    }

    void btnClick(){
   
   
        cube.SetActive(false); //隐藏物体cube
    }

    // Update is called once per frame
    void Update()
    {
   
   
        
    }
}
  • 这个脚本作用就是,当我们点击这个按钮之后,使得方块Cube消失。
    6.3
  • 将脚本拖拽到Cube的属性里面,然后就会出现Btn和Cube两个物体变量,再把Cube方块拖拽到Cube物体变量,把Button拖拽到Btn变量上即可。
  • 运行测试一下即可发现方块Cube上会多出来一个按钮,点击即可触发方块消失事件。
  • 这只是其中一种方法来实现点击事件,更多的方法可以自行上网查询。
7、Unity中常用的API和变量类型

博主只是提一下自己在开发的时候遇到的感觉有用的知识,具体用法需要读者自行百度搜索。下面我以挂载在方块Cube下的脚本Btn_Cube为例:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Btn_Cube : MonoBehaviour
{
   
   
    public GameObject btn;
    public GameObject cube;
    // Start is called before the first frame update
    void Start()
    {
   
   
        // API:GameObject.GetComponent<脚本>()。常用于获取UI组件信息并进行操作,Componet就是右侧栏里面所有的脚本
        Button btn_cube = btn.GetComponent<Button>();
        // API:Button.onClick.AddListener(点击事件)。按钮点击事件
        btn_cube.onClick.AddListener(btnClick);
        // Transform和GameObject是Unity中比较重要的两个变量类型,两者可以相互转换
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值