unity入门必备的案例2.0

简介: unity入门必备的案例你还不知道?

👨‍💻个人主页:@元宇宙-秩沅

hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

本文由 秩沅 原创

收录于专栏 unity实战入门

你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!
栓Q

目录

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

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

1.五大主要面板

2.基本操作和组件介绍

3.控制3Dobjectk物体运动

4.相机的实时跟随

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

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

7.UI幕布
一.五大主要面板
1.Project面板(工程面板)---里面主要包含插件

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

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

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

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

4.Scene面板(场景面板)

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

二.基本操作和组件介绍
1.基本操作

如上图所示 (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-----网格

三.控制3Dobjectk物体运动
首先创建一个地面在Hierarchy面板中右键-3dobject-pian创建一个地面,然后右键-3dobject-cube创建一个正方体。

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

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

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

(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();//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中(赋予对象),如下图有有绿色的刚体物件显示,然后点击运行,就可以实现物体基本的运动了

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

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中(赋予对象),如下图。这样就可以实现相机的实时跟随了。

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

2.创建预制体(添加标签相当于将其分类,方便系统识别,和自身梳理)
首先在Project面板创建自定义命名prefabs(预制体)文件夹,后在任意在hierarchy面板创建一个3Dobject物体,在Inspector面板点击Tag将untagged换成add Tag,然后点击+号,添加自定义tag(标签),此时我们添加一个自定义为food的标签,退出后再选择。

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

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

六. 碰撞器,触发器及其脚本
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的值
}

}

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

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,则会出现以下:物体中间出现文字,当然幕布是透明的,

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

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

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

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

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

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

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

脚本如下:

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就是实现按钮
    }

}

}
那么这就是本次的全部内容啦,有收获的朋友请点个支持再走吧
你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!
栓Q

目录
相关文章
|
2月前
|
图形学 开发者
【独家揭秘】Unity游戏开发秘籍:从基础到进阶,掌握材质与纹理的艺术,打造超现实游戏视效的全过程剖析——案例教你如何让每一面墙都会“说话”
【8月更文挑战第31天】Unity 是全球领先的跨平台游戏开发引擎,以其高效性能和丰富的工具集著称,尤其在提升游戏视觉效果方面表现突出。本文通过具体案例分析,介绍如何利用 Unity 中的材质与纹理技术打造逼真且具艺术感的游戏世界。材质定义物体表面属性,如颜色、光滑度等;纹理则用于模拟真实细节。结合使用两者可显著增强场景真实感。以 FPS 游戏为例,通过调整材质参数和编写脚本动态改变属性,可实现自然视觉效果。此外,Unity 还提供了多种高级技术和优化方法供开发者探索。
54 0
|
3月前
|
图形学 C# 开发者
全面掌握Unity游戏开发核心技术:C#脚本编程从入门到精通——详解生命周期方法、事件处理与面向对象设计,助你打造高效稳定的互动娱乐体验
【8月更文挑战第31天】Unity 是一款强大的游戏开发平台,支持多种编程语言,其中 C# 最为常用。本文介绍 C# 在 Unity 中的应用,涵盖脚本生命周期、常用函数、事件处理及面向对象编程等核心概念。通过具体示例,展示如何编写有效的 C# 脚本,包括 Start、Update 和 LateUpdate 等生命周期方法,以及碰撞检测和类继承等高级技巧,帮助开发者掌握 Unity 脚本编程基础,提升游戏开发效率。
83 0
|
5月前
|
图形学
【实现100个unity特效之4】Unity ShaderGraph使用教程与各种特效案例(下)
【实现100个unity特效之4】Unity ShaderGraph使用教程与各种特效案例
117 0
|
5月前
|
数据可视化 图形学 开发者
【实现100个unity特效之4】Unity ShaderGraph使用教程与各种特效案例(上)
【实现100个unity特效之4】Unity ShaderGraph使用教程与各种特效案例
531 1
|
5月前
|
前端开发 图形学
技术经验解读:【Unity3d游戏开发】UGUI插件入门之游戏菜单
技术经验解读:【Unity3d游戏开发】UGUI插件入门之游戏菜单
32 0
|
6月前
|
定位技术 C# 图形学
Unity和C#游戏编程入门:创建迷宫小球游戏示例
Unity和C#游戏编程入门:创建迷宫小球游戏示例
154 2
|
6月前
|
C# 图形学
【Unity 3D】元宇宙案例之虚拟地球信息射线实战(附源码、演示视频和步骤 超详细)
【Unity 3D】元宇宙案例之虚拟地球信息射线实战(附源码、演示视频和步骤 超详细)
115 0
|
6月前
|
vr&ar C# 图形学
【Unity 3D】VR飞机拆装后零件说明功能案例实战(附源码和演示视频 超详细)
【Unity 3D】VR飞机拆装后零件说明功能案例实战(附源码和演示视频 超详细)
100 0
|
6月前
|
vr&ar C# 图形学
【Unity 3D】VR飞机动态拆装及引擎开关控制案例(附源码和演示视频 超详细)
【Unity 3D】VR飞机动态拆装及引擎开关控制案例(附源码和演示视频 超详细)
108 0
|
6月前
|
vr&ar 图形学
【Unity 3D】VR飞机起飞喷火游戏案例实战(附源码和演示视频 超详细)
【Unity 3D】VR飞机起飞喷火游戏案例实战(附源码和演示视频 超详细)
243 0
下一篇
无影云桌面