首页 > 代码库 > 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门示例

【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门示例



一. 工作区域详解


1. Scence视图 (场景设计面板)


scence视图简介 : 展示创建的游戏对象, 可以对所有的游戏对象进行 移动, 操作 和 放置;

-- 示例 : 创建一个球体, 控制摄像机, 让球体在摄像机拍摄的视图中显示出来;


技术分享


(1) 摄像机导航


摄像机旋转(Tumble) : alt + 鼠标左键, 摄像机会按照鼠标滚动的垂直中线进行旋转, 可以查看摄像机当前的状态, 注意只是改变视图中的状态, 摄像机还是在视图正中央位置, 摄像机的位置属性是不变的;

摄像机移动(Track) : alt + 鼠标中键, 移动摄像机到视图中的其它位置, 注意只是改变视图中的位置, 摄像机的实际坐标是不会改变的;

缩放视野(Zoom) : alt + 鼠标右键/滚轮, 缩小放大摄像机视野;

穿越模式(Flythrough) : 鼠标右键 + A/S/D/W, 第一人称模式在场景中移动, 鼠标控制前进方向, WASD控制 左 前 后 右 方向;

居中(Center) : F 键, 在 Hierarchy 面板中选中对象, 按 F 键, 即可将选中的对象居中;


(2) 摄像机视角


Persp工具 : 在场景视图的右上角有一个 Persp 工具, 可以对该工具操作 切换摄像机视角;

技术分享


顶视图 : 单击 y , 就会进入顶视图模式;

技术分享


侧视图 : 单击 z 进入侧视图;

技术分享


正视图 : 单击 x 进入正视图;

技术分享


透视视图 : y 轴在上, 使用 alt + 鼠标左键, 调整到透视视图;

技术分享



(3) 高级视图操作


在设计面板中有一个工具栏

技术分享


绘制模式 : 控制对象的绘制, 默认 Textured 模式, 使用指定的颜色 或 贴图绘制对象;

-- Wireframe 模式 : 显示对象的物理网格;

-- Tex Wire 模式 : 把对象的贴图 和 它们的线框叠加在一起;

技术分享


渲染模式 : 对对象进行微调, 优化; 

-- 默认 RGB 模式 : 带颜色的方式显示所有对象;

-- Alpha 模式 : 使用对象的 Alpha 值(灰度显示) 显示对象;

-- OverDraw 模式 : 显示场景中有多少时间消耗在重复绘制上;

-- Mipmaps 模式 : 显示对象使用的最理想的贴图大小;

技术分享


场景光照 : 切换光照方式, 方式一 使用默认的内置光照, 方式二 使用开发者设置的光照;


(4) 对象变换 (Object Transform)


对象变换 : 处理选中对象的位置, 旋转 和 大小, 主要有以下两种修改方式;

-- 属性查看器修改 : 在 Inspector 视图中输入新的属性值, 可以进行变换;

-- 变换工具修改 : 通过变换工具;


通过属性查看器修改 : 选中 Camera, 可以在 Inspector 视图中查看 Camera 属性, 其中的 Transform 属性就是摄像机的 位置, 旋转 和 缩放属性;

技术分享



改变位置

-- 通过拖动属性坐标轴修改(位置改变) : 选中 Camera 对象之后, 在Scence 视图中Camera 会出现三个坐标轴, 可以使用鼠标拖动 Camera 沿着某一条坐标轴移动;

技术分享


-- 自由拖动对象(位置改变) : 点击 对象 的 中心位置, 可以自由拖动, 但是不精确;


旋转 : 选中 对象, 按 E 键, 或者点击工具栏的旋转图标, 使用鼠标拖动即可进行旋转操作;

技术分享技术分享


缩放 : 选中物体, 按 R 键, 或者 点击工具栏的 缩放工具, 使用鼠标拖动坐标轴 即可 在这个坐标轴方向进行缩放;

技术分享技术分享



2. Game视图 (游戏预览面板)


Game视图 : 显示摄像机拍摄的内容, 是摄像机朝向的内容;

技术分享


播放控件

技术分享

-- 运行游戏 : 激活预览面板, 开始游戏;

-- 暂停游戏 : 使运行中的游戏暂停, 再次点击该按钮 从 暂停处继续运行;

-- 单帧运行 : 游戏 一帧 一帧 的移动, 主要用于调试bug, 错误等;


