Unity开发之-Unity入门简介(近万字攻略)-程序员宅基地

技术标签: c#  unity  Unity游戏开发之C#代码篇  

前言

大家好,我是一个Unity的程序员,从这篇开始我会持续更新学习Unity的基本,去帮助想要学习unity的小伙伴,有兴趣的同学可以跟着我一起学习Unity,下面,我们将要开始了解Unity以及想要制作一款游戏需要具备的知识。

制作不易还请各位一键三连哦!

本文下面介绍的是Unity关于游戏开发的一些知识,也欢迎想基本了解Unity大家前来观摩,准备好,马上开车了!

unity的学习路线

下面是我个人当前学习列表的简介,仅供参考。
请添加图片描述

当你学完第三个阶段的时候,就可以做一款属于自己的小游戏了,请各位发挥大脑的想象力吧。

下面我们慢慢的介绍每个阶段的基本信息吧

第一阶段 什么是Unity?

要想学好一个东西,首先要对其有基本的了解,并且对其感兴趣,我相信既然大家以及看到了这里,就代表大家对Unity有一些兴趣,下面我们介绍以下Unity:
Unity3D是由Unity Technologies开发的一个能让玩家轻松创建诸如三维游戏、虚拟现实、实时电 影与动画、建筑可视化、数字教育、汽车/运输与制造等众多类型互动内容的多平台的综合型游戏开 发工具,是一款功能强大的专业游戏引擎。Unity类似于Director,Blender,Virtools或Torque Game Builder等利用交互的图形化开发环境为首要方式的软件。
小编是因为参加工作以后才接触到的Unity,因为之前是一个初级Java程序,所以重新学习一个新的语言和软件并不难。
下面简单介绍以下用Unity开发的游戏吧:
网页游戏:坦克英雄、QQ乐团、蒸汽之城、诛仙、皇牌海战、绝代双骄、Touch、纵横无双、星之 战记、骑士的远征(已停止运营)、萌战记、推倒Online、格子RP、图腾王、争锋OnLine、喷喷战 (已停止运营)、魔偶给我冲、木乃伊OL(The Mummy Online)、魔晶星球、将神、天宠岛等
在这里插入图片描述

客户端游戏: Robocraft、 Bad Piggies
在这里插入图片描述

手机游戏:纪念碑谷(Monument Valley)使命召唤手游、择天记、王者荣耀、失落帝国、炉石传 说、神庙逃亡2、三国之杀场、王者之剑、弹珠冒险记、死亡扳机(DEAD TRIGGER)、对峙2 (Standoff 2)、公路战士(Road Warrior)机器人大战(Roboto)、绝命武装(Bravo Force: Last Stand)、阿尔龙:剑影(Aralon:Sword and Shad)、街头摔跤 ( Street Wrestler)、缪斯 (M.U.S.E.)、疯狂的公牛(Bull Dozer)、等
在这里插入图片描述

单机游戏:奇异人生: 仙剑奇侠传6、风暴前夕、巫师之昆特牌:王权的陨落、七日杀、侠隐阁、轩辕 剑六、御天降、凡人修仙传单机版、深海迷航(美丽水世界)、卡车人生等。
在这里插入图片描述

