王者荣耀是怎样炼成的(二)《王者荣耀》unity安装及使用的小白零基础入门

工欲善其事,必先利其器。

 

上回书《王者荣耀是怎样炼成的(一)《王者荣耀》用什么开发,游戏入门,unity3D介绍》说到,开发游戏用到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”前的圆点,在弹出的“贴图选择界面”选择需要的材质。比如选择了之前的木板贴图:

 

使用材质球

可以有两种使用方式:

  1. 将材质球拖拽到Hierarchy面板上相应的物体上

  2. 将材质球拖拽到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简单的组件和脚本。

相关文章:

  • 王者荣耀是怎样炼成的(一)《王者荣耀》用什么开发,游戏入门,unity3D介绍

  • Unity3d&C#分布式游戏服务器ET框架介绍-组件式设计

  • 开源分享 Unity3d客户端与C#分布式服务端游戏框架

  • 《Unity 3D脚本编程:使用C#语言开发跨平台游戏》序言

原文地址:http://www.cnblogs.com/yuxiuyan/p/7533392.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

史上最全MySQL 大表优化方案(长文)

转载自 史上最全MySQL 大表优化方案(长文) 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 一、单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分&…

阶乘的值

#include<stdio.h> main(){//阶乘 int a,i,sum;printf("请输入你所需要的阶乘数&#xff1a;\n");scanf("%d",&a);sum1;for(i1;i<a;i){sumsum*i;} printf("%d",sum); } 输出阶乘的数

微信公众平台安全模式下传输xml数据包时解密方式

大家好&#xff0c;我是雄雄&#xff0c;欢迎你的到来。 前言&#xff1a; 最近一直在搞微信服务&#xff08;公众&#xff09;号开发&#xff0c;前面也写过一篇文章&#xff0c;是关于一开始配置、验证token以及接收用户触发关注/取消关注事件时的接口&#xff0c;文章地址&…

nssl1148,jzoj5461-购物【可撤回贪心,堆】

正题 jzoj题目链接:https://jzoj.net/senior/#main/show/5461 题目大意 有n个物品&#xff0c;m元&#xff0c;k个打折券。 每个物品打折前pip_ipi​元&#xff0c;打折后qiq_iqi​元&#xff0c;求最多能买多少物品。 解题思路 用可撤回贪心。 先将p和q分开排序&#xff0c…

“.Net 社区大会”(dotnetConf) 2017 Day 1 Keynote: .NET Everywhere

8月份已经发布了.NET Core 2.0, 大会Keynote 一开始花了大量的篇幅回顾.NET Core 2.0的发布&#xff0c;社区的参与度已经非常高。大会的主题是.NET 无处不在&#xff1a;NET Core 2.0已经完成了服务端的布局&#xff0c;那么各种终端的覆盖就是Xamarin的主场&#xff0c;Xamar…

金三银四铜五铁六

转载自 金三银四铜五铁六 金三银四铜五铁六 据说&#xff0c;金三银四&#xff0c;截止今天为止面试黄金时间已经过去十之八九&#xff0c;而鲁班&#xff08;LB &#xff0c;以下全文均用LB代替&#xff09;恰逢是这批面试大军其中的一名小兵&#xff0c;很不幸今年恰逢遇…

WebSocket In ASP.NET Core

What Is WebSocket?WebSocket 是一种在单个 TCP 连接上进行全双工通讯的协议&#xff0c;是建立在TCP上、且独立的协议。在WebSocket API 中&#xff0c;浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以进行持久性的连接&#xff0c;并进行双向数据传输。为了建立…

微信服务(公众)号实现用户关注自动注册成为会员

大家好&#xff0c;我是雄雄。交流技术可以进入到我的社区【雄雄的小课堂】 前言 看本篇文章之前&#xff0c;可以先看看前面两篇&#xff1a; java实现微信服务&#xff08;公众&#xff09;号用户关注时&#xff0c;获取openid&#xff0c;安全模式下的加密解密实现 微信公…

nssl1149,jzoj5455-拆网线【贪心】

正题 jzoj题目链接:https://jzoj.net/senior/#main/show/5455 题目大意 一棵树中选k个点要求留下最小边使每个点都至少有一个点连接。 解题思路 我们先不考虑树的限制&#xff0c;那么k个点满足要求的话最小边数为(k1)/2(k1)/2(k1)/2&#xff0c;然后我们考虑一颗树上有多少…

