目录

一.五大主要面板

二.基本操作和组件介绍

三.控制3Dobjectk物体运动

四.相机的实时跟随

五.预制体的设置

六. 碰撞器,触发器及其脚本

7.UI幕布

那么这就是本次的全部内容啦,有收获的朋友请点个支持再走吧

那么在这里小编其他的话就不说了直接步入主题:

本次入门学习分为以下几个步骤:

1.五大主要面板

2.基本操作和组件介绍

3.控制3Dobjectk物体运动

4.相机的实时跟随

5.预制体的设置(标签,旋转效果)

6.碰撞器,触发器及其脚本

7.UI幕布

.五大主要面板

1.Project面板(工程面板)---里面主要包含插件

Unity 实战 pdf unity教程完整版_unity


Unity 实战 pdf unity教程完整版_Unity 实战 pdf_02

以上的文件包含物体的材质,脚本,插件等有关场景中的一切

2.Hierarchy面板---显示当前场景有哪些事物。

Unity 实战 pdf unity教程完整版_Unity 实战 pdf_03

初始场景中只有:MainCamra相机和DirectionalLIght灯光

3.Inspector面板(检视面板)-----查看物体有哪些组件组成的

Unity 实战 pdf unity教程完整版_unity_04

4.Scene面板(场景面板)

Unity 实战 pdf unity教程完整版_右键_05

5.game面板(游戏面板)。=

Unity 实战 pdf unity教程完整版_右键_06

.基本操作和组件介绍

1.基本操作

Unity 实战 pdf unity教程完整版_游戏引擎_07

如上图所示 (1)拖拽 (2)移动 (3)旋转 (4)大小(5)2d大小(6)旋转+移动+大小

分别对应快捷键 Q,W,E,R,T,Y

2.基本组件介绍

首先在Hierarchy面板中右键选中- 3Dobject创建一个3d模型

1.物体的基本组件(在Inspector面板中):
(1)Transform -----位置和大小

(2)Mesh Renderer--渲染控制显示

(3)Mesh collider---碰撞器

(4)Mesh Filter-----网格

Unity 实战 pdf unity教程完整版_Unity 实战 pdf_08

.控制3Dobjectk物体运动

首先创建一个地面在Hierarchy面板中右键-3dobject-pian创建一个地面,然后右键-3dobject-cube创建一个正方体。

Unity 实战 pdf unity教程完整版_游戏引擎_09

1.添加刚体

在inspecter面板中点击 add component 在搜索面板中输入Rigidbody(刚体),代表此时物体有了物理信息,重量质量等等,此时你若将正方体上移脱离地面然后按下如下图所示的执行按钮,你会发现物体做自由落体运动并且停止到地面上

Unity 实战 pdf unity教程完整版_unity_10

2.控物体运动

(1).操作介绍