游戏预览面板控制栏

技术分享

-- Aspect (任意显示比例下拉列表) : 改变 Scence 视图的显示比例, 默认为任意比例显示, 在为不通大小的界面制作游戏时使用;

技术分享

-- Maximize on Play(最大化) : 将Scence 视图扩大到整个视图中;

-- Gizmos 工具 : 切换游戏中 绘制 和 渲染 的所有工具;

技术分享



3. Hierarchy 视图 (游戏组成对象列表)


Hierarchy视图 : 存放游戏对象 和 文件;

技术分享


创建对象 : 点击 create 按钮可以创建 游戏场景内的 物体对象;

删除对象 : 选中对象之后 按 Delete 键, 即可删除对象;


对象的父子关系 : 父子关系就是将无关对象建立分组, 位于一个单一的对象之下, 父对象包括的对象叫做 孩子对象;

技术分享

-- 作用 : 对父对象进行移动 缩放 旋转操作, 其下的孩子对象也进行同样的操作;


添加光照 : 球体创建好后, 在Game视图中却只能看到 一个圆, 这是因为我们没有创建 光照;

-- 创建定向光 : 选择 create 创建对象, 创建 Directional Light 之后, 之后可以看到 Game 中的 3D 效果;

技术分享

-- Game效果

技术分享




4. Project视图 (项目资源列表)


Project视图 : 存放一些游戏资源 (脚本, 对象, 场景, 文件等),;

-- Assets目录 : 开发者创建 和 导入的资源 都放在该目录下, 包括 贴图, 脚本 Camera 等;


给游戏中的对象涂装 : 给游戏对象改变颜色, 可以在Project视图中创建一个材质, 然后将材质赋给对象;
-- 创建材质 : 点击 Project 视图的 create 按钮, 选择材质;

技术分享

-- 给材质选择颜色 : 在 Assets 中选中刚创建的材质;

技术分享

-- 选择颜色 : 这时 Inspector 视图中会出现材质的属性, 点击 Main Color 按钮, 可以选择材质的颜色;

技术分享      技术分享

-- 为将材质赋给对象 : 直接将 Assets 中的材质 拖拽到 Hierarchy 视图中的对象上即可, 效果如下 : 

技术分享




5. Inspector 视图 (属性查看器)


在这个视图中可以修改Game视图的颜色, 以及Scence 视图的属性;


设置Game视图的颜色 : 选中摄像机, 然后在 Inspector 视图中会出现下面的内容, 点击Background 会出现 右图;

技术分享     技术分享

改变后的效果 : 

技术分享



Transform属性 : 选中球体, 在 Inspector 视图中会看到以下信息;

-- Position : 选中物体的位置坐标;

-- Rotation : 选中物体的角度;

-- Scale : 选中物体的缩放大小;

技术分享



二. 入门示例一 - 第 一/三 人称控制游戏


1. 制作地形


(1) 引入地形 


Project 视图中, 右键点击 Assets, 选择 Import Package --> Terrain Assets (地形), 下面是 引入的地形资源;

技术分享


(2) 移动摄像机到正常位置


技术分享


(3) 编辑地形


在 Hierarchy 视图中选中 Terrain 地形, 在 Inspector 中可以对地形进行操作;


地形隆起操作 : 点击刷子, 在地形上进行操作;

技术分享


技术分享

让地形变得圆滑 : 上图中 红框中的 山地比较尖锐, 使用 第三个工具可以使地形变得圆滑;

技术分享

-- 圆滑效果

技术分享



(4) 移动摄像机到合适的位置


移动摄像机 : 点击 Hierarchy 视图中的 Main Camera 对象, 调整摄像机的位置, 使摄像机能够完整的拍摄地形;

技术分享


摄像机拍摄的地形效果

技术分享



(5) 为场景贴图


导入场景贴图 : 在 Project 视图中, 右键点击 Assets, 选择 Import Package --> Terrain Assets, 下面是导入的地形纹理;

技术分享


为地形添加纹理 : 在Hierarchy 视图中选中 Terrain(地形) 对象, 在 Inspector 视图中会显示 地形的属性;

-- 点击 Inspector 视图中的 Edit Textures, 选择 Add Texture, 在弹出的 Add Terrain Texture 对话框中选择对应的贴图;技术分享     技术分享


纹理贴图效果

技术分享



(6) 添加天空盒