完成图片拖拽

<html> <head><meta charset"UTF-8"><title>拖拽</title><style type"text/css">#box1{width: 100px;height: 100px;background-color: yellow;position:absolute;}#box2{width: 100px;height: 100px;background-colo…

深入探索 Java 热部署

转载自 深入探索 Java 热部署 简介 在 Java 开发领域&#xff0c;热部署一直是一个难以解决的问题&#xff0c;目前的 Java 虚拟机只能实现方法体的修改热部署&#xff0c;对于整个类的结构修改&#xff0c;仍然需要重启虚拟机&#xff0c;对类重新加载才能完成更新操作。对…

手把手教你使用spring cloud+dotnet core搭建微服务架构:服务治理(-)

背景公司去年开始使用dotnet core开发项目。公司的总体架构采用的是微服务&#xff0c;那时候由于对微服务的理解并不是太深&#xff0c;加上各种组件的不成熟&#xff0c;只是把项目的各个功能通过业务层面拆分&#xff0c;然后通过nginx代理&#xff0c;项目最终上线。但是这…

谈谈那些被面与面的经历(面试杂谈)

大家好&#xff0c;我是雄雄。 前言 每个程序员&#xff0c;都会经历大大小小的面试&#xff0c;当你在一个公司做技术大牛时&#xff0c;你可能充当的是一个面试官的角色&#xff0c;此时由你来面别人&#xff1b;当你要去一个公司做大牛时&#xff0c;此时的你&#xff0c;充…

nssl1150,jzoj5309-密室【分层建图,SPFA】

正题 jzoj题目链接:https://jzoj.net/senior/#main/show/5309 题目大意 有n个点&#xff0c;m条边,k种钥匙。有些点分布了钥匙&#xff0c;有些边需要一些钥匙才可以通过&#xff0c;求1到n的最短路。 解题思路 将图分成2k2k层&#xff0c;每一层用二进制表示不同的钥匙情况…

如何在面试中介绍自己的项目经验

转载自 如何在面试中介绍自己的项目经验 在面试时&#xff0c;经过寒暄后&#xff0c;一般面试官会让介绍项目经验 。常见的问法是&#xff0c;说下你最近的&#xff08;或最拿得出手的&#xff09;一个项目。 根据我们的面试经验&#xff0c;发现有不少候选人对此没准备&am…

Configuration Extensions - 简化配置,让你配置支持变量

在开发“RabbitCloud”项目时&#xff0c;使用配置文件发现会有很多重复值&#xff0c;所以我基于”Microsoft.Extensions.Configuration”写了一个扩展库&#xff0c;来丰富对配置的支持。实际案例——“RabbitCloud”之前&#xff0c;我是这样的因为公司ip和家里机器的ip不一…

如何配置frp到linux服务器和windows本地,服务端支持自启动

大家好&#xff0c;我是雄雄&#xff0c;如果你觉得文章还不错的话&#xff0c;欢迎在文末点赞和评论。 前言 最近这段时间都在开发微信服务&#xff08;公众&#xff09;号相关技术&#xff0c;对于写了好几年的后端程序的我来说&#xff0c;开发小程序和服务号&#xff0c;刚…

插入链接

简单的插入链接&#xff0c;直接提供跳转页面项 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><a href"oneclick.html">点我一下&#xff0c;有惊喜</a>…

ssl提高组周六模拟赛【2018.9.15】

前言 这次那了一个和fuW并列的第一&#xff0c;然而似乎都不是很难。(因为第1题有bug所以满分不了) 成绩 只放Rank 1∼10Rank1∼10RankRankPersonPersonScoreScore112015hjw" role="presentation" style="position: relative;">2015hjw2015hjw19…

java面试线程必备知识点,怼死面试官,从我做起

转载自 java面试线程必备知识点&#xff0c;怼死面试官&#xff0c;从我做起 |--多线程一定好么&#xff1f; cpu密集不好 io密集好 |--如何减少上下文切换&#xff1a; 无锁并发&#xff08;数据id根据Hash分段&#xff09;、CAS、最少线程 |--java线程避免死锁&#xff…