那么这个时候我们得写脚本了(c#代码),首先点击Add component 然后移到最下方点击 New script(新脚本),输入自定义脚本名称,此时我们可以输为sport,按下creat and add ,你会发现在,project中会出现如下:

Unity 实战 pdf unity教程完整版_右键_11

点击 ,然后他会打开VS(前提自己安装vS2019社区版--个人推荐 ),以下是自动出现的基本代码模板,start的方法只运行一次,但是Update是大概每秒60次,也就是一直在运行

Unity 实战 pdf unity教程完整版_unity_12

(2) 脚本代码

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

public class sport : MonoBehaviour
{
    public Rigidbody cube;//创建刚体对象
    // Start is called before the first frame update
    void Start()
    {
        cube = GetComponent<Rigidbody>();//Cube得到刚体组件(方法)
    }

    // Update is called once per frame
    void Update()
    {
        float a, b, c;
        //内置方法可在Edit- projectsettings -Axis中查看
        a = Input.GetAxis("Horizontal");//按ws或者上下方向可以向前前后移动
        b = Input.GetAxis("Vertical");  //按ad或者左右方向可以向左向右移动
        c = Input.GetAxisRaw("Jump");   //按一直空格可以飞行跳跃
        cube.AddForce(new Vector3(a, c, b) *10 ); 
        // Addforce也就是给cube添加一个力 Vector是它的三维方向轴
        //所以按wsad和空格 可以对物体在不同的方向产生不同的力从而达到运动的作用
        //乘上10是为了加快它的速度


    }
}

然后Heritchy按ctrl+s 保存再切换到unity,点击Hierarchy面板的cube再将在Inspecter面板中Rigidbody拖到Script中(赋予对象),如下图有有绿色的刚体物件显示,然后点击运行,就可以实现物体基本的运动了

Unity 实战 pdf unity教程完整版_System_13

.相机的实时跟随

若想实现实时相机画面跟随物体运动那么见如下步骤:

1.基本操作介绍

首先点击Hierarchy面板中的Main camera,再看到Inspector面板点击add Component ,按照上文介绍过的操作,创建一个脚本自定义命名(followsight),生成后打开编辑,代码如下。

2.脚本代码

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

public class followsight : MonoBehaviour
{
    public Transform  cube; //创建跟随对象 
    private Vector3 offset;        //偏移视角
    // Start is called before the first frame update
    void Start()
    {
        offset = transform.position - cube.position;
        //记录初始相机到物体的三维差
    }

    // Update is called once per frame
    void Update()
    {
        transform.position = offset + cube.position;
        //此时相机的位置就一直跟着cube的位置变化而变化
        //那么此时物体和相机就成了形影不离的整体
    }
}

然后按ctrl+s 保存再切换到unity,点击Hierarchy面板的Main camera再将Hierarchy面板中的cube物体拖到在Inspecter面板中Script中(赋予对象),如下图。这样就可以实现相机的实时跟随了。

Unity 实战 pdf unity教程完整版_右键_14

Unity 实战 pdf unity教程完整版_System_15

五.预制体的设置

1.介绍:

什么是预制体?预制体你可以理解为NPC,野怪,地铁跑酷里面的金币,那么接下来,小编将创建是Tag(标签)为Food的预制体,将实现实现cube触碰到它后食物消失,形成,吃掉食物的效果

2.创建预制体(添加标签相当于将其分类,方便系统识别,和自身梳理)

首先在Project面板创建自定义命名prefabs(预制体)文件夹,后在任意在hierarchy面板创建一个3Dobject物体,在Inspector面板点击Tag将untagged换成add Tag,然后点击+号,添加自定义tag(标签),此时我们添加一个自定义为food的标签,退出后再选择。

Unity 实战 pdf unity教程完整版_unity_16

之后我们将位于Hierarchy面板的food对象拖拽至prefabs的文件夹中,此时物体的图标会变蓝,之后我们可以在它Inspectors面板的transform组件中改变它的大小或位置,(当然按R也可以)然后按住ctrl+d进行预制体复制

Unity 实战 pdf unity教程完整版_Unity 实战 pdf_17

Unity 实战 pdf unity教程完整版_System_18

此时为了方便梳理,我们可以创建一个空物体(右键creat +creatempty),然后按住shift进行多项选择,将其一起拖拽进空物件中,并可以将,空物件命名为env(环境),这样预制体的基本创建就完成了

Unity 实战 pdf unity教程完整版_游戏引擎_19

六. 碰撞器,触发器及其脚本

1..让预制体运动(旋转)

那么此时我们的创建一个脚本,脚本代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class rotate : MonoBehaviour
{
    public float speed=5;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        transform.Rotate(Vector3.forward * speed);
        //rotate是旋转, 那么forward是向前当然可以选其他方向,然后可以看到我定义了一个speed,
        //那么这个speed也就是速度的意思可以在Inspector面板中的script组件中修改speed的值
    }
}

Unity 实战 pdf unity教程完整版_游戏引擎_20

为了方便观看我们给物体都添加个色彩,在Project面板中创建一个存放材质的自定义文件夹,然后创建Material(右键-creat-Material)材质,然后在右边Inspector面板调色后推拽到物体身上,如下图:

Unity 实战 pdf unity教程完整版_右键_21

2.碰撞器,触发器《主体碰到预制体消失(实现吃食物的代码)》

1.首先我们得在Inspector面板看到box collider碰撞器组件,然后勾选is tigger 让其从碰撞器变成触发器(当然触发器也是碰撞器得一种),勾选注意不要给prefabs预制体添加刚体组件,不然它会掉下去,因为此时它没有了碰撞效果,任何物体经过它后会穿透

