搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
笔触狂放9
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
部署Docker私有镜像仓库Harbor
2
Linux宝塔详细使用教程_宝塔如何找ssh文件
3
zabbix交换机监控_zabbix监控交换机
4
起手牌_德州入池手牌一览表
5
SpringCloud-Nacos注册中心
6
面试官给我挖坑:单台服务器并发TCP连接数到底可以有多少 ?_单台负载机 能发起多少并发
7
已将虚拟机配置为64位客户机操作系统。但是无法执行64位操作。此主机支持IntelVt-x 出于禁用状态.........................._已将该虚拟机配置为使用 64 位客户机操作系统。但是,无法执行 64 位操作。 此主机
8
django基于MVVM架构家政服务平台(程序+开题报告)
9
r410面板报错erro1_硬件运维:使用IPMITOOL解决服务器底层维护难题
10
华为软件编程规范和范例 7 —— 代码编辑、编译、审查和代码测试、维护以及宏_华为无代码编辑
当前位置:
article
> 正文
Unity基础学习之Unity引擎学习(一)
作者:笔触狂放9 | 2024-02-18 09:09:14
赞
踩
unity引擎
Unity
引擎基础
1. Unity简介
2. 游戏组成
3. Unity面板介绍
3.1 Hierarchy(层级面板)
3.2 Scene(场景面板)
3.3 Game(游戏面板)
3.4 Inspector(监视器面板)
3.5 Project(工程面板)
3.6 Console(控制台面板)
4. 地形系统(Terrain)
5. 一些3D模型中会用到的基础理论
5.1 物体中心的概念
5.2 坐标系(笛卡尔坐标系)的概念
5.3 向量和标量的概念
5.4 旋转的概念
5.5 网格的概念(模型形状)
5.6 材质的概念
1. Unity简介
简单介绍:
Unity提供Manual(引擎说明书)和Scripting API(代码,类和方法可以在这里查)两个文档,开发人员可以阅读这两个文档来了解Unity开发
2. 游戏组成
一个游戏由多个
场景
构成,场景又分为2D界面和3D场景
在Unity中,界面和场景都称为场景,场景和场景之间可以相互切换
场景中包含很多个
游戏对象
,游戏对象有:
2D图片与文字
3D模型(包含动画)与特效
游戏对象具有的特性:
所有游戏对象都是一样的(
游戏对象就是一个外壳
)
游戏对象上挂载的组件不同,挂载的组件属性不同,导致游戏对象的功能不同(
功能由组件完成
)
游戏对象包含各种
组件
,下面罗列几种组件:
灯光组件(发光)
声音组件(背景音乐)
视频组件
图片组件(显示图片)
模型显示组件(渲染组件)
特效组件
导航组件
物理组件
UI组件
脚本组件(自己写的功能)
组件就是一个
对象
,对象中包含各种
属性
组件名——类名
一个类包含成员字段、成员属性、成员方法
一个游戏总共分成四个部分,总结如下:
一个游戏由多个场景组成,场景有2D场景和3D场景之分
一个场景由对个游戏对象组成
一个游戏对象由多个组件组成
一个组件由多个属性组成
3. Unity面板介绍
Layout:窗口布局样式
带Unity图标的表示场景
3.1
Hierarchy
(层级面板)
功能:
显示当前场景中的所有游戏对象的名字
描述游戏对象与游戏对象之间的层级关系(父子级关系)
可以拖动游戏对象以形成层级
3.2 Scene(场景面板)
功能:
显示当前场景中的所有游戏对象的模型/图标
提供场景和游戏对象的基本操作
在面板右上角存在坐标系,可以调整场景视角
场景操作:
Q键:场景移动
Alt+鼠标左键:旋转场景视角,围绕
场景中心点
旋转视角
鼠标右键:旋转场景视角,围绕
当前观察者
(鼠标位置)旋转视角
鼠标滚轮:拉近拉远场景
F键:聚焦对象
鼠标右键+WASD:场景漫游
Shift+Ctrl+F:游戏界面同步场景界面(用在摄像机上)
在场景中选择好合适的视角
选中摄像机对象
同步视角
,按下快捷键或者GameObject菜单栏下的Align With View
游戏对象操作:
W键:对象移动
E键:对象旋转
R键:对象缩放
摄像机具有两个模式:透视模式(Perspective)和正交模式(Orthographic,一般2D会用到)
搭建场景的时候,为了模型放置精准,可以按下面的顺序进行操作模型:
模型先通过QWER设置好一个大概的位置旋转缩放
通过模型在Inspector上的Transform组件里的position、rotation、scale去做微调,最好保持数值是一个整数或保留一位到两位小数
放置模型,还可以采用
位置贴边
方式:
调节物体位置时,可以按住V键,让当前模型的某个顶点与另一个模型的某个顶点重合,实现贴边
原理:
一个物体存在多个顶点,每三个顶点可构成一个三角形,多个三角形形成一个模型
V键可以让坐标系移动到模型顶点位置
两个模型之间顶点和顶点重合,可以产生贴边效果
当要创建一个复杂物体时,可以按照下面的步骤来创建:
先创建一个
空对象
,作为父物体,创建好后,先Reset重置空对象Transform组件中的属性
再去创建物体需要的源部件,作为子物体
3.3 Game(游戏面板)
功能:
显示玩家所看到的画面
开发中需要重点关注的视角
调试和测试都需要看这个面板上的信息
通过调整
摄像机
来调整完整能看到的视角
手机游戏/电脑游戏中,玩家所能看到的画面会显示在屏幕(2D)上
VR(眼镜曲面屏)/AR中,主要是通过光学原理,让玩家产生视角错觉,在屏幕上所能看到的2D画面转变成3D画面
在这个面板上,存在一个尺寸调整条,可以放大缩小所看到的画面
游戏运行的
状态信息
(运行时占CPU大小,占多少内存,当前帧速率是多少等)可以在面板的右上角
Stats
中查看,用于后期的游戏
调试
3.4 Inspector(监视器面板)
功能:
主要用来监视游戏对象
重点监视游戏对象上挂载的
组件
,可以在这个面板添加新组件
监视游戏对象的
基本信息
(对象名字、是否静态、有哪些标签、属于哪一层级、激活状态)
监视文件信息(材质文件等)
监视工程设置
3.5 Project(工程面板)
功能:
显示当前工程的所有
资源文件
根目录是Assets
一个工程下有5个基础文件夹:
Assets:放置资源文件
Library:放置库文件(自动生成)
ProjectSettings:放置工程设置文件
Temp:放置临时文件
Package(UnityPackageManager):Unity包管理器
3.6 Console(控制台面板)
功能:(显示控制台信息)
显示日志信息
显示警告信息
显示报错信息
4. 地形系统(Terrain)
Unity提供的一个地形组件
一个游戏场景空间,采用地形+模型的方式搭建
创建地形系统:
GameObject——>3DObject——>Terrain
创建完成后,在Hierarchy面板中出现相应游戏对象,Project面板中出现地形系统文件(存储地形信息)
初始坐标中心位于左下角(x轴表左右,y轴表上下,z轴表前后)
编辑地形
抬高/降低地形平面(可选择不同笔刷形成不同地形样式)
Brush Size:笔刷大小
Opacity:笔刷硬度,值大小表示抬高/降低地形
速度
平滑地形
凹陷地形(可制作平台)
在Unity2020版本中,选择设置高度后,Space处要选择
Local
才可以在一定高度地形上设置平台
整体设置中可以调整地形大小、高度等
高度限制抬高地形最高点
按住shift键,做相反操作
搭建地形时,要注意,第一个物体的坐标尤为关键,关系到地形上放置模型的坐标值计算是否方便
能放在原点,尽量放在原点位置
不能放在原点,尽量保持坐标是一个整数,或保留一位小数
5. 一些3D模型中会用到的基础理论
5.1 物体中心的概念
Pivot(模型设计师设计的)
单个物体:显示物体出产中心
多个物体:显示当前这个物体的中心
Center(对象边界框的中心点)
Unity物理计算中心
通过快捷键
Z
切换两个中心点
物体中心点的选择不同会影响到旋转效果不同
5.2 坐标系(
笛卡尔坐标系
)的概念
2D笛卡尔(XY轴可以定一个平面上物体位置)
3D笛卡尔
左手坐标系——计算机、Unity中使用
掌心向外, 大拇指与食指成90度
X轴向右,Y轴向上,Z轴向前
右手坐标系——一般在数学中使用
掌心向内, 大拇指与食指成90度
Z轴与左手坐标系相反,指向“自己”
Unity坐标系
世界坐标方位
世界的
东南西北
永远不会改变
本地坐标方位
物体的
前后左右
会随时发生改变,例如,旋转物体时,物体的本地坐标也会跟着旋转
用快捷键
X
切换两个坐标,即切换方位(世界方位/自身方位)
5.3 向量和标量的概念
标量:有大小无方向
向量:有大小有方向(Unity中常用)
计算两点之间形成的向量:终点坐标-起点坐标
向量加法:首尾相连,一个向量起点指向另一个向量终点
向量减法:起点相连,减数终点指向被减数终点(被减数-减数=差)
向量点积:
结果是一个标量
根据点乘结果来判断两个游戏对象之间的方位关系
通常用于
判断敌人在前还是在后
向量叉乘 :(利用UnityAPI中的
Cross
函数即可得到计算结果)
结果是一个向量(法向量,垂直于两个向量平面),左手坐标系计算
法向量指向上方,表示b向量指向a向量右边;指向下方,则相反
通常用于
判断敌人在左还是在右
5.4 旋转的概念
欧拉角(EularAngle):——结构体
物体绕XYZ轴(世界的)旋转的角度
优点:好理解,好操作
缺点:容易出现多个欧拉角的值表示一个旋转
四元数:(用得较多,较精准)——类
由XYZW四个值组成,由一堆算法算出来
优点:避免
万向锁
(同一个旋转角度,欧拉角描述会有不同的值出现)问题
缺点:不好理解,不好操作
5.5 网格的概念(模型形状)
用一堆
三角形
组成
模型分为粗模(低模)和细模(高模)两种
模型纹理:网格贴图(将2D贴图上的
像素
点对应到3D模型中粘贴)
会用到组件有
Mesh Filter
(网格选择器)和
Mesh Renderer
(网格渲染器)
5.6 材质的概念
用于渲染网格的文件
用
Shader
(着色器)来编程实现(渲染方案)
控制材质球如何渲染的脚本
使用
CG
语言
可以编辑特效等
需要物理中的光学知识和线性代数中的矩阵知识
帧速率(FPS)的概念
每秒刷新多少次数
作用:
FPS越高,播放越流畅,性能消耗越大
FPS越低,播放越不流畅,性能消耗越小
人眼分别的帧数是每秒24帧
通过Game面板中的Stats来了解游戏的帧速率
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/笔触狂放9/article/detail/106868
推荐阅读
article
(五)
unity
shader
基础之——————学习
shader
所需
的
数学基础:下篇(
坐标
空间
:
模型
...
一
、
坐标
空间
上篇文章讲述了如何使用矩阵来表示基本
的
变换
,如平移
、
旋转和缩放,在本节我们将关注如何使用这些
变换
来对
坐标
空间
...
赞
踩
article
Unity
UI
Toolkit
学习笔记-
EditorWindow
_
unity
editorwind...
使用
UI
Toolkit
制作
EditorWindow
_
unity
editorwindow
停靠
unity
editorwi...
赞
踩
article
Unity
UI
-- (3)管理
屏幕
大小
和
锚点
_
unity
中打开网页,并且控制网页
大小
...
为何我们需要
锚点
?现在我们已经将设置按钮放到了
屏幕
的某个角落了。一切看起来似乎很美好,但如果我们移动游戏视图窗口的边界,...
赞
踩
article
Unity
Editor
基础篇(三):
自定义
窗口
Editor
Window_selectiongr...
本文参自:http://mp.weixin.qq.com/s/tMSAIND4Pq0farn2jY8rwg本文为本人学习...
赞
踩
article
Unity
EditorWindow
使用案例...
Unity
EditorWindow
学习笔记了解
EditorWindow
的生命周期:OnEnable():当打开界面的时候...
赞
踩
article
【
Unity
WEBGL
】
WEBGL
发布
后运行时窗口自
适应
浏览器
大小(网页内全屏)_
unity
we...
按照默认设置,
发布
webgl
后,代码如下(
发布
好的文件,根目录index.html文件)<...
赞
踩
article
Unity
编辑器
扩展(一) ——
自定义
Unity
面板
_
unity
在
面板
上设置
自定义
结构...
Unity
编辑器
扩展(一) ——
自定义
Unity
面板
自定义
Menu菜单MenuItem 特性MenuItem 属性可...
赞
踩
article
Unity
:
WebGL
发布后在
浏览器
上运行时窗口大小自适应
_
unity
webgl
适配网页...
unity
webgl
在
浏览器
上自适应
浏览器
窗口大小
_
unity
webgl
适配网页
unity
webgl
适配网页 ...
赞
踩
article
Unity
编辑器开发实战【
Editor
Window
】-
Filter
物体筛选工具_
unity
...
Unity
开发工作中,在Hierarchy窗口搜索栏可以通过物体名称或组件名称对场景中的物体进行搜索,但是并不能满足我们...
赞
踩
article
Unity
工具之
UniWebView
内嵌
网页
/
浏览器
到应用中,
并且
根据
UGUI
大小
放置(简单适...
Unity
工具之
UniWebView
内嵌
网页
/
浏览器
到应用中,
并且
根据
UGUI
大小
放置(简单
适配
UGUI
)目录Un...
赞
踩
article
Unity
编辑器
开发实战【
Editor
Window
】- 构建公司
内
部的PackageManage...
Unity
中的资源包管理器Package Manager为我们提供了模块、工具包的集中管理功能,可在其中下载、升级相应的...
赞
踩
article
Unity
Editor
知识点整理(创建 自定义编辑器窗体 二)_
unity
editor
一秒一...
常用的
Editor
Window 消息方法 //在我们对象被选中的时候调用的,常常用于一些初始化的代码 private v...
赞
踩
article
Unity
代码
设置
UI
尺寸
的一种方法_
unity
设置
ui
大小...
计算
设置
sizeDelta
设置
UI
尺寸
_
unity
设置
ui
大小
unity
设置
ui
大小 ...
赞
踩
article
Unity
---
UGUI
---
Rect
Transform
(矩形变换)
---
锚点
及其相关...
a.
锚点
左右分离
---
此时Pos X 失去意义,被Left和Right取代
---
Left的数值是UI物体的左边框...
赞
踩
article
unity
webgl
自适应
网页
尺寸
_
unity
网页
端
尺寸
...
我使用的是
unity
2019.4 LTS版一共有两步1 在Index.html中修改2 修改css 的内容 位置在打包...
赞
踩
article
Unity
UI
锚点
和
位置
关系
_
unity
锚点
代码怎么改成最左侧...
一、Anchors
锚点
Anchors的设置会直接改变RectTransform中它的
位置
信息;Anchors设置中的X ...
赞
踩
article
Unity
Windows
选择图片并加载_
unity
editorwindow
中
如何加载图集
中
的子...
1.找到System.
Windows
.Forms.dll,并放在project
中
的Plugins文件夹下。 “”_uni...
赞
踩
article
【
Unity
】PC端:
缩放
、
移动
画面_
unity
exe
如何
像
编辑器
游戏面板一样 拉伸
的
时候等比缩...
本文章内容适用于PC端UCUI,通过鼠标
移动
与滑动滚轮,进行正交摄
像
机
的
移动
与
缩放
。_
unity
exe
如何
像
编辑器
游...
赞
踩
article
Unity
EditorWindow
---扩展自定义编辑器
窗口
_
unity
editorwindow
...
一、
EditorWindow
类属性及函数首先提供官方参考文档:API-Reference-
EditorWindow
概述:...
赞
踩
article
Unity
win
平台 调整
窗口
大小强制固定比例_
unity
unity
游戏
窗口
的
长宽
比...
我写了一个脚本,对独立的Windows版本(仅Windows,32/64位)强制执行任意宽高比。它通过拦截
窗口
调整大小事...
赞
踩
相关标签
unity shader
游戏开发
坐标空间
顶点变换
shader数学基础
unity
UI Toolkit
EditorWindow
ui
锚点
Anchor
Pivot
编辑器
Unity
WEBGL
自适应浏览器
前端
web
html
Editor Window
Hierarchy
Filter