好好学习

扫一扫关注

用Unity做一个小Demo入门Unity

下载文本     千郁垒2022-09-28 12:53:13 44510


文章目录
  • 前言
  • 个人介绍
  • 一、准备工作
    • 1. unity下载安装
    • 2. 个人许可证激活
    • 3. 素材下载
  • 二、项目准备
    • 1. 项目创建
    • 2. 素材导入
  • 三、开始项目
    • 1. 将素材变为精灵
    • 2. 将精灵放在游戏里
    • 3. 粒子效果
    • 4. 给Demo添加背景音效
    • 5. 淡入淡出
    • 6. 流程控制
  • 四、项目打包
  • 五、完成
  • 结语

前言

在小时候我的梦想就是开发一款自己的游戏

而因为小时候看小说,所以对vr游戏也是极其的感兴趣

后来接触了IT才发现不同的游戏是通过不同的游戏引擎来做的

打听了一下,适合小白的就是Unity这个,简单易学,还跨平台!

所以努力学习Unity成为一个游戏开发人员,是我的目标!

本篇文章适合对游戏开发一窍不通,但是又感兴趣的人,自己实现一个自己的小Demo

个人介绍

大家好,我是布小禅,一个尽力让无情的代码变得生动有趣的IT小白,很高兴能偶认识你,关注我,每天坚持学点东西,我们以后就是大佬啦!

 博客主页:❤布小禅❤
 作者专栏:
❤Python❤
❤Java❤

效果图:

效果视频:

因为不支持嵌套本地视频,就放在了素材里面,有兴趣的可以看看

一、准备工作 1. unity下载安装

首先,我们应该先安装Unity Hub,然后再Unity Hub上下载Unity

Unity Hub可以前往官网下载: Unity中国官网

下载好之后,需要先登录,不然没法安装Unity,可以点击注册

注册完,登录后即可按图安装Unity

点击按钮,选择版本,下载安装

模块可以按需求安装,当然你电脑内存大,也可以

然后就是漫长的等待了

2. 个人许可证激活

在这等待中,我们可以先激活许可证,不然是没法使用的

不过需要放心的是,激活许可证是免费的,虽然有一定的期限,但是到期了,仍然可以免费激活

  1. 点击右上角的角色

  2. 然后点击管理许可证

  3. 点击激活新许可证

  4. 激活成功

3. 素材下载

素材嘛,一般都不自己做的,在游戏环节中,属于美工的工作,我们不会的话,就去网络上白嫖!

万圣节素材:

链接:https://pan.baidu.com/s/14ZGZCdNQVhnoQZWRFqR2kQ
提取码:aflk

二、项目准备

下载好素材和Unity了吧,那就打开Unity Hub准备擦黄建项目吧

1. 项目创建
  1. 回到主页面,点击项目

  2. 填写项目名字和路径,以及选择模板,然后点击创建

  3. 然后等待加载完毕,会自动打开Unity

    当然,我这是调整过的,也是拖拽调整,我喜欢这样的,你们主要看那个菜单栏的作用是什么

  4. 到这我们的项目已经创建好了,接下来先导入素材

2. 素材导入

先找到我们下载好存放的文件夹,解压,然后将文件管理器放在Unity上面,将我们解压好的东西,拖到Project里面的Assets

然后就是这样,就OK了

三、开始项目 1. 将素材变为精灵

在游戏里面是用的东西,叫做游戏对象(好家伙,果然学了IT就不缺对象了,之前的面向对象,现在的游戏对象O(∩_∩)O哈哈~)

我们需要把素材变为游戏对象,才能在你游戏里面调教他们~~

  1. 我们全选图片素材,然后在调整游戏对象的界面将TextTure Type改为Sprite,当然也可以一个一个的改

  2. 然后点出去,会跳出一个弹窗,提示你是否要修改。点击应用apply