2.添加触发脚本

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

public class chufa : MonoBehaviour
{

    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    // private void OnCollisionEnter(Collision collision)//这个是碰撞器方法,enter意味着发生碰撞接触时会发生什么
    //private void OnCollisionEnter(Collision collision)//这个是停留时会发生什么
    //private void OnCollisionExit(Collision collision)//那么这个就是离开时会发生什么
    //此时我们是接触器如下
    private void OnTriggerEnter(Collider other)//接触时
    {
        if(other.gameObject .tag =="food")//当接触的物体它的trandform组件中的tag标签是food时执行
        { 
            Destroy(other.gameObject );  //此时让食物物体对象消失
        }
    }


}

7.UI幕布

不管添加要显示在幕布上的什么组件。添加时幕布只有一个

1.幕布中添加文字

右键+UI+lagacy+Txet,则会出现以下:物体中间出现文字,当然幕布是透明的,

Unity 实战 pdf unity教程完整版_右键_22

如果此时你想更改文字的位置,大小颜色的话 ,看到inspector面板的txet框框,在character中可以改变字体字样,大小,那么在Rect Transform组件中点击center选择位置,则可以实时固定字体的位置,意思是不管画面怎么移动,字体在屏幕上的位置不会改变。

Unity 实战 pdf unity教程完整版_Unity 实战 pdf_23

此时小编将其放到了右下角,并且修改为hello unity、

Unity 实战 pdf unity教程完整版_游戏引擎_24

2.添加照片

首先将你的照片电脑文件夹中拖拽到project面板中,然后单击它后看到Inspector面板,将Texture Type改成Sprite(2d and ui),之后点击屏幕,他会弹出一个提示框,点击框中的Apply,

Unity 实战 pdf unity教程完整版_unity_25

然后在Hierarchy面板中在canvas对象位置右键+UI+image,创建一个幕布图片组件,然后看到右边Inspector面板中的image组件,将Souce image 从None 换成上面已经弄好的ui材料,

Unity 实战 pdf unity教程完整版_System_26

此时你即可看到屏幕中出现的画面,那么跟文字一样,将其改变大小,位置,实时固定

Unity 实战 pdf unity教程完整版_右键_27

3.添加视频

首先你得在Project面板创建一个渲染材质右键+creat+Reader texture,将其移到在幕布中新创建得位于Inspector面板的Raw iamge 的组件中,然后再按 Add component添加 Vidio player组件,然后点击source选择视频文件。

Unity 实战 pdf unity教程完整版_右键_28

4.添加激活物体脚本

作用在当你吃完食物之后,要显示胜利的画面,那么上面的UIxai显示就是为此,那么此时你的先将其隐藏,然后通过脚本代码,吃完全部的食物后激活。

Unity 实战 pdf unity教程完整版_游戏引擎_29

Unity 实战 pdf unity教程完整版_游戏引擎_30

脚本如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;//涉及UI时需要加上这个命名空间
public class chufa : MonoBehaviour
{

    // Start is called before the first frame update
    public float socrce = 0; //定义一个分数值让他初始值为0 
    public GameObject ui; //创建要激活的对象gameobjet类型
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    // private void OnCollisionEnter(Collision collision)//这个是碰撞器方法,enter意味着发生碰撞接触时会发生什么
    //private void OnCollisionEnter(Collision collision)//这个是停留时会发生什么
    //private void OnCollisionExit(Collision collision)//那么这个就是离开时会发生什么
    //此时我们是接触器如下
    private void OnTriggerEnter(Collider other)//接触时
    {
        if (other.gameObject.tag == "food")//当接触的物体它的trandform组件中的tag标签是food时执行
        {
            Destroy(other.gameObject);  //此时让食物物体对象消失
            socrce++; //吃到一个食物得到一分
        }
        if(socrce == 4.0F) //F是float的后缀当吃到四个食物时就激活胜利信息
        {
            ui.SetActive(true);//setActive就是激活true就是实现按钮
        }

    }


}

那么这就是本次的全部内容啦,有收获的朋友请点个支持再走吧