Unity学习笔记(一)—— 基础知识

2023-11-20

一、基础知识

1.开发团队组成

2. unity特点

图形界面(所见即所得)

入门简单(支持C#(比OC,C++更友好),js)

国内外资源丰富(因为使用的人多)

跨平台性好(PC端、移动端等)

对VR/AR的支持最完善

3.成功案例

游戏——炉石传说、神庙逃亡、仙剑奇侠传、抢滩登陆站

VR/AR——绝大数的VR作品、Pokeman Go、支付宝红包

4.游戏类型缩写解释

MOBA——Multiplayer Online Battle Arena(多人在线战斗竞技场)

FPS——First Person Shooter(第一人称射击)

TPS——Third PersonShooter(第三人称射击)

MMO——Massive Multiplayer Online (大型多人在线)

二、unity下载与安装

下载:unity中国官网

需要下载俩个东西,一个是编译器,一个是项目管理工具

安装:默认安装即可 

如果自己做的游戏要上架盈利,则一定要花钱买正版,用个人版发布如果被发现会被告

 Unity版本介绍:

LST(Long Term Support):长期版本支持,即Unity官方会长期进行维护的版本,修复已知bug

Alpha:内测版

Beta:公测版(不稳定、有新功能)

三、unity项目的创建

我们打开UnityHub,然后点击新建

然后输入项目名称并选择项目位置,然后点击创建 (如果一直转圈圈,可能是没有注册许可证,注册一个就好了)

打开该项目后的页面情况

项目目录结构介绍:

Assets:资源目录,存放场景、脚本、模型、素材等文件

Librarry:库文件目录

Logs:日志文件目录

Package:包目录

ProjectSettings:工程相关设置文件目录

Temp:临时文件夹目录,可删除

UserSettings:用户相关设置文件目录

VS字体指定:

下载:https://www.jetbrains.com/zh-cn/lp/mono/

安装:解压后找到对应文件双击后点击安装即可

然后在VS编译器的工具->选项->字体和颜色选择安装好的字体,然后确定即可

指定代码编辑器:Edit->Preferences,默认是Open by file extension,我们需要点击Browser自己去添加本地的编辑器(为什么要指定,因为不指定的话编辑器会没有代码提示)

创建C#脚本(只有在Assets目录下右键才可创建)

创建场景Scene(在Scenes目录下右键)

四、unity界面介绍

工具栏

1.File (文件)

Scene:场景前6个菜单都是对场景的操作

什么是场景:如下图,我们在玩大富翁时首先会有一个读条界面,这是场景一,读条完成后我们会进入主菜单界面,这是场景二

第7-9个菜单是对整个项目的操作,很好理解

第10-11个菜单,Build Settings:打包时进行的配置(如指定其所支持的平台),Build And Run:打包并运行程序

2.Edit (编辑)

主要是一些编辑命令,其中Duplicate是ctrl+c和ctrl+v的合并过程,不经过剪切板直接复制

Preferences:设置界面,比如我们可以改变编辑器的主题颜色

3.Assets(资源)

4.GameObject(游戏对象)

5.Component(组件)

6.Window(面板)

7.Help(帮助)

五个窗口面板介绍

修改布局方式

面板栏

1.Project面板(项目面板,用于管理项目中用到的所有资源文件)

Assests:保存图片、视频、音频(音效师制作)、模型(建模师制作)等资源

packages:保存一切系统内置插件

2.Scene面板(场景面板,用来编辑场景,列出场景中所有的游戏对象)

可以看到有若干游戏对象在整个场景中,如Cube、相机、太阳 

鼠标滑轮:点击可以整体拖动场景,滑动可以拉近拉远

鼠标右键:可以改变视野角度

这三个按钮分别表示:运行游戏、暂停游戏、帧运行游戏 

如图,这些白线代表相机可以拍摄到的画面范围

3.Game面板(游戏面板,玩家看到的景象面板,由场景中的摄像机拍摄到的,无法编辑场景

4.Hierachy面板(层级面板,用来管理当前场景中所有的游戏对象,将所有的游戏对象以层级的形式列举出来,不同的Scene对应的Hierachy内容不同)

Main Camera:是指主相机,即相机可以拍摄到的场景

Directional Light:是指直射灯光,模拟现实生活中的太阳

在场景中新建一个Cube(在Hierarchy面板上鼠标右键创建即可)

然后我们就会看到出现一个立方体

 在Hierachy面板可以进行层级的嵌套,如图(外层会遮挡内层对象故会看不到内层)

5.Inspector面板(检视面板,显示一个游戏对象身上的组件及组件中的属性)

这里的Cube、Sphere、Cube是三个游戏物体 

如图,每一项称为一个游戏对象的组件 

Transform:位置(m)、旋转(°)、缩放比例(倍数)

重置:

 创建基本模型:即如图框选部分

 在创建时,默认会把新建的游戏对象放在场景中央位置

 

复制游戏对象:点选要复制的对象,然后ctrl+D,默认会在同一位置,需要自己托动一下才能看到

删除游戏对象:点选要删除的对象,然后delete删除即可

Unity只有一些基础模型,如果要使用复杂模型(如人物模型、场景模型)需要用3DMax、maya、blinder等建模软件制作

场景基本操作:

聚焦:双击想要聚焦的游戏对象

Alt+鼠标左键:围绕之前聚焦的游戏物体旋转观察

移动:拖动红绿蓝箭头即可,或在transform->position下精确设置其位置

透视视野:近大远小

平行视野:所有物体不会因为距离而有大有小

世界坐标系:

如图在右上角有一个这样的标识,他代表三维坐标系,其中x代表左右,z代表前后,y代表上下,有颜色的一端代表正方向(即坐标值为正)

 我们可以看出,这里的三维坐标系不是我们在数学中的右手坐标系(而是左手坐标系)

      

如何确定原点位置:创建一个Postion为(0,0,0)的对象即可

局部坐标系:

当我们有对象嵌套时,就会产生局部坐标系,如图小球位于原点位置,而此Cube的坐标是相对于包含它的Cude来定的

所有坐标的单位为:m

场景中的操作工具栏

1.拖动场景(按住鼠标中键拖动   或者   点击这里的第一个“手的按钮”后使用鼠标左键拖动)

2.旋转场景(在Scene面板使用鼠标右键拖动   或者   alt+鼠标左键拖拽,右上角的一个锁的作用是锁定场景的旋转)

3.旋转游戏对象(使用如图第三个按钮,如红色线代表绕x轴旋转)

这里需要注意一下坐标系的切换

4.缩放场景(滚动鼠滚轮)

5.移动游戏对象(注意要使用左上角的十字架按钮)

  • 沿着x或者y或者z单个方向移动(鼠标拉动途中的红色箭头/绿色箭头/蓝色箭头)
  • 在某一个平面上移动,如x位置保持不变,y和z改变(鼠标选中红色的小面然后拖动)其他小面类似

6.同时调整位置、旋转,使用

 7.碰撞器,用于规定两个物体是否发送碰撞的范围

 

8.中心位置切换

 

center下(计算collider中心位置用center):

privot下(模型原点):

 

 9.步移工具(在拖动时,一米一米的移动)

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

Unity学习笔记(一)—— 基础知识 的相关文章

随机推荐

  • c语言数组下标和指针,C语言 数组 下标与指针 效率解析

    以字符串拷贝函数为例 解析数组中下标与指针的效率情况 指针的效率至少和下标相同 原因参考C下标的实现原理 注意编译器差异 因为部分编译器针对下标设置了特殊汇编指令 不做考虑 define SIZE 50 int x SIZE int y S
  • SQL中join group by having max() 时转Linq

    本来开发时有一个分组聚合的脚本 比较复杂 为了笔记效果 所以将脚本做一个简化 本来库里有两个表TableA和TableB 两个表的主键做如下关联 TableA的主键ID为TableB的外键Aid SELECT a Id a Name b I
  • 【Android11系统开发】上层app通过AIDL监听framework数据

    一 适用场景 在Android系统开发中 需要监听按键 触摸 或者可见窗口大小变化等需求时 你会考虑什么方法来实现呢 通过广播的方式可以实现 但是效果可能并不好 AIDL可以实现跨进程通讯 可以解决以上需求 下面重点分析下如何具体实现 以实
  • Node.js事件循环

    在 Node js 中 事件循环是用来处理非阻塞 I O 的基础 这意味着在 Node js 中 用户代码不会因为等待 I O 操作而停止执行 而是在 I O 操作完成后被通知 Node js 中的事件循环的工作方式有以下几种 首先 Nod
  • 【elementplus】body设置zoom后,el-table开启show-overflow-tooltip后,表格的tooltip显示会错位的解决方案

    由于我的项目是无法避免使用zoom 所以只记录zoom后的解决方案 示例 明明划过的是第一行 tooltip却显示到了第四行的位置 正确显示 划过第一行 tooltip显示在第一行的位置 代码 使用transform属性来修复el tabl
  • JavaScript 实现html导出为PDF文件

    相信各位前端工程狮们在一些报表项目 管理系统项目中都会遇到在这样的需求 申请报 表格 简历等等图文信息有导出为PDF文件 下面是记录我在项目中完成该需求的代码dome 发布出来也是希望对大家有些帮助 1 整体思路 将HTML元素打印或导出为
  • 【满分】【华为OD机试真题2023 JS】统计匹配的二元组个数

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 统计匹配的二元组个数 知识点数组 时间限制 1s 空间限制 32MB 限定语言 不限 题目描述 给定两个数组A和B 若数组A的某个元素A i 与数组B中的某个元素B j 满足 A
  • 函数getopt(),及其参数optind

    getopt被用来解析命令行选项参数 转载地址 http hi baidu com xlt1888 blog item 703148383008492670cf6c2d html include
  • java属于什么语言_java是什么语言 ?是什么系统?

    一开始了解计算机这个专业 大家都会经常性听到Java这一词语 那么大家有真正的了解什么是Java吗 Java是属于什么语言呢 JAVA语言 其实是混合型的一种语言 Java语言是一个支持网络计算的面向对象程序设计语言 Java语言吸收了Sm
  • MinIO学习文档(Java版)

    目录 一 安装 1 在k8s中安装minio单机版 1 创建minio名称空间 2 minio单机版安装yaml 二 代码 1 pom xml 说明 minio所用依赖 2 application yml 说明 放置minio连接信息 mi
  • Python爬虫入门——梦开始的地方

    目录 文章目录 前言 一 前置知识 二 实现步骤 1 分析网站 2 制定爬取方案 3 实现方案 4 基础代码展示 5 代码详解 6 代码封装 总结 前言 爬虫应严格遵守国家法律规定 时隔数月 进入暑假 回忆这数月的学习内容 不禁感慨计算机的
  • jpa insert 对象_SpringBoot2.x入门:使用JPA

    前提 这篇文章是 SpringBoot2 x入门 专辑的 第9篇 文章 使用的SpringBoot版本为2 3 1 RELEASE JDK版本为1 8 这篇文章会介绍一下SpringBoot如何引入和使用JPA JPA 即Java Pers
  • 表示不变量

    不变量 产生好的ADT设计 其中最重要的一点就是它会保护 保留自己的不变量 不变量是一种属性 它在程序运行的时候总是一种状态 而不变性就是其中的一种 一旦一个不变类型的对象被创建 它总是代表一个不变的值 当一个ADT能够确保它内部的不变量恒
  • Java内存模型

    Java内存模型 处理器需要与内存交互 如读取运算数据 存储运算结果等 这个I O操作是很难消除的 无法仅靠寄存器来完成所有运算任务 由于计算机的存储设备与处理器的运算速度有几个数量级的差距 所以现代计算机系统都不得不加入一层读写速度尽可能
  • GitHub上传新手

    第一次上传 1 注册GitHub 2 新建仓库 网上有新建教程 很简单的 3 下载安装Git 一般一直下一步即可 没有特殊要求的话 网址 https gitforwindows org 4 在Git Bush中进入放项目文件的地址 如果是直
  • CentOS7上安装anaconda3及其遇到的问题

    https mirrors tuna tsinghua edu cn anaconda archive 国内镜像 下载速度快 不要选择最新版 有问题 建议 4 3 0 运行命令 conda V 返回版本号即安装成功 1 通过命令行工具 wg
  • 必须了解的mysql三大日志-binlog、redo log和undo log

    目录 一 前言 二 binlog 备份日志 1 作用 2 使用场景 3 日志形式 4 binlog刷盘时机 三 redo log 重做日志 1 概念 2 为什么需要redo log 3 日志形式 4 redo log与binlog区别 四
  • 锂电池基础知识简介

    锂离子电池已经渗透到现代生活的方方面面 它可以为生活中很多东西 如手机 手表 平板电脑 便携式设备等 提供电源 现简单概要介绍锂电池的基础知识 1 基础术语 1 C rate 倍率 指电池充放电时电流与电池标称容量的比率 即描述了电池可以在
  • FPGA Lattice Diamond 开发环境搭建

    FPGA Lattice Diamond 开发环境搭建 Lattice Diamond 软件下载 在浏览器中输入 Lattice 的官网地址 http www latticesemi com 进入官网首页在上方选择产品系列选项 出现如下图所
  • Unity学习笔记(一)—— 基础知识

    一 基础知识 1 开发团队组成 2 unity特点 图形界面 所见即所得 入门简单 支持C 比OC C 更友好 js 国内外资源丰富 因为使用的人多 跨平台性好 PC端 移动端等 对VR AR的支持最完善 3 成功案例 游戏 炉石传说 神庙