2. 将精灵放在游戏里
  1. 先点击这个2d,将画面变成平面,然后点击第二个箭头的按钮,将第三个按钮电商,将天蓝色关闭,然后在拖拽游戏对象,就可以任意的调教他们啦!哇哈哈~~

    是不是操作很简单,很轻松,不过别放松,后面还有代码的

  2. 效果是这样的

  3. 然后拖拽就可以了

  4. 然后你看这个大月亮挡住了这些东西,没事,我们可以调(教)

    将游戏对象的值设置为比0大的值,值越大,越在前面

    0就相当于,我把你放在起跑线,而10的是我把你放在离起跑线十米的位置,而我就在前面,所以是10的离我近

    就像几个人站一块,我(10)站你(0)前面,就能挡着你

    因为我们的字是要在最前面的,所以这些设置成10,字设置成20

  5. 然后再调整方位

  6. 可以修改修改对象的名字,改成英文的,逼格比较高,然后新建一个空表对象,将三个蝙蝠放到里面(蝙蝠当对象?咦惹!不要慌,以后还有把哥布林什么的当怪物的机会呢~~)

  7. 让蝙蝠动起来

    点击bats,右边最下面的add component,输入BatFly,创建一个代码文件

    然后双击打开,用记事本就行,将下面的代码复制进去

    不需要知道代码什么意思,但是翻译翻译,大致也就明白了,这是给完全零基础的人看的(小声逼逼:不好意思没有写注释的习惯!这个习惯很不好,我已经努力在改了!)

    using System.Collections;using System.Collections.Generic;using UnityEngine;public class BatShake : MonoBehaviour{    Vector3 orgPos;      float elapse;      public float Interval = 0.05f;    public float Range = 0.05f;    void Start()    {   orgPos = transform.position;   //     }    // Update is called once per frame    void Update()    {   elapse += Time.deltaTime; // How often to judge   if (elapse > Interval)   {  var pos = transform.position;  pos.x = orgPos.x + Random.Range(-Range, Range);  pos.y = orgPos.y + Random.Range(-Range, Range);  transform.position = pos;  elapse = 0.0f;   }    }}

    然后就可以点击运行,看到蝙蝠在发神经一样的抽搐 飞 ,没错,是在飞!

3. 粒子效果

就像吹泡泡一样,我在一个点上吹泡泡,你可以把我(咦?那里怪怪的!没事,把我当对象把~~)随意修改位置,方向,让我的泡泡往某个方向吹

  1. GameObject选择Effects/Particle System

  2. 该粒子在Hierarchy中,F2可以修改名字,也可以不修改

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dbz4Ao1o-1629037131468)(C:UsersSmlyAppDataRoamingTyporatypora-user-imagesimage-20210814183933984.png)]

  3. 在项目的Assets文件夹新建一个Material

  4. 然后再将该Material改一个喜欢的名字

    我是为了项目层次性,先创了个文件夹,再把它放进去的

  5. 然后将该Material的Shader设置为Particles/Additive(如果使用unity2020的话,粒子就需要设置为Mobile/Particles/Additive)

  6. 设置好后,将素材中的灰色小球设置给这个Material

  7. 回到粒子划到最后,能看到一个Rnderer的东西,点开

    将你设置好的Material添加进去,就可以了

  8. 在之后的就是细节的调整了

  9. 滑到最上面

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a93Gsr4V-1629037131476)(C:UsersSmlyAppDataRoamingTyporatypora-user-imagesimage-20210814184454513.png)]

  10. Start LifeTime 是粒子生命值

  11. Max Particles是粒子数

  12. Start Sizes是粒子大小

  13. 调整粒子发射速率,在下面一个叫做Emission里面,有一个Rate over time 默认值为10,根据效果来调整,没必要非和老师的一样

    而这个sharp里的angle是调整角度,radius是调整半径,根据自己喜好来

  14. 调整渐变色是在Color over Lifetime里面,自己调整,上面最后面的指针调整的是最后粒子的透明度,下面是粒子颜色,指针调整的是粒子所在空间的前后位置

  15. 然后可以在Size over Lifetime设置粒子的区间大小

    需要注意的是,我第一次使用的时候,下面是没有界面的,只有一个栏,需要我自己把它拉起来,才能调整

4. 给Demo添加背景音效

给游戏添加背景音效是最简单的

然后同样的,给脸也这么操作一下,当然记得把默认的对钩关掉

回头我们会设置让南瓜脸等会再出来,然后再让他笑,这些我们在代码里设置

5. 淡入淡出

给face对象创建一个C#脚本

输入脚本名字,点回车

然后点Create and add

创建成功后,修改代码

using System.Collections;using System.Collections.Generic;using UnityEngine;public class FaceResult : MonoBehaviour{    public float waitTime = 3f;    float elapse;    // Start is called before the first frame update    void Start()    {       }    void setAlpha(float a)    {   var sp = gameObject.GetComponent();   var c = sp.color;   c.a = a;   sp.color = c;    }    // Update is called once per frame    void Update()    {   if(elapse < waitTime)   {  elapse += Time.deltaTime;  setAlpha(elapse / waitTime);   }    }}
6. 流程控制

创建一个名为AllK的c#脚本

用我的蹩脚英语注释了,至于我为啥不用中文注释,因为英文显得逼格高一点,咳咳

using System.Collections;using System.Collections.Generic;using UnityEngine;public class AllK : MonoBehaviour{    float[] timeArray = new float[] { 4, 6, 8, 10, 12 };  // create time     int index;  // index is timeArray's index     // create game object    public GameObject particle;    public GameObject moon;    public GameObject word;    public GameObject face;    public GameObject bat1;    public GameObject bat2;    public GameObject bat3;    bool OnClick;  // let word don't click    // Start is called before the first frame update    void Start()    {   // set game objects can't run   particle.SetActive(false);   moon.SetActive(false);   word.SetActive(false);   face.SetActive(false);   bat1.SetActive(false);   bat2.SetActive(false);   bat3.SetActive(false);    }    // Update is called once per frame    void Update()    {   // set time   if(index < timeArray.Length && Time.realtimeSinceStartup>=timeArray[index])   {  onTime(index);  index++;   }   // if  word can click and click word ,let word appear   if(onClick && Input.GetMouseButtonUp(0))   {  word.SetActive(true);   }    }    void onTime(int index)    {   Debug.Log(index);   switch (index)   {  case 0:  // time is 0, let particle appear {particle.SetActive(true); } break;  case 1:  // time is 1, let moon appear {moon.SetActive(true); } break;  case 2:  // time is 2, let bats appear {bat1.SetActive(true);bat2.SetActive(true);bat3.SetActive(true); } break;  case 3:  // time is 3, let face appear {face.GetComponent().Play();  // time is 3, let face laughface.SetActive(true); } break;  case 4:  // time is 4, let word can click {onClick = true; } break;   }    }}
四、项目打包

点击右上角的File

进去可以选择打包类型

五、完成

做到这里,那就恭喜你已经通过unity擦黄建了一个自己的小Demo

是不是对游戏开发产生了浓厚的兴趣,一起加油吧

结语

代码看不懂没事,先会用就行了,先用它做出来一个东西,而不要先去想它为什么这么做,初始阶段应该学会不求甚解!

加油吧,努力奋斗的我们!

 
反对 0举报 0 收藏 0 评论 0

(c)2022 haohaoxuexi.cc SYSTEM All Rights Reserved

冀ICP备17031443号-5