【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 入门 - 工作区域介绍 与 入门示例的更多相关文章
- 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门演示样例
一. 工作区域具体解释 1. Scence视图 (场景设计面板) scence视图简单介绍 : 展示创建的游戏对象, 能够对全部的游戏对象进行 移动, 操作 和 放置; -- 演示样例 : 创建一个球 ...
- Unity3D 入门 - 工作区域介绍 与 入门示例
一. 工作区域详解 1. Scence视图 (场景设计面板) scence视图简介 : 展示创建的游戏对象, 可以对所有的游戏对象进行 移动, 操作 和 放置; -- 示例 : 创建一个球体, 控制摄 ...
- Unity 3D游戏开发学习路线(方法篇)
Unity 3D本来是由德国的一些苹果粉丝开发的一款游戏引擎,一直只能用于Mac平台,所以一直不被业外人士所知晓.但是后来也推出了2.5版,同时发布了PC版本,并将其发布方向拓展到手持移动设备.Uni ...
- Unity 3D游戏开发引擎:最火的插件推荐
摘要:为了帮助使用Unity引擎的开发人员制作更完美的游戏.我们精心挑选了十款相关开发插件和工具.它们是:2D Toolkit.NGUI.Playmaker.EasyTouch & EasyJ ...
- 【Unity】1.0 第1章 Unity—3D游戏开发和虚拟现实应用开发的首选
分类:Unity.C#.VS2015 创建日期:2016-03-23 一.简介 Unity是跨平台2D.3D游戏和虚拟现实高级应用程序的专业开发引擎,是由Unity Technologies公司研制的 ...
- 2.GUI控件的使用 --《UNITY 3D 游戏开发》笔记
1.Label 控件 编写脚本文件,直接绑定在main camera上 public class labelScript : MonoBehaviour { //设定一个值来接收外部赋值的字符串 pu ...
- 1.使用脚本控制模型的移动 --《Unity 3D 游戏开发》笔记
由于最新版的unity已经不支持javascript语言啦,本人又是个C#小白,所以记录一下自己写的脚本. first 创建一个模型,放在平面上,调整下角度,就像这样: 然后写一个脚本来控制模型移动: ...
- 3.GUI Skin和自定义风格的组件 --《UNITY 3D 游戏开发》笔记
自定义皮肤还是很受女孩子欢迎的吧,这样操作一下界面是不是就可以变得美美哒了~ 先pick一下测试代码: public class GUISkinScript : MonoBehaviour { //自 ...
- 《unity 3D 游戏开发 第二版》宣雨松 分享 pdf下载
链接:https://pan.baidu.com/s/1LfRTGUmaE_lGdcmd6QiZkg 提取码:e2sn
随机推荐
- 多表insert操作详解
--1.无条件的多表insert all ; ; ; --没有条件,向多个目标表全量插入,必须有all insert all --不指定emp_1后面的列,也不指定values,那么emp_1中的所有 ...
- jQuery – AJAX get() 和 post() 方法
jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据. HTTP 请求:GET vs. POST 两种在客户端和服务器端进行请求-响应的常用方 ...
- C/C++ 函数指针
函数声明 例如: float func(int, int); 以上就是一个函数的声明,要注意它的实际功能并没有被实现,换句话说就是它并没有被定义,只是声明此函数的存在.要想调用次函数,你必须对对此函数 ...
- iOS遍历数组的同时删除元素
我们在遍历可变数组时,最好不要做删除数组中元素的操作. 因为删除操作可能会引起数组容量的变化,导致数组越界等问题. 以前在使用for循环遍历的时候遇到过这个问题. 当时的做法是使用enumerateO ...
- Hive基本原理及环境搭建
今天我主要是在折腾这个Hive,早上看了一下书,最开始有点凌乱,后面慢慢地发现,hive其实挺简单的,以我的理解就是和数据库有关的东西,那这样的话对我来说就容易多啦,因为我对sql语法应该是比较熟悉了 ...
- nginx平台初识(一)
众所周知,nginx性能高,而nginx的高性能与其架构是分不开的.那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧. nginx在启动后,在unix系统中会以daemon的方式 ...
- 18 Loader代码案例
目录结构: MainActivity.java 代码: package com.qf.day18_loader_demo2; import android.app.Activity; import a ...
- wincvs的“License for this product has expired”问题解决
新入职的公司代码管理工具是CVS,使用wincvs作为客户端工具.今天发现执行login.logout.update等操作的时候总是报"License for this product ha ...
- 剑指Offer——二分查找算法
剑指Offer--二分查找算法 前言 本片博文主要讲解查找算法的相关知识.重点介绍二分查找. 二分查找算法是在有序数组中用到的较为频繁的一种查找算法,在未接触二分查找算法时,最通用的一种做法是,对数组 ...
- HTML5中 HTML表单和PHP环境搭建及与PHP交互 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博! 知识点概括:HTML表单/PHP环境搭建/表单提交数据与PHP交互 第一部分:HTML表单 <!DOCTYP ...