在上图中没有天空, 不是很美观;


配置天空盒 : 选择菜单栏 Edit --> Render Settings --> Inspector视图 --> skybox material;

技术分享


选择天空盒 : 在弹出的 Select Material 对话框中选择天空盒;

技术分享


最终效果

技术分享



2. 第一人称控制


(1) 导入角色控制包


右键点击 Project 视图中的 Assets, 选择 Import Package --> Character Controller, 全部导入;

技术分享



(2) 在 Scence 视图添加第一人称控制


删除摄像机 : 摄像机需要删除, 因为第一人称视角就是摄像机, 如果有摄像机的话就不会出现第一人称视角了, 这里将摄像机在 Scence 视图中删除;


设置第一人称控制 : 将第一人称控制拖拽到 Scence 视图中, 调整坐标, 注意 y 轴坐标必须大于0, 也就是必须在地平面以上, 否则会掉下去;

技术分享


技术分享


游戏效果 : 进入 Game 视图, 可以进行游戏体验, 与 CS 差不多, 可以跳跃, 行走, 鼠标控制方向;

技术分享

技术分享



3. 第三人称控制 


将第三人称角色拖拽到 Hierarchy 视图中 : 在 Scence 视图中调整 角色位置;

技术分享


选择摄像机

技术分享


效果

技术分享



三. 入门示例二 - 篮球场景



1. 创建篮球场


(1) 创建长方体


创建过程 : GameObject --> Create Other --> Cube, 创建长方体;

技术分享


查看自己创建的长方体 : 在 Hierarchy 视图中, 双击刚才创建的 Cube 长方体, 就可以在 Scence视图中定位到这个 Cube上; 

技术分享


(2) 调整 Cube 大小


将Cube调整成篮球场比例的大小 : 根据下面截图进行调整;

技术分享


(3) 为篮球场添加纹理


导入纹理图片 : 选择菜单栏 Assets --> Import New Assets, 在弹出的对话框中选择要导入的纹理资源图片;

技术分享 技术分享


创建新的纹理 : 在 Project 视图中, 选择 create 创建一个新的纹理;

技术分享


为篮球场添加纹理

-- 显示属性 : 在 Hierarchy 视图中选择 Cube; 

-- 选择材料 : 在 Inspector 视图中的 Materials 中选择之前创建的纹理; 

-- 选择纹理 : 然后在 下面的 纹理属性中选择 刚才的篮球场 纹理贴图图片;

技术分享



2. 创建篮球


(1) 创建球体


创建过程 : 菜单栏 GameObject --> Create Other --> Sphere (球体);

技术分享


调整大小位置姿态 : 按照下图中的数据进行调整;

技术分享


(2) 为篮球添加纹理


添加纹理过程

-- 创建一个新的材料 : 在 Project 视图中, 选择 create --> Materal;

-- 显示属性 : 在 Hierarchy 视图中, 点击 Sphere 对象, 在 Inspector 视图中显示出 球体的属性;

-- 选择材料 : 点击 Inspector 视图中的 Material 中的圆点, 选择刚创建的材料;

技术分享

-- 选择纹理 : 点击 材料中的 纹理图片上的 Select 按钮, 弹出对话框选择纹理;

技术分享


篮球对象已添加完毕

技术分享



3. 添加光源和摄像机


(1) 创建光源


创建过程 : 选择 菜单栏 GameObject --> Create Other --> Directional light (平行光);

技术分享


(2) 调整光源姿态和强度


根据下图中的参数调整

技术分享


(3) 调整摄像机参数


调整摄像机参数, 背景颜色, 视角大小

技术分享


4. 为篮球添加动作


(1) 导入材料包


导入材料包 : 菜单栏 Assets --> Import Package --> Physic Materials;

技术分享


(2) 为篮球添加刚体属性


添加过程 : 在 Hierarchy 视图中选中篮球, 然后选择 菜单栏 Component --> Physic --> Rigidbody;

技术分享


(3) 为篮球添加球体碰撞者


添加过程 : 在 Hierarchy 视图中选中球体, 选择菜单栏 Component --> Physic --> Sphere Collider;

技术分享


(4) 为篮球添加弹性属性


添加过程 : 选择 球体属性的 Sphere Collider属性, 选择材料 Material --> Bouncy (弹性);

技术分享


5. 运行示例


点击Game视图中的运行按钮

技术分享

.


【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门示例