csdn_export_md

Unity入门知识0


1、编辑器界面


在这里使用的是Unity 2019.4.13flc1 长期稳定支持版,目前学习的是2D的开发
csdn_export_md


打开编辑器后界面如下:
csdn_export_md


首先了解一下整个编辑器的大体布局

了解几个窗口/面板
Project 项目面板 :项目内的资源文件
Scene 场景视图:以可视化的形式展示游戏内容
Game 游戏视图:对游戏进行播放预览
Hierarchy 层级面板:以树状形式显示游戏中的对象
Inspector 属性面板:显示资源和游戏对象的属性
Console 控制台: 用于游戏代码的打印输出调试

面板的几个操作:
1 可以拖拽一个面板,自定义布局
2 可以关闭一个面板
3 恢复默认布局: Window | Layout | Default

如果布局乱了,恢复一下就行  Window | Layout | Default

2、具体模块的使用入门


0)添加资源

资源 Asset,指游戏里用到的素材、脚本等数据文件

比如,常用的几种类型:
Texture 图片素材  ( *.jpg /  *.png)
AudioClip 音频素材 ( *.mp3)
C# Script 程序脚本 ( *.cs)

这些都放在Project 项目面板中的Asset文件夹中,建议不同类型的素材分开文件夹分类存放
csdn_export_md


1)场景Sence

场景 Scene ,就是一个游戏里的场景 / 关卡
当创建项目时,默认地会创建一个场景
在 Project 窗口,
  打开 Assets / Scenes 目录,有一个 SampleScene
在 Project 窗口,右键 Create | Scene ,添加一个新场景
名字一般为英文,但是也可以用中文

如下为编辑器中的场景视图
csdn_export_md

场景中的几个操作
- 鼠标滚轮 :放大/缩小视图
- 鼠标右键拖拽:平移视图

场景编辑器中,能看到什么?
1 网格,每一格大小为1 Unit  (对应屏幕上的100像素)
2 世界坐标系
    y轴向上为正
    x轴向右为正
3 主摄像机 Main Camera:表示摄像机的可视范围

2)游戏对象 GameObject


游戏对象 Game Object,就是场景中包含的内容

如何添加游戏对象?
添加图片素材直接拖入即可
向Scene窗口里添加几个图片
1 准备图片素材
2 把图片拖到 Scene窗口,或者Hierarchy窗口
3 在Hierarchy窗口中,观察新加的2个游戏对象

当然也可以如下图在一个场景中去新建各种类型的对象
csdn_export_md
下面介绍对于游戏对象的操作:


a) 普通游戏对象

csdn_export_md

1 选中游戏对象
	从左侧的层次管理器中选中游戏对象
2 游戏对象的操作:
	移动 ,改变 Position 	
	旋转 ,改变 Rotation(在2D游戏中的旋转,指的是对Z轴的旋转)
	缩放 ,改变 Scale
3 修改对象名字
	在层级管理器(Hierarchy)中,可以修改名字、删除对象等操作
4 显示 / 隐藏
	在 Inspector 里,勾选 Active 复选框

在编辑器的左上方,有一系列的工具
从左到右依次为:
移动场景/移动游戏对象/旋转游戏对象/改变游戏对象大小/矩形选择框/综合工具/自定义编辑
csdn_export_md
当然他们对应着右侧 Inspector 属性面板 中的各种参数,可以在这里进行更精确的调整
csdn_export_md
同时要知道Unity中的坐标轴:
csdn_export_md
在2D游戏中,对象都是在一个平面,那么怎么去设定对象的显示顺序(谁在上谁在下)呢?
方法如下:

办法1 :修改 Order In Layer   ( 推荐 )
办法2 :修改 Z 坐标  (即使是2D也是有Z轴的,方向参照如上)

注意:

1 即使一个对象被遮住,也是可以操作的
2 Hierarchy窗口中的先后顺序,并不能决定显示顺序

每个游戏对象都是有轴心(Pivot)的,他是对象旋转轴、坐标基准点,默认位于几何中心

轴心的作用:
1 坐标基准
	当设置对象的坐标时,实际指的是轴心点的位置
2 旋转轴
	当旋转对象时,是以 Pivot 为轴心来计算的

当然我们是可以去修改对象的轴心的

在准备素材时,可以设定其 Pivot 的位置
演示:
1 选中一个图片素材
2 在 Inspector 窗口中,点 Sprite Editor ,打开一个图形编辑器
3 在 Sprite编辑器的右下角面板里,设定 Pivot位置
4 在 Sprite编辑器的右上角,点 Apply 保存设置