用Unity开发的游戏数不胜数,市场上一半以上的游戏都是用Unity引擎开发的。
Unity还有一个极大的好处,Unity支持跨平台,也就是说,用Unity开发的游戏和作品是支持很多的平台的,Unity编辑器可运行在Windows、Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL (需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac所支持。

再给大家介绍以下常见的几种游戏类型:
在这里插入图片描述

第二阶段 C#编程

上面的介绍让我们对Unity引擎有了初步的了解,可是我们光靠着Unity引擎是不能开发游戏的,需要有我们的脚本的支持(不然要我们程序员干嘛)。所以,想要开发游戏之前,先要学会一门脚本编程语言。

  • Unity 2017版本以后,官方推荐使用的脚本语言是C#。Unity的历史版本中支持过UnityScript,不过使用的人比较少,之后就消失了
    除了C#外,.Net平台支持的语言(如:F#,C++)等,都可以编译为通用的DLL库。关于.Net的详细讨论的话,暂时超出了小编的脑容量范围,请大家自行查询。
  • 所以学习C# 语言变为我们最重要也是最先的一步,网上有很多的C#的教程,当然,后续小编会持续更新C#的语言学习,各位可以跟随小编的脚步。

在这里插入图片描述

第三阶段 熟悉Unity引擎的基本功能

  • 看完Unity的介绍后,相信大家对Unity也有了一定的了解,但是重中之重还是先学习C#脚本语言
  • 先认识以下Unity的基本页面
  • 我们需要利用Unity来制作游戏,所以必须熟悉Unity的基本编辑环境
  • 熟悉基本的工具栏和六个最基本的视图
  • 以及一些基本的设置
    在这里插入图片描述
Unity资源文件的学习

这里我们主要了解Unity 的文件资源分类

  • 每个文件夹的作用
  • Unity需要基本运行的文件夹
  • 特殊文件夹的作用

在这里插入图片描述

Unity基本组件的介绍
  • 组件是Unity中最重要的一部分
  • 每个游戏物体的身上都有很多不同的组件,正因为每个组件的功能不同,所以实现的效果各不相同
  • Unity显示的组成是项目-> 场景->游戏物体->组件->组件参数
  • 组件和游戏物体相辅相成,游戏物体可以说是组件的载体
  • 下图包含了一些基本组件,一定要熟练使用Transfrom组件,Box Collider(盒子碰撞体),Mesh Filter(网格过滤器),Mesh Renderer(网格渲染器),Rigidbody(刚体)
  • 值得注意的是,代码脚本,也是一种组件
    在这里插入图片描述
Unity中UI系统的介绍
  • Unity包含了GUI,UGUI,NGUI(老版本才会用)
  • 游戏需要UI页面,用来显示一些按钮啊,图片啊等。所以UI是一个完整游戏的必须品
  • 我们主要学习Unity自带的UGUI就足够了
    在这里插入图片描述
Unity动画的介绍

正如大家看到的游戏人物一样,每个人物都会攻击,跑步,跳跃等,这些都是由Unity优秀的动画系统来完成的。

  • 动画可以使人物更加炫酷
  • Unity中现在有两种动画模式Animator和Animation
  • 前者比较新,后者是比较老的项目才会使用了
    在这里插入图片描述
Unity导航寻路网格

Unity为大家提供了自动寻路的功能Navigation,例如我们玩的页游都有点击任务自动寻路过去,Unity现在的寻路已经很强大了,只需要添加几个组件并且调整几个参数即可进行寻路

  • 敌人自动寻找玩家
  • 玩家自动寻找到任务地点
  • 也有很多人会使用A*算法进行寻路,不过个人推荐使用Navigation就好,简单易懂

在这里插入图片描述

Unity数据持久化

Unity中提供了一些数据持久化的方式,将我们的游戏数据保存在本地磁盘上,这样在下一次再次使用时就可以直接读取本地,而不是每次推出游戏或者删除后台所有的东西都会消失

  • Unity自带的PlayerPrefs类,适合一些轻量级数据
  • JSON适合一些敌人的基本信息等
  • CSV配置表可以使用Excel清楚的观察表格参数
  • XML可以读取一些配置

第四阶段 了解基本的框架

框架学习就属于进阶学习了,因为当你学好了前三个阶段,就可以做游戏了
对于许多语言而言,有一个好的框架代码可以重复利用多次,节省时间,而且方便后期的维护,Unity开发游戏也是如此:

  • 一个框架可以使代码干净整洁,方便维护
  • 最大程度的将一些基本操作重复利用
  • 方便每个开发人员进行代码的整合调用
基础框架的学习
  • 常用到的框架当属UI框架了,一个UI框架可以重复利用UI,对性能的节省是很有必要的
  • Unity非常火的框架GameFrameWork框架,小编也没有学会,感兴趣的童鞋可以自己上网查看
Unity热更新

我们经常玩的很多游戏,就比如当下很火的王者荣耀,每一次赛季更新都会有很大的变化,这个时候大家通常都会到应用商店下载并重新安装,可是每次新赛季更新开启后,都或多或少会有一些Bug存在(一个完整的程序不可能没有bug,是人都会犯错)而这些问题,可能只需要更改一句代码就可以解决,而不需要动用很大版本的更新,这个时候总不能再重新下载安装吧,要是这样的话,那每次下载安装岂不是没法玩游戏了,这个时候,热更就显得尤为重要。

  • 热更新就是指一些小幅度的更新,不需要重新下载安装包,甚至不需要重新启动游戏
  • 使用热更新需要使用一门新的语言Lua,Lua是一门轻量级语言,后面作者会介绍到的
  • 有些游戏是单纯用Lua做出来的,感兴趣的同学去网上搜索一下

第五阶段 游戏项目实战

当所有准备工作都准备完毕后,我们就可以开始编写自己的游戏了,大家可以去Unity官方的中文课堂:https://learn.u3d.cn/,那里有很多的课程教程,免费的付费的都有,如果需要资源的话可以去Unity官方商店下载:https://assetstore.unity.com/,作者后期还会更新一些自己做的小游戏,飞机大战,塔防游戏,基础的3D游戏等。

总结

这里我们简单讲解游戏开发中的角色和职责也可以说是小伙伴们学习Unity可以寻找的工作岗位:

  1. 游戏策划:作为游戏和核心玩法大脑,策划通常起着决定游戏风格和走向的作用,这其中还包括很多的细节分化:
    1. 主策划(游戏策划主管):又称为游戏策划主管。游戏项目的整体策划者,主要工作职责在于设计游 戏的整体概念以及日常工作中的管理和协调。同时负责指导策划组以下的 成员进行游戏设计工作。
    2. 系统策划(游戏规则设计师):系统规则的编写 -> 与程序设计者对接 -> 组队、战斗、帮会、师徒、好友系统等 -> 提供界面及界面操作、 逻辑判断流程图
    3. 数值策划(游戏平衡设计师):游戏平衡性-> 游戏数据打交道 ->战斗公式
    4. 关卡策划(游戏关卡玩法):设计游戏关卡玩法,与剧情策划相对接
    5. 剧情策划(游戏文案策划):文字内容设计 -> 职业物品说明 -> 世界观架构
  2. 游戏美术:
    1. 原画设计师(3D美术部门):美术制作提供标准 和依据 ->依据策划案创建角色或物体 -> 概念具体化和标准化 ->游戏世界物体设计
    2. 角色设计师(创造栩栩如生的角色): 游戏中的活体 -> 人体组织结构
    3. 场景设计师(传达游戏内涵与文化):构建场景模型 -> 烘托游戏的气氛
    4. 游戏特效师(精美的效果):丰富的画面表现想象力 -> 艺术感染力
    5. UI设计师(平面基础):游戏操作页面 -> 技能标志 -> 登录页面 -> 游戏道具
  3. 游戏程序:
    1. 服务端:数据存储,数据分发,数据同步
    2. 客户端:引擎开发即扩展,游戏效果,游戏逻辑

以上就是对一些Unity游戏行业的个人见解啦,还有一些学习路径,后续小编会为大家更新C#的学习,欢迎大家搬凳子坐坐,最后和各位道个别,拜拜。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_46093832/article/details/120306980

智能推荐

2、UCOSIII在STM32F4xx上的移植_ucosiii中udp通信-程序员宅基地

文章浏览阅读8.9k次,点赞7次,收藏46次。一、准备好UCOSIII的源码 ①通过UCOSIII官方下载:https://www.micrium.com/,进入官方网站后点击,找到Browse by MCU Manufacturer下对应的STM这一栏,选择对应的型号这里点击STN32F4xx进去选择自己需要的下载即可②提供一份我已经下载好的UCOSIII源码:链接:https://pan.baidu...._ucosiii中udp通信

2021届Web前端面经积累(一)_前端发展2021-程序员宅基地

文章浏览阅读962次,点赞5次,收藏28次。1. 拖拽会用到哪些事件dragstart:拖拽开始时在被拖拽元素上触发此事件,监听器需要设置拖拽所需数据,从操作系统拖拽文件到浏览器时不触发此事件.dragenter:拖拽鼠标进入元素时在该元素上触发,用于给拖放元素设置视觉反馈,如高亮dragover:拖拽时鼠标在目标元素上移动时触发.监听器通过阻止浏览器默认行为设置元素为可拖放元素.dragleave:拖拽时鼠标移出目标元素时在目标..._前端发展2021

uniapp 微信小程序分享给微信好友与分享到朋友圈功能_uniapp分享到微信朋友圈-程序员宅基地

文章浏览阅读1.9w次,点赞10次,收藏71次。微信小程序分享使用方法:onLoad(){ wx.showShareMenu({ withShareTicket:true, //设置下方的Menus菜单,才能够让发送给朋友与分享到朋友圈两个按钮可以点击 menus:["shareAppMessage","shareTimeline"] })},//发送给朋友onShareAppMessage(res) { // 此处的distSource为分享者的部分信息,需要传递给其他人 let distSource = uni.get_uniapp分享到微信朋友圈

数组的用法——js基础知识回顾_js parsearray-程序员宅基地

文章浏览阅读192次。查找数组中是否存在某项,includes代替indexOfArray.prototype.includes方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似。ES2016 引入了该方法。[1, 2, 3].includes(2) // true[1, 2, 3].includes(4) // false[1, 2, NaN].includes(NaN) // true该方法的第二个参数表示搜索的起始位置,默认为0。如果第二个参数为负数,则表示倒_js parsearray

Lucene系列六:Lucene搜索详解(Lucene搜索流程详解、搜索核心API详解、基本查询详解、QueryParser详解)_lucene 提供了一系列查询处理器来处理查询请求-程序员宅基地

文章浏览阅读972次。一、搜索流程详解1. 先看一下Lucene的架构图由图可知搜索的过程如下:  用户输入搜索的关键字、对关键字进行分词、根据分词结果去索引库里面找到对应的文章id、根据文章id找到对应的文章2. Lucene搜索API 图示3.Lucene搜索代码示例先在pom.xml里面引入查询分析器模块<!-- lucene-queryparser 查..._lucene 提供了一系列查询处理器来处理查询请求

spin_lock & mutex_lock的区别? ._mutex lock vs spin lock-程序员宅基地

文章浏览阅读2.2w次,点赞3次,收藏22次。本文由该问题引入到内核锁的讨论,归纳如下为什么需要内核锁?多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是可以访问所有内核数据的,因此要对共享数据进行保护,即互斥处理有哪些内核锁机制?(1)原子操作atomic_t数据类型,atomic_inc(atomic_t *v)将v加1原子操作比普通操作效率要低,因此必要时才使用,且不能与普通操作混_mutex lock vs spin lock

随便推点

表单式工作流功能模块设计方案-程序员宅基地

文章浏览阅读9.6k次,点赞34次,收藏33次。最近一个项目中需要独自设计一个表单式工作流功能模块,在此将整个功能模块的设计思路分享出来。_功能模块设计

设计模式的征途—6.建造者(Builder)模式-程序员宅基地

文章浏览阅读100次。建造者模式又称为生成器模式,它是一种较为复杂、使用频率也相对较低的创建型模式。建造者模式为客户端返回的不是一个简单的产品,而是一个由多个部件组成的复杂产品。因为,没有人买车会只买一个方向盘或者轮胎,大家买的都是一辆包含轮胎、方向盘和发动机等多个部件组成的完整汽车。如何将这些部件组装成一辆完整的汽车并返回给用户,这是建造者模式需要解决的问题。建造者模式(Builder)学习难度:..._public builder游戏

Mac自启动程序管理_mac system/library/launchdaemons-程序员宅基地

文章浏览阅读1.9w次,点赞4次,收藏16次。添加或移除启动程序,可以直接在偏好设置里面修改,首先我们需要进入系统偏好设置 然后进入用户与群组切换至登录项,在这里我们可以添加或移除登录项但是有时候我们发现有些自启动的软件在这里面是找不到的,这个时候我们可以通过终端程序查找。 macOS系统的启动项会以 .plist 的文件存在于以下目录中:/Library/LaunchDaemons:系统启动时运行,用户不登录也..._mac system/library/launchdaemons

mysql enterprise backup 使用_MySQL Enterprise Backup 4.1版本重要改进-爱可生-程序员宅基地

文章浏览阅读418次。原标题:MySQL Enterprise Backup 4.1版本重要改进-爱可生MySQL Enterprise Backup 简称MEB, 是Oracle官方出品的MySQL在线备份工具, 也是众多MySQL企业版用户首选的备份工具, 我们一起来看下MEB 4.1带来了哪些重要改进.注: MEB 3.x 版本用于MySQL 5.7.9之前版本, MEB 4.x版本用于MySQL 5.7.9之后..._mysql enterprise backup 4.1 for linux

求大佬帮忙看一下python程序没问题但是运行不出结果也不报错_程序运行既不出结果也不报错-程序员宅基地

文章浏览阅读3.4k次。求大佬帮忙看一下python程序没问题但是运行不出结果也不报错import numpy as npimport gensimimport pandas as pdimport jiebaimport xlrdfrom xlutils.copy import copymodel = gensim.models.word2vec.Word2Vec.load(‘improve’)#此函数计算某词对于模型中各个词的转移概率p(wk|wi)def predict_proba(oword, iword_程序运行既不出结果也不报错

scrach少儿编程网站精选(个人建议)_scratch官网入口-程序员宅基地

文章浏览阅读1w次。1、阿儿法营魔爪社区,https://mozhua.aerfaying.com/点击进入。2、编程猫社区https://shequ.codemao.cn/点击进入。3、scrach官网https://scratch.mit.edu/点击进入。4、少儿编程教程网https://www.kidscoding8.com/点击进入。5、网易有道卡搭https://kada.163.com/点击进入..._scratch官网入口

推荐文章

热门文章

相关标签