unity引擎基础
unity引擎基础
##1、Unity引擎简介
++1.1、Unity3D简介
++++由Unity Technologies公司开发的用于轻松创建游戏和三维互动内容的开发工具,是一个专业的跨平台游戏引擎。
-- 2D游戏: 视角完全锁定,二维坐标。 如:2048
-- 3D游戏: 可以任意的变化视角,无锁定。 三维坐标。 如:CS
++++虚拟现实 Virtual Reality:又称为虚拟仿真技术,是当今世界前沿科学之一。 利用电脑模拟产生一个三维空间的虚拟世界,通过各种输入设备和虚拟环境中的事物进行交互,让使用者身临其境的观察空间内的事物。
-- 虚拟现实设备: 数据手套,动作捕捉器,头戴式显示器 ... ...
++1.2、著名企业的加入
++++2014年10月,Unity公司创始人兼CEO宣布转任执行副总裁,接替他的人选是曾任EA公司CEO的约翰.里奇蒂耶洛(John Riccitiello)。
++++2015年5月,Unity CEO宣布,前Epic Games总裁,迈克.卡普斯(Mike Capps)将会正式加入Unity。
++1.3、游戏引擎
++++游戏引擎是一款游戏框架。 包含以下系统: 渲染引擎、物理引擎、碰撞检测系统、音效、脚本引擎、动画系统、人工智能、网络引擎、动画引擎、人工智能、网络引擎、以及场景管理。
++++使用游戏引擎,开发者可以重用已有的核心技术,将精力集中在游戏逻辑和设计上,从而简单快速的创建游戏。
++1.4、Unity特点
++++开发效率高
++++价格便宜
++++新手居多
++++22个平台间*迁移,出色的部署
++++发布平台包括: iOS、Android、Window Phone、Windows、web、微软Xbox360、索尼PS3、任天堂Wii等等。
++1.5、Unity发展历史
++++2004年丹麦哥本哈根三位热爱游戏的年轻人决定开发一个易于使用、与众不同并且费用低廉的游戏引擎,帮助所有喜爱游戏的年轻人实现游戏创业梦想。
++++2005年发布了Unity1.0版本:只应用于Mac平台。
++++2007年发布了Unity2.0版本: 新增了地形引擎、实时动态阴影、网络多人联机功能。
++++2010年发布了Unity3.0版本: 支持Android平台。
++++2012年Unity上海分公司成立,正式进军中国市场。
++++2015年3月发布了Unity5.0版本: 包括了许多新功能及改进,如:实时全局光照、音频、动画系统等。
++1.6、使用Unity开发的游戏
++++网页游戏
-- 坦克英雄、新仙剑Online、绝代双骄、纵横无双、天神传等。
++++单机游戏
-- 御天降魔传、轩辕剑六等。
++++手机游戏
-- 王者荣耀、神秘逃亡1、2,武士、机器人大战、亡灵杀手、极限摩托车2等
##2、用户界面介绍
++2.1、Unity界面布局
++++Unity界面布局
Hierarchy、Project、Scene、Inspector
++++Project项目资源面板
-- 存放游戏的所有资源。
-- 与项目中资源文件夹Assets对应,例如场景、脚本、模型、音频、图片等文件。
++++Hierarchy层次面板
-- 显示当前场景中所有游戏对象的层级关系。
-- 包含了当前场景的游戏对象(GameObject),其中一些是资源文件的实例,如3D模型和其他预制组件的实例。
++++Scene场景面板
-- 提供设计游戏界面的可视化面板。
++++Game游戏面板
-- 预览游戏运行后的界面。
++++Inspector检视面板
-- 显示当前选定游戏对象附加的组件及其属性信息。
-- 为重要游戏物体选择图标。
++2.2、资源商店的使用
++++它拥有很多由Unity Technologies和开发人员创造的免费和商业的资源。 在我们学习或开发过程中的各种可用资源。 这其中涵盖了从纹理,模型,动画到完整的实力工程,教程和编译器的拓展等方方面面。 我们只需要在Unity引擎中打开Asset Store视图即可浏览该资源的商场。 通过简单的注册流程便可以下载所需要的资源。
(https://unity3d.com/unity/features/ads)
++2.3、创建游戏对象
++++游戏对象也称为游戏物体,游戏中的一个角色,一个模型甚至环境特效都可以称为游戏对象。
++++点击菜单GameObject即可创建Unity提供的基本游戏对象。
++2.4、常用快捷键的使用
++++变换工具
-- Q :移动场景
-- W :移动物体
-- E : 旋转物体
-- R : 缩放物体
++++定点吸附: 选择物体后按住V键,定位定点,再拖拽到目标物体某个定点上。
-- 备注: 先松V键
++++按下鼠标滚轮拖动场景,滑动滚轮缩放场景。
++++鼠标右键旋转场景,点击Q键后,通过左键移动场景。
++++点击右键同时按下 W/S/A/D/Q/E键可以实现场景漫游。
++++在Scene面板选中物体后按F键,或在Hierarchy面板双击物体,可将物体设置为场景视图的中心。
++++按住alt键同时通过鼠标左键围绕某物体旋转场景,鼠标右键缩放场景。
++++选中摄像机,按Shift+Ctrl+F调整摄像机视角。
##3、Terrain地形系统
++3.1、创建地形
++++要创建新地形(Terrain)请点击【Game Object菜单】->【3D Object】->【Terrain】。 这会将“地形”添加到您的项目(Project)和层级视图(Hierarchy Views)中。
++3.2、编辑地形(高度,地形纹理等)
++++选中地形(Terrain)后,可以在监视器中查看一些极好的新地形编辑工具。 每个矩形按钮都是不同的地形工具。 有更好高度,绘制泼溅贴图或添加树木或岩石等细节的工具。 点击该工具按钮,即可使此工具。 同时,工具按钮下方会出现对该工具的简短说明。
++++大部分工具会使用笔刷,使用笔刷的任何一种工具都会显示许多不同的笔刷。 鼠标在地形上悬停时,当前选中的笔刷会以已制定的大小显示预览。
++3.3、树和草的创建与编辑
++++选中地形(Terrain)后,可以在检视器中查看一些极好的新地形编辑工具。
-- 第四项和第五项是用来创建和编辑树和草。
-- 选择Edit Trees...和 Edit Details...导入树和草资源,刷到地形上即可。
##4、3D基础理论
++4,1、坐标系
++++2D笛卡尔坐标系
-- 在2D平面中,两个数(x,y)就可以定位一个点(因为是二维空间,所以使用两个数,类似地,三维空间中使用三个数)。 确切的说,每个分量都是到相应轴的有符号距离,如图所示,x分量表示该点到y轴的有符号距离,同样y分量表示该点到x轴的有符号距离。 “有符号距离”是指在某个方向上距离为正,而在相反的方向上为负。
++++3D笛卡尔坐标系
-- 在3D中定位一个点需要3个数:x,y和z,分别代表改点到yz, xz和xy面的有符号距离。 例如x值是到xy平面的有符号距离,此定义是直接从2D中扩展来的。
-- Unity中采用左手坐标系。拇指、食指和其余手指分别代表 X,Y,Z轴正方向。
++++坐标系
-- 世界坐标(Global)
世界坐标系是一个特殊的坐标系,它建立了描述其他坐标系所需要的参考框架。 世界坐标系简言之为“东,西,南,北”。
-- 物体坐标(Local)
物体坐标系是和特定物体相关联的坐标系。每个物体都有它们独立的坐标系,简言之为“前,后,左,右”。当物体改变方向时,和该物体相关联的坐标系将随之移动和改变方向。
++++视图
-- ISO: 正交模式 国际标准试图(远近一样大)
--Persp: 透视模式(近大远小)
++4.2、向量
++++向量:有大小和方向的量,如“速度”和“位移”就是向量。
++++标量:只有大小没有方向的量,如“速率”和“长度”就是标量。
++++向量加法:
++++向量减法: 通过用于获取从一个对象到另一个对象的方向和距离。 在减法中,两个参数的顺序会影响结果,b-a方向从点a指向点b,大小为ab线段的长度。
++++法向量: 如果一个非零向量n与平面a垂直,则称向量n为平面a的法向量。
++4.3、网格
++++在图形学中,多边形网格不过是一个多边形列表,三角网格就是全部由三角形组成的多边形网络,任意多边形网格都可以转换成三角网格。
++++网格组件
-- 网格筛选器(Mesh Filter):选择使用什么样的网格。
-- 网格渲染器(Mesh Renderer):渲染网格。
++4.4、纹理
++++纹理(Textures)即是附加到物体表面的贴图,下图是纹理资源的导入。
++++材质和着色器
-- 材质: 物体的质地,指色彩、纹理、光滑度、透明度、反射率、折射率、发光度等。 实际就是 Shader的实例。
-- Shader着色器: 专门用来渲染3D图形的技术,可以使纹理以某种方式展现。 实际就是一段嵌入到渲染管线中的程序,可以控制GPU运算图像效果的算法。
-- 纹理、着色器与材质的关系
#立钻哥哥Unity 学习空间: http://blog.****.net/VRunSoftYanlz/
++立钻哥哥推荐的拓展学习链接(Link_Url):
++++立钻哥哥Unity 学习空间: http://blog.****.net/VRunSoftYanlz/
++++Unity引擎基础:https://blog.****.net/vrunsoftyanlz/article/details/78881685
++++Unity面向组件开发:https://blog.****.net/vrunsoftyanlz/article/details/78881752
++++Unity物理系统:https://blog.****.net/vrunsoftyanlz/article/details/78881879
++++Unity2D平台开发:https://blog.****.net/vrunsoftyanlz/article/details/78882034
++++UGUI基础:https://blog.****.net/vrunsoftyanlz/article/details/78884693
++++UGUI进阶:https://blog.****.net/vrunsoftyanlz/article/details/78884882
++++UGUI综合:https://blog.****.net/vrunsoftyanlz/article/details/78885013
++++Unity动画系统基础:https://blog.****.net/vrunsoftyanlz/article/details/78886068
++++Unity动画系统进阶:https://blog.****.net/vrunsoftyanlz/article/details/78886198
++++Navigation导航系统:https://blog.****.net/vrunsoftyanlz/article/details/78886281
++++Unity特效渲染:https://blog.****.net/vrunsoftyanlz/article/details/78886403
++++Unity数据存储:https://blog.****.net/vrunsoftyanlz/article/details/79251273
++++Unity中Sqlite数据库:https://blog.****.net/vrunsoftyanlz/article/details/79254162
++++WWW类和协程:https://blog.****.net/vrunsoftyanlz/article/details/79254559
++++Unity网络:https://blog.****.net/vrunsoftyanlz/article/details/79254902
++++C#事件:https://blog.****.net/vrunsoftyanlz/article/details/78631267
++++C#委托:https://blog.****.net/vrunsoftyanlz/article/details/78631183
++++C#集合:https://blog.****.net/vrunsoftyanlz/article/details/78631175
++++C#泛型:https://blog.****.net/vrunsoftyanlz/article/details/78631141
++++C#接口:https://blog.****.net/vrunsoftyanlz/article/details/78631122
++++C#静态类:https://blog.****.net/vrunsoftyanlz/article/details/78630979
++++C#中System.String类:https://blog.****.net/vrunsoftyanlz/article/details/78630945
++++C#数据类型:https://blog.****.net/vrunsoftyanlz/article/details/78630913
++++Unity3D默认的快捷键:https://blog.****.net/vrunsoftyanlz/article/details/78630838
++++游戏相关缩写:https://blog.****.net/vrunsoftyanlz/article/details/78630687
++++设计模式简单整理:https://blog.****.net/vrunsoftyanlz/article/details/79839641
++++U3D小项目参考:https://blog.****.net/vrunsoftyanlz/article/details/80141811
++++UML类图:https://blog.****.net/vrunsoftyanlz/article/details/80289461
++++Unity知识点0001:https://blog.****.net/vrunsoftyanlz/article/details/80302012
++++U3D_Shader编程(第一篇:快速入门篇):https://blog.****.net/vrunsoftyanlz/article/details/80372071
++++U3D_Shader编程(第二篇:基础夯实篇):https://blog.****.net/vrunsoftyanlz/article/details/80372628
++++立钻哥哥Unity 学习空间: http://blog.****.net/VRunSoftYanlz/
--_--VRunSoft : lovezuanzuan--_--