王者荣耀是怎样炼成的(二)《王者荣耀》unity安装及使用的小白零基础入门
转载请注明出处:http://www.cnblogs.com/yuxiuyan/p/7535345.html
工欲善其事,必先利其器。

上回书说到,开发游戏用到unity和C#。本篇博客将从零开始做一个unity的基础入门。\(^o^)/~
欢迎大家的斧正。一起学习一起交流(笑~)
(因为笔者也是心血来潮开这个专栏,所以和大家一样也是刚刚接触unity和C#。所以这个专栏还有记录学习历程和笔记的作用,确保大家少踩坑。haha)
下面多图预警。希望大家边看博客边动手实践一下。
目录结构
一.unity的安装
这次我使用的unity3D的版本为5.4.3f1,提供给大家一个下载器链接:链接:http://pan.baidu.com/s/1eSd9QNK 密码:hk8x
然后提供一个注册机:链接:http://pan.baidu.com/s/1o8hxp4A 密码:lxld
度娘上有很多具体的破解教程,在这里不再赘述。需要注意的是运行下载器时会让你选择需要下载的组件,可以看自己的需要。

二.unity的基础入门
在这里给大家推荐一个视频教程:www.mkcode.net,这里面的教程还是挺全的。
(一)游戏场景的基本操作

说几个概念:
场景:游戏中的一幕,举几个栗子。以下都属于场景。
,
关于一个游戏项目中各部分的关系:

每一个游戏都是一个独立的项目。创建步骤:

项目文件夹的存储目录结构:

Scene面板:场景面板,用于预览当前的场景。
Project面板:项目面板,用于管理当前项目中的所有资源。
Inspector面板:属性面板,用于查看和编辑游戏物体和资源的具体信息。
Assets:对应我们项目文件夹的Assets文件夹。
为了更好管理我们的游戏资源,我们会在Assets中建立不同的文件夹,用来存储不同的游戏资源,如建立Scenes文件夹存储游戏场景,Scripts文件夹存储游戏脚本,Textures文件夹存储贴图等。
创建最基本的3D物体
1.Hierachy面板
Hierachy:层级面板,用于显示当前场景有哪些资源。在这个面板中可以往场景中添加删除资源。
2.创建3D物体
Hierachy面板右键-->3D Object-->Cube

Scene面板基础操作



(二)游戏场景制作3D模型
尺寸

以Cube作为参照物的话,Cube是长宽高都为1米的模型。
世界坐标系

X(红色):右边 Y(绿色):上边 Z(蓝色):前边
世界坐标系可以理解为现实生活中的方向,东南西北上下。在我们的场景中世界坐标系是不会变的。
自身坐标系

X(红色):右边 Y(绿色):上边 Z(蓝色):前边
物体自身的坐标系是以物体自身作为参照,确定自身的右边,上边,前边。自身坐标系是可以变化的。
可以通过工具栏上的“local”和“global”来切换物体身上的坐标系显示效果。
世界坐标的观察模式
,,,,,
- Persp:透视模式,远大近小。
- Iso:正交模式,远近一样大。
制作3D模型的桌椅
大家可以根据上面说的改变模型的位置,旋转,缩放,创造一些基础模型,如下:

这里的桌椅全部都是Cube的变化堆砌组成的。提示几个快捷键:
Ctrl+D:可以快速复制模型。 F:快速聚焦某个物体。 工具栏对于键盘的:Q W E R T
(三)3D模型美化之材质球
材质球与贴图的概念
材质:物体的质地,物体看起来是什么做的。比如一件木质物品,它的材质就是木头。
这就是材质。
材质球:英文是Material,在unity中,物体的材质通常使用一个球状来显示。如下图。

比如最右下角的那个材质球,一看就是某个绿草地的材质。
贴图:英文是Texture,暂时可以认为是代表某种材质的图片,用于材质球的显示。举几个栗子,
这是某种木板材质的贴图。
这是某种地板瓷砖材质的贴图。
管理材质球与贴图
在上面提到的,Assets文件夹就是用来保存游戏资源的。
- 在Assets文件夹中建立“Material”文件夹,用于管理材质球。
- 在Assets文件夹中家里“Texture”文件夹,用于管理贴图。
创建材质球
大家可能会有疑问,上面的材质球和贴图是怎么创建的呢?
其实很简单,在Assets文件夹中的Material文件夹中,右键-->Create-->Material,就可以创建一个空白材质球。材质球文件的后缀是“.mat”。
这时候我们选中这个材质球,查看Inspector面板,就能看到这个材质球信息。

编辑材质球
鼠标选中需要编辑的材质球,点击属性面板的“Albedo”前的圆点,在弹出的“贴图选择界面”选择需要的材质。比如选择了之前的木板贴图:

使用材质球
可以有两种使用方式:
- 将材质球拖拽到Hierarchy面板上相应的物体上
- 将材质球拖拽到Scene面板上相应的物体上
注:还可以通过着色器(shader)来编辑材质球的效果。据说会写shader的都是高手。

最后总结一张图:

(四)3D模型重用之预制体
空物体
- 空物体就好比是资源管理器的文件夹,可以用来管理资源。
- 创建空物体很简单,在Hierarchy面板右键-->Create Empty,就完成了一个空物体。空物体虽然也有自身坐标系,但是点击Scene面板是完全看不出来的。
父子关系
- 移动父物体,子物体也会跟着移动, 就像我们移动电脑上的一个文件夹,里面的文件也会跟着移动。
- 在Hierarchy面板上,任意两个物体都可以建立父子关系。
预制体简介
预制体,英文是Prefab,顾名思义,是“预先准备好的物体”,可以重复使用和利用。

预制体有点像java中的类,通过这个类可以生成许多对象。就像鸣人的影分身,可以生成很多相同的分身。
那么在游戏中哪些地方用到了预制体呢?

比如游戏中的小(pao)兵(hui),他们长得都一样,都是使用了预制体复制出来的。
创建预制体
在Assets文件夹中建立“Prefabs”文件夹,用来存储管理预制体。
可以将Hierarchy面板中的游戏物体直接拖拽到Project面板的Prefabs文件夹中,就产生了一个预制体。预制体文件的后缀是“.prefab”。

比如我们要做一个教室模型,那么这些桌椅就可以做成预制体。需要时直接再拖拽到Hierarchy面板或者Scene面板,就产生了新的游戏物体。
为什么使用预制体呢?就跟java中为什么使用类是一样的。方便批量管理。
加入需要改变预制体,只需要在某一个预制体生成的游戏物体上做出改变,然后在Inspector面板点击“Apply”,就可以把改变传递到所有由预制体生成的游戏物体上。
(五)基本组件之摄像机
Game视图
Game视图是游戏视图,也是游戏的运行预览窗口。
点击“播放”按钮,属兔会自动切换到游戏视图进行预览;再点击一次“播放”按钮,就可以退出游戏的运行状态,回归到场景视图。
注意:游戏在运行状态时,做的任何操作都不会保留。
摄像机的简介与作用

- 摄像机(Camera)就是我们的眼睛,用来观察游戏世界。眼睛的话会有一个观察的区间,就是上图的那个锥形,叫做“视锥体”。在视锥体范围内的物体,我们都可以看到。右下角 就是摄像机的预览窗口。
- 摄像机用于在合适的位置和角度观察游戏世界。电影中的画面是由摄像机的角度和位置来决定的;我们游戏中观看到的画面也是由摄像机的角度和位置来决定的。游戏运行时看到的 画面就是摄像机拍下的画面。
摄像机基本操作
- 在Hierarchy面板选中Camera,Scene视图会出现预览窗口。
- 根据轴向移动摄像机的位置,旋转摄像机的角度。
- 菜单栏GameObject-->Align With View对齐视图。让摄像机对齐到当前视图,使得Scene与Game中观看角度和位置一致。
- 创建摄像机:Hierarchy面板右键-->Camera。
摄像机的几个常用属性
- Clear Flags[清楚标记],有两个值:Skybox,Solid Color。效果分别如下:


- Background[背景颜色],当Clear Flags为Solid Color时,场景的背景颜色。
- Projection[投影],有两个值:Perspective(透视模式),Orthographic(正交模式)。
- Clipping Planes[切割面],Near:近平面,摄像机最近看到的东西。Far:远平面,摄像机最远能看到的东西。

(六)基本组件之灯光
简介
灯光(light),用于照亮我们的游戏世界。还可以烘托场景氛围;使场景产生阴影,增加真实感和立体感。
在我们创建一个新的Scene场景时,会默认带有两个游戏物体,Camera和Light。
选中物体,在Inspector面板上图标的右侧的复选框,可以选择隐藏还是显示物体。

方向光
方向光(Directional Light),用来模拟现实生活中的自然光。
方向光任何地方都能照射到,就和太阳一样,但是要注意照射方向。

有几个常用属性
Type:用于切换灯光类型,是自然光,还是点光源,聚光灯等类型
Color:灯光颜色,常常用于烘托气氛。
Intensity:灯光的照射强度。
Shadow Type:设置方向光照射到的物体的投影效果。有三个值,No Shadow(没有阴影),Hard Shadow(阴影边缘为锯齿状的硬阴影),Soft Shadow(阴影边缘比较平滑柔和的软阴影)。
三.入门总结
在这篇博客,我们了解了unity的安装以及简单使用。涉及到了游戏场景,模型,材质球,预制体,摄像机,灯光。
这些都属于unity软件的简单使用,还没有涉及到组件和脚本,也没有开始写代码。在下一篇,我们会涉及到unity简单的组件和脚本。
王者荣耀是怎样炼成的(二)《王者荣耀》unity安装及使用的小白零基础入门的更多相关文章
- 王者荣耀是怎样炼成的(三)unity组件与脚本
转载请注明出处:http://www.cnblogs.com/yuxiuyan/p/7565345.html 上回书说到了unity的基本操作.这回我们来侃侃unity中的组件与脚本. 目录结构 一. ...
- 062 01 Android 零基础入门 01 Java基础语法 07 Java二维数组 01 二维数组应用
062 01 Android 零基础入门 01 Java基础语法 07 Java二维数组 01 二维数组应用 本文知识点:二维数组应用 二维数组的声明和创建 ? 出现空指针异常 数组的名字指向数组的第 ...
- 010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二——变量类型——即Java中的数据类型
010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变 ...
- 101 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 05 通过方法实现学生类与专业类关联——方案二
101 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 05 通过方法实现学生类与专业类关联--方案二 本文知识点:通过方法实现学生类与 ...
- 王者荣耀是怎样炼成的(一)《王者荣耀》用什么开发,游戏入门,unity3D介绍
在国内,如果你没有听说过<王者荣耀>,那你一定是古董级的人物了. <王者荣耀>(以下简称“农药”),专注于移动端(Android.IOS)的MOBA游戏.笔者看到这么火爆,就萌 ...
- 带你零基础入门redis【二】
本篇文章介绍redis如何设置开机自启动以及如何在java中应用 一.设置redis开机自启 1.修改redis配置 [root@VM_6_102_centos ~]# vim /usr/local/ ...
- 惊了!!! 小白零基础学java (月薪过万是你的梦想嘛) 手把手教学 就怕你不动手【二十五】第二章【初识MySQL】
初识MySQL1. 了解主流的数据库和数据库分类1.1 数据库概念数据库:按照数据结构来组织.存储和管理数据的一种建立在计算机存储设备上的仓库. 数据库的优势: 1. 可以持久化存储大量的数据.方便我 ...
- Linux从入门到放弃、零基础入门Linux(第三篇):在虚拟机vmware中安装linux(二)超详细手把手教你安装centos6分步图解
一.继续在vmware中安装centos6.9 本次安装是进行最小化安装,即没有图形化界面的安装,如果是新手,建议安装带图形化界面的centos, 具体参考Linux从入门到放弃.零基础入门Linux ...
- 零基础入门学习python--第二章 用Python设计第一个游戏
知识点汇总1. 什么是BIF? BIF(Built-in Functions)内置函数,共68个,可直接调用,方便程序员快速编写脚本程序.输入dir(__builtins__)即可查看所有内置函数,h ...
随机推荐
- msbuildtoolspath is not specified for the toolsversion xx
本地先是安装的vs2015,由于项目需求又安装了vs2008,在用vs2008打开.csproj工程文件,出现了上图的错误. 这一般是由于安装了vs2015和vs2008冲突产生的问题. 解决方案: ...
- php基础函数
函数四要素:返回类型(php没有返回类型), 函数名,参数列表,函数体//php定义函数的方式 简单 例://function show(){// echo "狗头铡伺候" ...
- 使用EasyWechat快速开发微信支付
前期准备: 申请微信支付后, 会收到2个参数, 商户id,和商户key.注意,这2个参数,不要和微信的参数混淆.微信参数: appid, appkey, token支付参数: merchant_id( ...
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(二)用户接口层之RtspClient类及其构造函数
RtspClient类是myRTSPClient函数库所有特性集中实现的地方. 主要为用户提供: 1. RTSP协议通信接口函数,如DoOPTIONS(): 2. RTSP账号.密码设置函数,如Set ...
- 【Spring 核心】AOP 面向切面编程
一.什么是面向切面编程? 二.通过切点来选择连接点 三.使用注解创建切面 四.在XML中声明切面 五.注入AspectJ切面
- ASP.NET CORE 2.0 不小心踩得坑
前言 我是跟着 https://github.com/FQLin/Docs 学习asp.net core 2.0 的 1.EF迁移 EF 的迁移方式有两种: Command-line interfac ...
- sequelizejs中文文档(一)
英文文档 入门 安装 Sequelize 支持 NPM 和 Yarn 的安装. // Using NPM $ npm install --save sequelize # And one of the ...
- 编译安装LAMP并实现wordpress
author:JevonWei 版权声明:原创作品 软件环境 centos7.3 apr-1.5.2.tar.bz2 apr-util-1.5.4.tar.bz2 httpd-2.4.27.tar.b ...
- Web桌面应用框架2:著名的WEB桌面应用分析
前一篇文章里,分析了包括NW.js和electron这种纯JS框架在内的几种Web桌面应用开发方式,实际上还有一种最古老的方式,那就是嵌入WebView的方式. 嵌入WebView的方式和整个程序都是 ...
- Log4j配置详解及不同的包(package)下的日志写入到不同的日志文件下
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt262 以下都是log4j.properties要写入的内容: 一:参数介绍: ...