王者荣耀是怎样炼成的(二)《王者荣耀》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 ...
随机推荐
- 禁止将http请求强制转换为https请求
近期遇到一个问题,在谷歌浏览器里发起的http请求都会被转化为https请求,但在safari里面不会被转化,所以暂时只能用Safari浏览器进行调试,后来还查看了为什么http被强制转化为https ...
- es6五种遍历对象属性的方法 - 表格整理
ES6 一共有5种方法可以遍历对象的属性. (1)for...in for...in循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性). (2)Object.keys(obj) Obje ...
- 运维之linux基础知识(一)
运维之linux基础知识(一) 1.GUI:Graphic User Interface 图形用户界面 2.CLI:Command line Interface 命令行界面 3 dll:Dynamic ...
- CNAME关联githubPage域名及中文域名,创建个人网站
对于前端开发来说,部署一个自己的个人网站部署服务器等比较麻烦,如果只是做静态页面的展示GitHubPage完全够用,而且有300M免费的空间,完全满足需求. 首先你要有GitHubPage项目,具体怎 ...
- Sublime Text 2安装图解
Sublime Text 2安装图解.. ---------------- ---------------- ---------------- ---------------- ----------- ...
- android studio 2.3 编译动态库
工作需要编译android下的动态库,本以为是一件简单的事,没想到因为工具,以及google本身被墙的原因,折腾了好久. 在windows外的平台搞事情,寿命都得缩短. 一种方案是用eclipse+n ...
- 安装node/npm/webpack步骤
nodejs软件的下载地址:https://nodejs.org/en/ 1.只要安装好了nodejs,就自动安装好了npm包. 2.在cmd中通过命令node -version查看是否安装好node ...
- sqlplus命令历史解决方案
在Linux上使用sqlplus比较痛苦,因为不能使用上下方向键来调出命令历史,也不能使用左右键移动光标对输入的命令进行修改,甚至连Backspace键都不能用(不过我发现大部分Backspace不能 ...
- 使用javaconfig配置freemarker
package com.yy.config; import org.springframework.context.annotation.Bean; import org.springframewor ...
- jsp窗口关闭的触发函数
功能:当点击窗口[关闭按钮]时调用后台的servlet方法实现附件删除 <script type="text/javascript"> window.onbefo ...