unity零基础学习

2023-11-19

提示:本人作为萌新记录unity学习路线,后期会根据学习情况不断进行修改,自学途径主要依赖siki学院。


前言

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


一、认识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

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》课程资料里下载

(3)关于unity版本说明:

     LTS(Long Term Support)——长期支持版本
     Alpha——内测版
     Beta ——公测版(不稳定,有最新功能,最新更新)
     关于不同版本的解释:https://blog.csdn.net/zistxym/article/details/99300504


二、Unity基础知识

1、创建工程

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

提示:若无法新建可能是未登录且没有激活许可证。操作如下
在这里插入图片描述

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 

在这里插入图片描述

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

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

在这里插入图片描述
在这里插入图片描述

5、Unity中的基本模型和场景操作

(1)如何创建基本模型和如何导入复杂模型

(2)场景基本操作

     聚焦:双击游戏物体 或者 F
     放大缩小视野:鼠标滚轮
     围绕物体旋转:Alt+鼠标左键
     使用MoveTool下 移动物体

(3)视野分类

     Persp 透视视野 ISO平行视野
     在不同视野下:关于鼠标右键的不同

(4)保存(场景保存、代码保存)

     Ctrl + S

6、世界坐标系和局部坐标系

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

7、工具栏

(1)四个工具

     Q:视图工具(使用鼠标中键可以临时切换到这个恐惧)
     W:移动工具
     E:旋转工具
     R:缩放工具
在这里插入图片描述

(2)其他工具

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

     Transform Tool:WER同时调出

     Collider Tool:碰撞器

(3)切换工具

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

(4)切换工具步移工具

     步移工具:一段一段数值移动(快捷键:Ctrl)
     条件:世界坐标系下
     在这里插入图片描述
     位置工具:Pivot原点 - Center中心
     局部和全局坐标切换:Local - Global


三、案例实操作

1、创建场景

     在project面板右击"Scenes"文件create>scence
在这里插入图片描述

(1)创建地面

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

在这里插入图片描述

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

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

     Mesh Filter:控制形状模型
     Mesh Renderer:在网格上渲染
     smooththness:控制光滑程度(值越大越光滑)
在这里插入图片描述
     例如:smooththness为1
在这里插入图片描述
     smooththness为0
在这里插入图片描述

相关板块间的关系在这里插入图片描述

(2)创建墙体

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

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

在这里插入图片描述

*(3)预制体

创建多个相同物体,可以创建预制体

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

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

(4)构建互动物体

根据前文提到的步骤,通过预制体或者直接复制的方式生成多个相同物体
在这里插入图片描述

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方法 - 系统方法(事件方法)
在这里插入图片描述

(3)控制台面板 - Console

     a、怎么打开—“Crtl+shift+C” 可以快速唤出可控制面板
     b、怎么输出—
     c、收缩输出—
     d、注释——

(4)在代码中获取刚体组件

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

(5)给小球添加力

     a、小球的碰撞监测——在player脚本里写一个系统事件

private void OnCollisionEnter(Collision collision)
    {
        Debug.Log("发生碰撞了 OnCollisionEnter");
        if(collision.gameObject.tag == "Food")
        {
            Destroy(collision.gameObject);
        }
    }

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

(6)让物体旋转

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




总结

未完工暂无

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity零基础学习 的相关文章

  • 有趣的Hack-A-Sat黑掉卫星挑战赛——被破坏的阿波罗计算机(解法二)

    国家太空安全是国家安全在空间领域的表现 随着太空技术在政治 经济 军事 文化等各个领域的应用不断增加 太空已经成为国家赖以生存与发展的命脉之一 凝聚着巨大的国家利益 太空安全的重要性日益凸显 1 而在信息化时代 太空安全与信息安全紧密地结合
  • 时间与时间戳的转换

    什么是时间戳 时间戳是指格林威治时间自1970年1月1日 00 00 00 GTM 至当前时间的总秒数 它也被称为Unix时间戳 Unix Timestamp 时间戳是能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据 通常是一个
  • org.json.JSONException: No value for thumbnail_pic

    在JSON解析中会遇到一种错误 很常见的错误 是因为我们解析方法getString 是因为JSON里面不存在这个value 我们可以用另外一个方法optString 这个方法如果不存在value会返回 空字符串 不会报异常 为了安全起见我一
  • ECS突发性能型t6和轻量应用服务器区别和选择?

    这两款对比的话 个人还是首选推荐使用ECS突发性能型t6 毕竟是ecs服务器 功能上全面一些的 关于什么是阿里云ECS共享型S6 计算型 突发性能型 操作和地域镜像等系统选择 前往阿里云官网产品文档了解轻量服务器和突发型相关内容 共享型 云

