• unity教程



    前言

       伴随游戏行业的兴起,unity引擎的使用越来越普遍,本文章主要记录博主本人入门unity的相关记录大部分依赖siki学院进行整理。
    
    • 1
    • 1
    • 2

    一、认识unity引擎?

    1、Unity相关信息:
     Unity的诞生:https://www.jianshu.com/p/55021d9301ab  
     Unity的应用:https://baike.baidu.com/item/Unity/10793?fr=aladdin  
     Unity发展:https://baike.baidu.com/item/Unity/10793?fr=aladdin#3
    
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3
    • 4
    2、下载和安装:

    本次学习应用用到的软件主要是:unity2021.2.10flc1和VS2019版本

    (1)相关下载地址:

    Unity中国官网 unity.cn
    国际官网unity.com(需要科学上网)
    官网:www.unity.com

    (2)相关下载教程:
    Unity:https://zhuanlan.zhihu.com/p/433418045
    Vs2019:建议在siki学院《Unity2021零基础入门学习教程 - RollABall》课程资料里下载
    
    • 1
    • 2
    • 1
    • 2
    • 3
    • 4
    (3)关于unity版本说明:
     LTS(Long Term Support)——长期支持版本  
     Alpha——内测版  
     Beta ——公测版(不稳定,有最新功能,最新更新)  
     关于不同版本的解释:https://blog.csdn.net/zistxym/article/details/99300504
    
    • 1
    • 2
    • 3
    • 4
    • 1
    • 2
    • 3
    • 4
    • 5

    二、Unity基础知识

    1、创建工程

    (1)点击Unity hub,新建即可
    在这里插入图片描述

    提示:若无法新建可能是未登录且没有激活许可证。操作如下
    > ![在这里插入图片描述](https://img-blog.csdnimg.cn/9ef2b6c97af9428abd224f218a452c4b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc3VibWVyZ2VuY2U=,size_20,color_FFFFFF,t_70,g_se,x_16

    2、工程目录介绍

    在新建完成后会在创建的目录下生成相关工程文件
    如图所示:
    在这里插入图片描述

    Assets: 资源(场景脚本模型)
    Library: 库(系统)
    Logs: 日志
    Packages: 导入的包
    ProjectSettings: 工程设置
    Temp: 临时文件(文件过大可以删除部分缓存)
    UserSettings: 设置

    3、五个窗口面板

    创建完成后会有5个窗口面板(红色方框)
    5个窗口面板
    在这里插入图片描述

    Project:工程面板,存放工程的各种资源。包括:声音资源、模型资源、场景文件、材质、脚本等。

    Hierarchy:层级面板,展示当前打开的场景里面有哪些东西。(里面的东西称为游戏物体)

    Inspector:检视面板(或属性面板),查看一个游戏物体由哪些组件组成。
    场景 -> 多个游戏物体 -> 多个组件

    Scene:场景面板,显示当前场景的样子
    鼠标中键:平移视角
    鼠标右键:旋转视角(环顾四周),围绕自身旋转
    Alt+鼠标左键:渲染视角,围绕当前视角前方位置

    Game:游戏面板,场景运行的时候的样子

    Scene文件下meta文件不可删除
    在这里插入图片描述
    右上角的layout也可以修改布局
    在这里插入图片描述

    4、创建代码和场景
    (1)Project > Assets 右键选择create 创建 C# script ,并重命名为“New Name”右键即可打开
         Unity支持持的编程语:C#、Mono、JavaScript 
    
    • 1
    • 1
    • 2
    • 3

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/504acbeccdfc451bbaf2caa56d0e338e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc3VibWVyZ2VuY2U=,size_20,color_FFFFFF,t_70,g_se,x_16

    (2*)如果使用其他版本的编译器需要去单独指定 / 代码不提示也可以用此方法解决

    Edit > Preferences > External Tools (附加工具)
    在External Script Editor中有俩个选项
    Open by file extension——根据文件后缀名采取相应工具打开
    Microsoft Visual Studio 2019(这个是自己安装的编译器)
    选择“Microsoft Visual Studio 2019”因为unity大多文件是C#

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/7babe36aacf44cc48e2f0380c9abdec5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc3VibWVyZ2VuY2U=,size_10,color_FFFFFF,t_70,g_se,x_16

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/b06cdcbdfea74259b24da35573d5055f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc3VibWVyZ2VuY2U=,size_20,color_FFFFFF,t_70,g_se,x_16

    5、Unity中的基本模型和场景操作
    (1)如何创建基本模型和如何导入复杂模型
    (2)场景基本操作
     聚焦:双击游戏物体 或者 F  
     放大缩小视野:鼠标滚轮  
     围绕物体旋转:Alt+鼠标左键  
     使用MoveTool下 移动物体
    
    • 1
    • 2
    • 3
    • 4
    • 1
    • 2
    • 3
    • 4
    • 5
    (3)视野分类
     Persp 透视视野 ISO平行视野  
     在不同视野下:关于鼠标右键的不同
    
    • 1
    • 2
    • 1
    • 2
    • 3
    (4)保存(场景保存、代码保存)
     Ctrl + S
    
    • 1
    • 1
    • 2
    6、世界坐标系和局部坐标系

    坐标系:x 左右 y 上下 z前后
    局部坐标系:父物体和子物体
    单位:Unity里面的坐标是以米为单位的

    7、工具栏
    (1)四个工具
     Q:视图工具(使用鼠标中键可以临时切换到这个恐惧)  
     W:移动工具  
     E:旋转工具  
     R:缩放工具  
    
    • 1
    • 2
    • 3
    • 4
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    (2)其他工具
     Rect Tool Transform Tool Collider Tool  
    
    • 1
    • 1
    • 2

    在这里插入图片描述
    Rect Tool:修改大小——一般2D游戏使用

     Transform Tool:WER同时调出
    
    • 1

    Collider Tool:碰撞器

    • 1
    • 2
    • 3
    • 4
    (3)切换工具
     位置工具:Pivot原点 - Center中心  
    
    • 1
    • 1
    • 2

    Pivot原点 Center中心
    局部和全局坐标切换:Local - Globa

    (4)切换工具步移工具
     步移工具:一段一段数值移动(快捷键:Ctrl)  
     条件:世界坐标系下  
     ![在这里插入图片描述](https://img-blog.csdnimg.cn/a9cff43926fc406397d29b4cc5f4a689.png)  
     位置工具:Pivot原点 - Center中心  
     局部和全局坐标切换:Local - Global
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    三、案例实操作

    1、创建场景
     在project面板右击"Scenes"文件create>scence  
    
    • 1
    • 1
    • 2

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/b811aee93a85497799b254a92b71b5b4.png

    (1)创建地面

    ①点击创建好的“Main Scene”
    ②在Hierarchy面板中右键3D object>Plane

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/9c79aa5e624340a6acaf971fc7b36815.png

    ③点击Plane,inspector面板会显示相关物件属性
    Position位置设置为(0.0.0)
    scale X,Z放大2倍
    ④创建材质使Plane更改颜色和材质
    在assets文件下创建文件“Materials”右键此文件创建Ground材质 在这里插入图片描述

    提示:创建的Materials组件也可以直接拖动到场景里的任何物件
    也可以点击目标物体在“Inspector”面板,Materials属性进行添加

     Mesh Filter:控制形状模型  
     Mesh Renderer:在网格上渲染  
     smooththness:控制光滑程度(值越大越光滑)  
    
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3
    • 4

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/5da5a55e3f1246d79fea5e309b1fd382.png

    例如:smooththness为1
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/9e68e8200401411a8f0437bc684de1e4.png

    smooththness为0
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/e1b22c99abc74740a126ac652fcddbc5.png

    相关板块间的关系![在这里插入图片描述](https://img-blog.csdnimg.cn/6d4ac6357cde4519a5fec0c95cb0bfcf.png
    (2)创建墙体

    提示:创建的Materials组件也可以直接拖动到场景里的任何物件

    ①在Hierarchy面板中右键3D object>Cuba
    ②建立一个立方体重命名为“wall”,调整立方体的“Scale”并根据需添加材质

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/289acca1baef4e77911ab7a7a1760a7d.png

    *(3)预制体
    创建多个相同物体,可以创建预制体

    ①在“Hierarchy”面板下创建一个物体,重命名为“wall调整好各个参数”
    ②创建一个文件“Prefabs”用于存放预制体
    ③将物体拖动在文件下,需要用到相同物体可以直接拖出预制体

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/5b27a883cd4b49fb8b1c7ada85b3d760.png

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/307ce64b80cc4632879de4d864af354f.png
    在这里插入图片描述

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/4ce6935db8bd48a1b8e3dac574f69a93.png![在这里插入图片描述](https://img-blog.csdnimg.cn/ec0eae4a7837435b9574671c76bad67a.png

    (4)构建互动物体

    根据前文提到的步骤,通过预制体或者直接复制的方式生成多个相同物体
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/fc18f67b120f46edb6f558ff67ef78bb.png

    2、添加物理组件
    (1)碰撞检测

    ①在Hierarchy面板中的最下方点击“Add Component”
    ②搜索“Sphere Collider”点击即可添加此组件

    在这里插入图片描述

    (2)添加物理组件

    ①在Hierarchy面板中的最下方点击“Add Component”,搜索“Rigidbody”钢铁组件进行添加

    添加刚体组件作用:模拟物理效果(重力、摩擦力、弹力、动力等),可以通过刚体控制小球的运动在这里插入图片描述

    渲染模型和碰撞模型需要分开

    同时碰撞监测消耗越小,运行越流畅
    这里的模型一套精细建模用于渲染 ,一套低模碰撞监测穿模

    减少穿模情况

    调整摄像机位置

    3、代码组件
    建议代码零基础学生

    模仿不求甚解, 后期学习C#语法基础

    (1)添加删除代码组件

    ①添加两种方式:
    a、在Project里面
    Project > Assets 右键选择create 创建 C# script ,并重命名为“New Name”右键即可打开
    b、在Inspector面板
    在Inspector面板最低端点击“Add Component”添加组件
    ②删除两种方式:
    a、删除代码
    b、删除组件

    (2)脚本的基本结构
     a、引用  
     b、脚本名字(类名)(类名和脚本名保持一致)  
     c、什么是方法  
     d、Start方法和Update方法 - 系统方法(事件方法)  
    
    • 1
    • 2
    • 3
    • 4
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    (3)控制台面板 - Console
     a、怎么打开—“Crtl+shift+C” 可以快速唤出可控制面板  
     b、怎么输出—  
     c、收缩输出—  
     d、注释——
    
    • 1
    • 2
    • 3
    • 4
    • 1
    • 2
    • 3
    • 4
    • 5
    (4)在代码中获取刚体组件

    在Player脚本中
    a、第一种方法 - 通过代码获取
    private Rigidbody rd;
    rd = rd = GetComponent();
    b、第二种方法 - 通过拖拽
    public Rigidbody rd;

    (5)给小球添加力
     **a、小球的碰撞监测**——在player脚本里写一个系统事件
    
    • 1
    • 1
    • 2
    private void OnCollisionEnter(Collision collision)
        {
            Debug.Log("发生碰撞了 OnCollisionEnter");
            if(collision.gameObject.tag == "Food")
            {
                Destroy(collision.gameObject);
            }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    collision collision来检测来储存碰撞到的信息
    添加标签 “Food”

    (6)让物体旋转

    在预制体里添加“food”脚本,每个实例都会有此脚本
    transform.Rotate是旋转
    vector3.up围绕自身上方的旋转


    总结

    未完工暂无

    题外话

    初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:

    • 2023届全国高校毕业生预计达到1158万人,就业形势严峻;

    • 国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。

    一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。

    6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。

    2022届大学毕业生月收入较高的前10个专业

    本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

    具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。

    “没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。

    网络安全行业特点

    1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

    2、人才缺口大,就业机会多

    2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。

    行业发展空间大,岗位非常多

    网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

    职业增值潜力大

    网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

    随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

    从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

    黑客&网络安全如何学习

    今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

    1.学习路线图

    在这里插入图片描述

    攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

    2.视频教程
    网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

    内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

    在这里插入图片描述

    (都打包成一块的了,不能一一展开,总共300多集)

    因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

    🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

    3.技术文档和电子书
    技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

    在这里插入图片描述

    因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

    🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

    4.工具包、面试题和源码
    “工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

    还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

    🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

    最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

    这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

    参考解析:深信服官网、奇安信官网、Freebuf、csdn等

    内容特点:条理清晰,含图像化表示更加易懂。

    内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

    在这里插入图片描述

    # 今天的内容就分享到这里,如果你喜欢这篇文章的话,麻烦请动动你的手点个赞或者点个关注吧,这将是我最大的动力!谢谢,这里说点题外话,想学习黑客技术的,这里有我以前整理的大量自学资料。 # 🐵需要的可以点这里自取👉:网安入门到进阶资源 ![请添加图片描述](https://img-blog.csdnimg.cn/44bedc925d394ea099a662bfc1393e3b.png)

    python下载点这里

  • 相关阅读:
    Unity摩天轮旋转
    分布式系统的一致性与共识(1)-综述
    MySQL-查询数据库(二)
    面试经典 150 题 5 —(双指针)— 15. 三数之和
    python/php/java/nodejs网上租车vue+elementui汽车租赁系统
    js第十一章
    【C++之类型转换】static_cast、dynamic_cast、const_cast、reinterpret_cast用途与限制
    Springboot文件上传
    C++ 多线程学习04 多线程状态与互斥锁
    接口测试实战| GET/POST 请求区别详解
  • 原文地址:https://blog.csdn.net/shangguanliubei/article/details/134484668