图文步骤如下:
首先在Asset中选中该素材
csdn_export_md
然后点击Inspector中的 Sprite Editor
csdn_export_md
在这里更改完轴心后点击Apply即可
csdn_export_md
Sprite Editor 还有更多妙用,后面会有介绍

同程序一样,对象之间也有 父子关系

在层级树中,对象 (节点) 呈树形显示
一个节点下面,也可以下挂子节点

例如下面这个图片,22和小电视,以及脚下的影子应该是一个整体,那么怎么让他们成为一个整体对象呢?答案是给他们构建一个父子关系,例如22是父类,小电视和影子是他的子类

csdn_export_md

演示:
1 添加三个对象 :边框、22娘、小电视
2 拖拽一个对象到另一个对象,成为子对象 (子节点)
3 移动父对象、旋转父对象,观察。。

可以发现,当父对象移动时,子对象随之移动

子对象的坐标轴,是相对于父对象的(相对坐标)
1 移动父对象时,子对象的 Position 不发生变化
2 旋转父对象时,子对象的 Rotation 不发生变化

关于父子关系的实质其实是他们的Transform组件完成了一个父子关系,后面会讲。

说了这么多,我们需要的图片素材哪里来?

素材从哪里来?
	在学习阶段,可以百度或者从一些资源网站获取
	在正式工作时,会有专门的美术人员提供

素材的要求:

2D 图片的要求:
1 背景图片,一般为 JPG
2 人物、道具等其他图片,一般为PNG ,背景透明

可以通过PS软件达到效果

如果一张图里有多个需要的素材,则需要进行图片的切割

1 选中图片素材

2 在 Inspector 中 Sprite Mode : 设为 Multiple
csdn_export_md
3 点击打开 Sprite Editor
在 Sprite Editor 中点 Slice 菜单,再点右下的 Slice 按钮,则自动执行切割。
然后点 Apply ,保存操作。
csdn_export_md
4 在 Project Window可以看到图片中包含3个Sprite精灵,每一个Sprite都可以单独使用
csdn_export_md

图片与渲染器

两个术语:
Sprite 精灵,游戏开发中指一张图片
Sprite Renderer 图片渲染器,用于显示一个Sprite

csdn_export_md

Sprite Renderer ,是一种组件 Component
组件表示一种功能,而 Sprite Renderer的功能就是显示图片

组件

组件 Component ,用于实现一种功能
例如,Sprite Renderer 组件,用于图片的显示

组件是非常重要的,游戏的运行就依靠着各种组件

先创建对象,再选择需要的组件
演示:
1 添加一个空对象 ,  Game Object | Create Empty
2 挂载 SpriteRenderer 组件,  Add Component
3 指定要显示的 Sprite 图片
4 移除 SpriteRenderer 组件 … Remove

组件是可选的,可以添加、可以删除

当然,在上面学到的Transform组件也是最基础最重要的
Transform ,一个基本组件
表示:
 - Position 位置
 - Rotation 旋转
 - Scale 缩放
每个 GameObject ,都必须有一个 Transform 组件
在后面的脚本编程中,Transform组件是最常用的

b) Main Camera

在新建一个项目的时候,会默认有一个 Main Camera(主摄像机)的对象
他表示了能够观察到的范围,在Main Camera 的框框范围内的东西是可以被看到的,外面的则不行
如下,人物22在Main Camera框内,是可以被观察到的,然而黄色的勋章则不行,但是不代表他不存在!
就相当于人的视角,在视野内的和不在视野内的东西

csdn_export_md
Main Camera的一些参数

摄像机的几个参数:
	Z 坐标,默认-10 ,不用修改
	Background ,默认蓝色,游戏运行时的背景色
	Size 广角,指摄像范围,默认5个单位
     	其中,5 Unit 为半高,全高为 5 * 2 = 10 Unit

长度比:长宽比由 Game窗口中的显示 Display 决定
比如
	设为 Free Aspect 
	设为 16:9
即,摄像机的高度由 Size 决定,而宽度是不确定的(根据长宽比)	
要点与细节
在准备背景图片时
1 摄像机  Size = 5
	图片高度:  10 Unit  * 100 = 1000 px
	图片宽度:  按 16:9 准备,最好更宽一些,以覆盖更宽屏幕
2 摄像机 Size = 3.6
	图片高度: 7.2 Unit *100 = 720 px
	图片宽度: 应比 1280 略大一些,以覆盖更宽屏幕

上一篇:css 精灵图


下一篇:Java 2D游戏编程 – 新手问题