随机推荐

  • 以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素。

    出队的时候一定要注意是不是最后一个元素出队 假设以带头结点的循环链表表示队列 并且只设一个指针指向队尾元素结点 试编写相 应的初始化 入队以及出队算法 include
  • Minio安装

    Minio安装 想要了解 Minio 直接去官网查看 官网 https min io GitHub地址 https github com minio minio minio概述文档 http docs minio org cn minio
  • 文件中的类都不能进行设计,因此未能为该文件显示设计器。设计器检查出文件中有以下类: FormMain --- 未能加载基类“WinForm.Win.FormsBase.FormMainBase”。请确...

    出现该问题的原因 FormMain从FormMainBase继承之后 一旦修改FormMainBase就会出现这个问题 解决方案 1 4是搜索网友的 1 关闭VS所有窗口 后重启 即可返回正常 2 第一种方案不成功 关闭VS所有窗口 点击解
  • 重置计算机后无法开机,win10重置此电脑失败怎么办_win10重置此电脑失败无法开机修复方法...

    当win10系统使用时间长了 难免会有一些电脑故障的出现 这时有些用户就会选择使用重置电脑的方式来解决 但是最近有用户再给自己的win10系统进行重置时总是出现失败的情况 那么win10重置此电脑失败怎么办呢 下面就来告诉大家win10重置
  • TCP/UDP

    TCP与UDP的相关知识 TCP的三次握手具体发生在哪个函数中 补充知识 TCP的三次握手具体发生在哪个函数中 在Linux编程中 在进行TCP网络编程时 通常分为客户端和服务器端两个模块 客户端 fd socket 利用socket生成文
  • jvm原理--简单的程序加载分析

    package com bzu csh 类加载器加载 class文件 gt 初始化static声明 并不赋值 gt 调用类 gt static声明赋值由上到下 程序开始运行 首先执行main方法 执行main方法第一条语句 调用Single
  • 时序预测

    时序预测 MATLAB实现SARIMA时间序列预测 arima函数 经常还会遇到一种情况 即某些时间序列中存在明显的周期性变化 这种周期是由于季节性变化 季度 月度等 引起的 ARIMA的扩展支持SARIMA 它支持对该系列的季节性成分进行
  • 以太坊区块链学习之在私链上部署合约

    上一篇博客介绍了如何搭建私链并在私链上创建账户 挖矿 查看余额 本篇将介绍在私链上部署合约并与之交互 本篇开发环境为MacOS 10 12 建议读者使用macOS系统或者Ubuntu系统 第一步 进入geth客户端 启动私链 进入geth客
  • 网络基础-应用层协议-HTTP/HTTPS

    HTTP HTTPS HTTP 基本概念 协议格式 请求报文 请求方法 请求资源地址 协议版本 应答报文 常见Header 常见状态码与状态描述 Cookie Session http协议特点 HTTPS 基本概念 对称加密与非对称加密 数
  • magic-api简单例子

    1 magic api magic api 是一个基于Java的接口快速开发框架 通过magic api提供的UI界面完成编写接口 无需定义Controller Service Dao Mapper XML VO等Java对象即可完成常见的
  • 继承、重写、重载、 abstract 抽象、 final、向上(向下)转型、多态

    继承 父类 公共的属性和方法 子类 特有的属性和方法 重写 override 1 继承 2 子类拥有和父类的一样的方法 方法名相同 参数列表相同 返回值类型可以缩小 访问控制权限可以方法 可声明的异常 重载 overload 1个类中 方法
  • [LeetCode-01]-Two Sum(求和)

    文章目录 题目相关 Solution 1 暴力求解 2 暴力求解方法改进 3 不可行的方案 后记 每周完成一个ARTS Algorithm Review Tip Share ARTS Algorithm 每周至少做一个 leetcode 的
  • OpenLooKeng连接hive出现UnknownHostException

    背景 最近在验证一个计算的方案 使用的是华为开源的数据虚拟化引擎OpenLookeng hetu 底层基于presto引擎来提供交互式查询分析能力 先前成功部署过一套 添加hive mysql等数据源一切正常 后重新在其他环境进行部署时 连
  • 老胡的周刊(第106期)

    老胡的信息周刊 1 记录这周我看到的有价值的信息 主要针对计算机领域 内容主题极大程度被我个人喜好主导 这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享 项目 quivr 2 Quivr 是您在云中的第二个大脑 让您轻松存储和检
  • windows10-cuda10.1-cudnn7-tensorflow1.4.0配置流程

    1 下载cuda版本 cuda 10 1 105 win10 network exe 并按照流程安装 安装完后 打开cmd 输入 nvcc V 回车查看是否有版本信息 若出现版本信息 则证明nvcc安装成功 2 下载cudnn版本 cudn
  • oracle批量绑定 forall bulk collect用法以及测试案例

    一 如何使用批挷定提高性能 How Do Bulk Binds Improve Performance 在PL SQL 和SQL引擎 engines 中 太多的上下文切换 context switches 会影响性能 这个会发生在当一个循环
  • 黑丝YYDS,通过五十行代码分分钟下载上万张黑丝小姐姐纯欲高清图!(宅男福利)

    前言 夏天已经接近尾声了 虽然各种大白腿会少了很多 但是会冒出很多各种黑色的大长腿哇 尤其是黑色的 黑丝才是永远滴神 今天带你们大饱眼福一波 一 技术路线 requests 网页请求 BeautifulSoup 解析html网页 re 正则
  • c3p0 mysql 自动重连_关于C3P0容错和自动重连特性的研究

    转载 http blog csdn net cutesource article details 5422093 最近常有数据库和网络设备升级和搬迁等事情 而各个应用都是基于数据库连接池做的 大部分都是基于C3P0 数据库或网络状况的变动都
  • FreeBSD开启SSH远程登录

    1 安装时选择上 SSH 或者源码安装 SSH 2 使用 root 登陆系统 3 使用 ee 编辑器编辑 ee etc inetd conf 去掉 ssh 前的 按 ctrl c 再输入 exit 保存退出 4 编辑 ee etc rc c
  • unity零基础学习

    提示 本人作为萌新记录unity学习路线 后期会根据学习情况不断进行修改 自学途径主要依赖siki学院 前言 伴随游戏行业的兴起 unity引擎的使用越来越普遍 本文章主要记录博主本人入门unity的相关记录大部分依赖siki学院进行整理