zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【Unity3D开发小游戏】Unity3D开发《3D迷宫》小游戏

3D开发 Unity3D 小游戏 迷宫
2023-09-11 14:19:57 时间

推荐阅读

大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。

一、前言

闲来无事,从零开始整个《3D迷宫》小游戏。

本篇文章会详细介绍构思、实现思路,希望可以帮助到有缘人。

二、构思

首先,要实现一个小游戏,心里肯定要有一个大概的想法,然后就是将想法完善起来。

我的想法就是一个用立体的墙搭建的迷宫,然后控制人物在迷宫中移动,最后找到出口,就这么简单。

当然,这是一个雏形,比如可以加点音效、背景、关卡、解密等。

那么整理一下实现思路就是:

  • 构建3D迷宫
  • 实现人物移动
  • 实现出入口逻辑

OK,下面就正式开发。

三、正式开发

3-1、搭建场景

首先,新建个项目,我用了Unity 2019.4.7f1版本,项目名称跟位置按照自己的喜好设置即可:
在这里插入图片描述
接下来构建迷宫,先新建一个Plane,让它最够大,扩大10倍:在这里插入图片描述
新建Cube,调整大小缩放,让它看起来像是一堵墙,然后构建迷宫:

在这里插入图片描述

3-2、设置出入口

在这里插入图片描述
放两个Cube,设置缩放,将出口名字改成Exit,这样就行了,到时候通过碰撞检测检测小球是否到达出口即可。

3-3、添加角色

在Hierarchy视图,右击选择3D Objcet→Capsule,新建一个球体,添加Rigibody组件:

在这里插入图片描述

设置Drag抓地力为1。

就这样设置就行了,在实际运行中如果参数不合适还可以再调整。
将小球移动到入口的位置。

3-4、实现角色移动

首先,导入官方的资源包:

https://download.csdn.net/download/qq_37513835/62122829

然后将Assets\Standard Assets\Characters\FirstPersonCharacter\Prefabs文件夹下面的RigidBodyFPSController拖入到场景中:

在这里插入图片描述

最后将所有的墙的父物体设置为地板。

运行程序:
在这里插入图片描述

3-5、出入口逻辑

出口用碰撞检测,新建脚本ExitControl.cs,编辑代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class ExitControl : MonoBehaviour
{
    void OnCollisionEnter(Collider col)
    {
        if (col.gameObject.name == "Capsule")
        {
            SceneManager.LoadScene(SceneManager.GetActiveScene().name);
        }
    }
}

将代码附给Exit对象。

结束了。

四、总结

本文实现了一个《3D迷宫》小游戏。

首先,搭建场景,然后实现角色移动,出入口逻辑。

整天代码比较简单,官方的移动代码也可以学习一下。