《Unity企业内训》 |
版本 | 作者 | 参与者 | 完成日期 | 备注 |
Unity_Training_V01_1.0 | 严立钻 |
| 2018.09.11 |
|
|
|
|
|
|
##《Unity企业内训》发布说明:
++++“Unity企业内训”是对企业内非程序员岗位的Unity普及,比如产品运营等,让相关人员熟悉Unity开发过程,更了解程序员的开发流程和技能点;有利于沟通交流和产品需求提出及优化;
++++“Unity企业内训”定位是非程序员岗位,再次声明:程序员请绕行,产品运营美术等请进入;
##《Unity企业内训》目录:
++++Unity企业内训(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82634668
#第1讲:Unity中C#开发基础
#第2讲:Unity引擎基础
#第3讲:Unity面向组件开发
#第4讲:Unity物理系统
#第5讲:UGUI
#第6讲:Unity动画系统
#第7讲:Unity特效渲染
#第8讲:Unity数据存储
#第9讲:Unity中Sqlite数据库
#第10讲:Unity中的资源管理
#第11讲:Unity中的性能优化
#第12讲:Unity网络
#第13讲:设计模式
#第14讲:UML类图
#第15讲:Shader编程
#第16讲:游戏框架
#第17讲:Lua热更新
#第18讲:UnityAPI
#第19讲:VIVE开发
#第20讲:Oculus开发
#第21讲:Unity案例分析
#第22讲:VRTK跨平台开发
#第5讲:UGUI
#第5讲:UGUI |
#第5讲:UGUI
++++5.1、UGUI概述
++++5.2、UGUI画布
++++5.3、UGUI基本控件
++++5.4、Canvas三种模式
++++5.5、布局控件
++++5.6、拉动效果
++++5.7、回调函数
++++5.8、UGUI背包系统
++++5.9、UGUI小地图
++++5.10、Application类,SceneManager类
++++5.11、工程打包发布
##5.1、UGUI概述
##5.1、UGUI概述 |
++5.1、UGUI概述
++++5.1.1、Unity界面发展史
++++5.1.2、UGUI特点
++++5.1.3、UGUI优点
###5.1.1、Unity界面发展史
###5.1.1、Unity界面发展史 |
++5.1.1、Unity界面发展史
++++立钻哥哥:【onGUI】=>【GUI插件 NGUI】=>【新版本界面 UGUI】;
###5.1.2、UGUI特点
###5.1.2、UGUI特点 |
++5.1.2、UGUI特点
++++立钻哥哥:新的UI系统是从Unity4.6开始被集成到Unity编译器中的;
++++对于开发者而言的三个优点:效率高效果好;易于使用和扩展;与Unity的兼容性高;
++++新的UGUI系统具有的特点:
--1、引擎内置,结合更加紧密;
--2、运行稳定,操作方便;
###5.1.3、UGUI优点
###5.1.3、UGUI优点 |
++5.1.3、UGUI优点
++++立钻哥哥:UGUI与老版本的onGUI相比:
++++1、独立的坐标体系;
++++2、全新的事件机制;
++++3、更佳高效率的运转效率;
++UGUI与GUI插件 NGUI相比
++++1、由 NGUI创始人参与开发;
++++2、与Unity结合更加密切;
++++3、自适应系统更加完善;
++++4、更方便的深度处理;
++++5、省去Altas,直接使用Sprite Packer;
##5.2、UGUI画布Canvas
##5.2、UGUI画布Canvas |
++5.2、UGUI画布
++++5.2.1、创建UGUI控件
++++5.2.2、Canvas画布
###5.2.1、创建UGUI控件
###5.2.1、创建UGUI控件 |
++5.2.1、创建UGUI控件
++++立钻哥哥:
++++[第一种方式]:在Hierarchy当中通过[右键]=>[UI]=>找到相应的UI控件;
++++[第二种方式]:通过工具栏[GameObject]=>[UI]=>找到相应的UI控件;
###5.2.2、Canvas画布
###5.2.2、Canvas画布 |
++5.2.2、Canvas画布
++++立钻哥哥:当创建任意一个UI控件的时候可以看到在层级视图当中,不但生成我们创建的控件,还会同时创建一个Canvas和EventSystem;
++++UGUI画布也称为Canvas,UGUI是所有控件的父类;所有UGUI控件都必须绘制在画布上面;
++++当创建UGUI控件时,工程当中没有Canvas的时候会自动创建Canvas与EventSystem;
+++Canvas画布
++++立钻哥哥:Canvas是画布,是所有UI控件的根类,也可以看作所有UI控制的父物体,所有UI控件都必须在Canvas上面绘制;Canvas是一个带有Canvas组件的游戏物体;
++EventSystem事件系统
++++立钻哥哥:EventSystem是事件系统,负责监听用户的输入;
++++创建UI控件时,当层级视图当中没有Canvas和EventSystem系统会帮我们自动创建;
##5.3、UGUI基本控件
##5.3、UGUI基本控件 |
++5.3、UGUI基本控件
++++5.3.1、Text控件
++++5.3.2、Image控件
++++5.3.3、RawImage控件
++++5.3.4、Button控件
++++5.3.5、Slider控件
++++5.3.6、ScrollBar控件
++++5.3.7、Toggle控件
++++5.3.8、InputField控件
++++5.3.9、Panel控件
++++5.3.10、RectTransform位置
++++5.3.11、Pivot中心点
++++5.3.12、Anchor锚点
###5.3.1、Text控件
###5.3.1、Text控件 |
++5.3.1、Text控件
++++立钻哥哥:Text控件是用来显示文本的文本控件,选中Text可以查看属性;
++Text属性
++++立钻哥哥:Text的属性可以在Inspector当中通过Text组件进行设置,也可以在代码当中进行动态设置;
Text myText;
void Start(){ myText = GetComponent<Text>();
myText = “立钻哥哥”; myText.alignment = TextAnchor.MiddleCenter; myText.fontSize = 20; myText.fontStyle = FontStyle.BoldAndItalic; myText.color = Color.red; } |
###5.3.2、Image控件
###5.3.2、Image控件 |
++5.3.2、Image控件
++++立钻哥哥:Image控件主要是用来显示图片,显示图片的格式是Sprite;
++[Image Type]
++++立钻哥哥:[Image Type]总共有四种选项:Simple、Tilled、Sliced、Filled;
++++[Simple]:显示单个会拉伸;
++++[Tilled]:平铺显示,图片按照原始显示;
++++[Sliced]:按照九宫格显示,拉伸区域只会在九宫格中间;
++++[Filled]:填充显示,可以根据不同的填充方式模拟技能冷却等效果;
++[Image Type]的[Filled填充模式]
++++立钻哥哥:[Image Type]的Filled填充模式常可以用来制作血条,冷却技能等;
Image myImage;
void Start(){ myImage = GetComponent<Image>();
myImage.filledMethod = Image.FillMethod.Radial180; }
bool isFilled = true; void Update(){ if(Input.GetKeyDown(KeyCode.Space)){ isFilled = false; }
if(!isFilled){ myImage.fillAmout += Time.deltaTime;
if(myImage.fillAmout >= 1){ myImage.fillAmount = 1; isFilled = true; } } } |
###5.3.3、RawImage控件
###5.3.3、RawImage控件 |
++5.3.3、RawImage控件
++++立钻哥哥:RawImage也是用来显示图片的控件;
++++跟Image控件的差别就是Image显示图片的格式为Sprite,RawImage显示图片的格式为Texture;
++++RawImage可以控制行列;
###5.3.4、Button控件
###5.3.4、Button控件 |
++5.3.4、Button控件
++++立钻哥哥:Button按钮控件,包含的Text控件用于显示按钮的文本;
++++当某个UGUI控件添加了Button组件:便拥有了按钮点击的功能;
++Transition过渡效果
++++立钻哥哥:Transition用于设置按钮在不同状态间的过渡效果,共有四种方式:None、Color Tint、Sprite Swap、Animation;
++++[None]:无过渡效果;
++++[Color Tint]:设置不同状态不同颜色来过渡;
++++[Sprite Swap]:设置不同图片来过渡不同状态;
++++[Animation]:设置不同动画过渡不同状态;
++Button按钮添加监听事件
++++立钻哥哥:利用[onClick.AddListener()]添加监听事件;
Button myBtn;
void Start(){ myBtn = GetComponent<Button>(); myBtn.onClick.AddListener(MyBtnClick); }
void MyBtnClick(){ Debug.Log(“立钻哥哥:按钮被点击了”); } |
###5.3.5、Slider控件
###5.3.5、Slider控件 |
++5.3.5、Slider控件
++++立钻哥哥:Slider是滑动条;
++Slider滑动条添加监听事件
++++立钻哥哥:可以利用[onValueChanged.AddListener()]添加监听事件;
Slider mySlider;
void Start(){ mySlider = GetComponent<Slider>(); mySlider.onValueChanged.AddListener(YanlzSliderValueChange); }
public void YanlzSliderValueChange(float value){ Debug.Log(“立钻哥哥:滑动条变化value = ” + value); } |
###5.3.6、ScrollBar控件
###5.3.6、ScrollBar控件 |
++5.3.6、ScrollBar控件
++++立钻哥哥:ScrollBar滑动条;Scrollbar层级视图中包含了滑块Handle;
###5.3.7、Toggle控件
###5.3.7、Toggle控件 |
++5.3.7、Toggle控件
++++立钻哥哥:Toggle单选框;可以用来创建开关按钮;层级视图中包含了显示背景的[Background]和显示文本的[Label];
++Toggle属性
++++立钻哥哥:Toggle属性:其中Group表示当前选中框是否属于某一组选中框,若是的话则所有选中框只能选中一个;
++Toggle单选框添加监听事件
++++立钻哥哥:利用[onValueChanged.AddListener()]添加事件;
Toggle myToggle;
void Start(){ myToggle = GetComponent<Toggle>(); myToggle.onValueChanged.AddListener(YanlzToggleAction); }
void YanlzToggleAction(bool isOn){ Debug.Log(“立钻哥哥:单选框点击value: ” + isOn); } |
###5.3.8、InputField控件
###5.3.8、InputField控件 |
++5.3.8、InputField控件
++++立钻哥哥:InputFiled输入框;InputField层级视图中包含[Placeholder]和[Text];
++++[Placeholder]:用于显示占位符,即输入框没有输入文本时显示的文本;
++++[Text]:用于显示输入的内容;
++InputField属性
++++立钻哥哥:
++InputField输入框添加监听事件
++++立钻哥哥:利用[onEndEdit.AddListener()]添加监听事件;
InputField myInputField;
void Start(){ myInputField = GetComponent<InputField>(); myInputField.onEndEdit.AddListener(YanlzInputFieldEndEdit); }
void YanlzInputFieldEndEdit(string text){ Debug.Log(“立钻哥哥:文本框当中的文本:” + text); } |
###5.3.9、Panel控件
###5.3.9、Panel控件 |
++5.3.9、Panel控件
++++立钻哥哥:Panel面板,功能相当于空间的容器,里面可以存放其他控件;
++++Panel面板的作用:使用Panel控件可以整体移动和处理一组控件;
++++[设计规范]:一个功能完备的UI界面会使用多个Panel控件;
###5.3.10、RectTransform位置
###5.3.10、RectTransform位置 |
++5.3.10、RectTransform位置
++++立钻哥哥:[RectTransform]的作用是用来计算UI的位置和大小;
++++[RectTransform]继承于Transform,具有Transform的所有特征,通过[RectTransform]能够实现基本的布局和层次控制;
++[RectTransform]属性
++++立钻哥哥:[RectTransform]中专有属性:Pos X,Pos Y;Pivot;Anchor;Width&Height;Left,Right,Top,Botton;
++++[Pos X, Pos Y]:Pivot与Anchor的距离;
++++[Pivot]:中心点,中轴;
++++[Anchor]:锚点;
++++[Width & Height]:宽与高,相对于锚点;
++++[Left, Right, Top, Botton]:左右上下;
###5.3.11、Pivot中心点
###5.3.11、Pivot中心点 |
++5.3.11、Pivot中心点
++++立钻哥哥:Pivot中心点:按下[T键]选中某一个UI控件即可看到UI控件的中心点;
++++中心点也叫中心轴,当鼠标拖动UI控件进行旋转的时候会围绕中心点旋转;
++++中心点为矩形的一部分;
++++0对应左下角;1对应右上角;
###5.3.12、Anchor锚点
###5.3.12、Anchor锚点 |
++5.3.12、Anchor锚点
++++立钻哥哥:Anchor锚点表示的是相对于父级矩形的子矩形区域;
++++Anchor锚点有多种摆放方式:可以为矩形、点状、线状;
++++Anchor锚点移动范围仅限于父级视图当中;
++++[Anchor锚点呈点状]:当UI的锚点为中心点时,不管父控件的大小怎么改变,UI距离锚点的位置固定,大小固定;
++++[Anchor锚点与组件本身重合]:当UI的锚点为四方形或者与UI本身大小相同的时候,UI的大小与父控件的大小变换成正比;
++++[Anchor锚点与父物体重合]:当UI控件的锚点与父物体重合的时候,不管父物体怎么变化,UI控件四条边相对于锚点四条边的距离保持不变;
++++[Anchor锚点呈线状]:当UI控件的锚点呈线状并为竖直方向时,则UI控件竖直方向的大小与父物体竖直方向的大小成正比,水平方向大小不变;当锚点呈线状并且为水平方向时,则水平方向大小与父物体水平方向的大小成正比,竖直方向大小不变;
##5.4、Canvas三种模式
##5.4、Canvas三种模式 |
++5.4、Canvas三种模式
++++5.4.1、Canvas画布
++++5.4.2、Canvas渲染模式
###5.4.1、Canvas画布
###5.4.1、Canvas画布 |
++5.4.1、Canvas画布
++++立钻哥哥:Canvas画布是所有UGUI控件的根类,所有UGUI控件的绘制都必须在Canvas上;
++++创建Canvas有两种方式:
--方式1:直接添加Canvas;
--方式2:添加控件的时候由系统自动添加;
###5.4.2、Canvas渲染模式
###5.4.2、Canvas渲染模式 |
++5.4.2、Canvas渲染模式
++++立钻哥哥:在Canvas组件中可以通过[RenderMode]来设置Canvas的渲染模式;
++++官方参考:https://docs.unity3d.com/Manual/UICanvas.html
++++Canvas共有三种渲染模式:[Screen Space-Overlay]、[Screen Space-Camera]、[World Space];
++++[Screen Space-Overlay]:不需要UI摄像机,Canvas画布将会一直出现在摄像机的最前面;
++++[Screen Space-Camera]:需要一个UI Camera,支持UI前方显示3D模型和粒子系统;
++++[World Space]:UI控件成为3D场景当中一部分,VR中UI都是[World Space]模式;
++[Screen Space-Overlay]模式
++++立钻哥哥:[Screen Space-Overlay]模式的画布将呈现在摄像机最前面,其他所有物体都会被遮挡,即使没有主摄像机,画布也会显示出来;
++[Screen Space-Camera]模式
++++立钻哥哥:[Screen Space-Camera]模式可以设置[Plane Distance]为Canvas与摄像机的距离,三维物体处于Canvas与摄像机之间的物体将会被显示出来,Canvas后面的将会被覆盖;
++[World Space]模式
++++立钻哥哥:[World Space]模式下Canvas相对于三维世界中的一部分,相当于一个GameObject,可以对其进行平移,缩放,旋转;
++++VR中的Canvas都是这种模式([World Space]);
##5.5、布局控件
##5.5、布局控件 |
++5.5、布局控件
++++5.5.1、LayoutGroup组件
++++5.5.2、Horizontal Layout Group组件
++++5.5.3、Vertical Layout Group组件
++++5.5.4、Grid Layout Group组件
###5.5.1、LayoutGroup组件
###5.5.1、LayoutGroup组件 |
++5.5.1、LayoutGroup组件
++++立钻哥哥:Unity提供了布局组件,便于对子控件进行布局;一个控件上面只能有一种布局组件;
++++Layout布局组件有三种:
--1、水平布局:Horizontal Layout Group;
--2、垂直布局:Vertical Layout Group;
--3、网格布局:Grid Layout Group;
###5.5.2、Horizontal Layout Group组件
###5.5.2、Horizontal Layout Group组件 |
++5.5.2、Horizontal Layout Group组件
++++立钻哥哥:水平布局:Horizontal Layout Group;
++++[Padding]:上下左右的边距;
++++[Spacing]:子控件在水平方向上的间距;
++++[Child Alignment]:子控件在水平方向上的排列方式;
++++[Child Force Expand]:自适应宽高,是否强行扩大布局元素以填补额外可用的空间;
###5.5.3、Vertical Layout Group组件
###5.5.3、Vertical Layout Group组件 |
++5.5.3、Vertical Layout Group组件
++++立钻哥哥:垂直布局:Vertical Layout Group;
++++[Padding]:上下左右的边距;
++++[Spacing]:子控件在垂直方向上的间距;
++++[Child Alignment]:子控件在垂直方向上的排列方式;
++++[Child Force Expand]:自适应宽高,是否强行扩大布局元素以填补额外可用的空间;
###5.5.4、Grid Layout Group组件
###5.5.4、Grid Layout Group组件 |
++5.5.4、Grid Layout Group组件
++++立钻哥哥:网格布局:Grid Layout Group;
++++[Padding]:上下左右的边距;
++++[Cell Size]:单元格的大小;
++++[Spacing]:单元格在X与Y轴方向上的间距;
++++[Start Corner]:第一个元素开始的位置;
++++[Start Axis]:元素排列沿着哪一个方向轴;
++++[Child Alignment]:子元素对齐方式;
++++[Constraint]:填充方式,可以固定行和列;
##5.6、拖动效果
##5.6、拖动效果 |
++5.6、拖动效果
++++5.6.1、ScrollView滑动视图
++++5.6.2、ScrollRect组件
++++5.6.3、自定义滑动视图
###5.6.1、ScrollView滑动视图
###5.6.1、ScrollView滑动视图 |
++5.6.1、ScrollView滑动视图
++++立钻哥哥:使用ScrollView滑动视图制作的界面视图,可以上下滑动查看更多的选项;
++++[Viewport]为滑动视图显示的内容;
++++[Scrollbar Horizontal]:为横向滑动条;
++++[Scrollbar Vertical]:为纵向滑动条;
###5.6.2、ScrollRect组件
###5.6.2、ScrollRect组件 |
++5.6.2、ScrollRect组件
++++立钻哥哥:ScrollView滑动视图当中起滑动功能的组件是[ScrollRect],通过[ScrollRect]可以设置跟滑动相关的属性;
++++[Content]:可滑动的区域;
++++[Horizontal, Vertical]:水平,垂直方向是否可滑动;
++++[Movement Type]:滑动方式,包括:无限制滑动,弹力限制,无弹力限制;
++++[Elasticity]:回弹的弹力大小;
++++[Inertia]:惯性;
++++[Deceleration Rate]:减速的速率;
++++[Scroll Sensitivity]:滑动的灵敏度;
++++[Horizontal Scrollar]:横向滑动条;
++++[Vertical Scollbar]:垂直滑动条;
###5.6.3、自定义滑动视图
###5.6.3、自定义滑动视图 |
++5.6.3、自定义滑动视图
++++立钻哥哥:自定义滑动视图:[Scroll Rect]+[Vertical Layout Group]+[Mask];
++++[步骤一]:创建滑动视图“ScrollButton”,添加[Scroll Rect]组件;
++++[步骤二]:在ScrollButton下创建内容视图Content,将其赋值给[Scroll Rect]的[Content属性];
++++[步骤三]:给Content添加布局组件[Vertical Layout Group],让子视图能够垂直布局;
++++[步骤四]:给ScrollButton添加[Mask组件],超过ScrollButton本身大小的不显示;
##5.7、回调事件
##5.7、回调事件 |
++5.7、回调事件
++++5.7.1、EventSystem
++++5.7.2、UGUI的回调方法
++++5.7.3、事件使用示例
###5.7.1、EventSystem
###5.7.1、EventSystem |
++5.7.1、EventSystem
++++立钻哥哥:EventSystem对象下有三个组件:[EventSystem]、[Standalone Input Module]、[Touch Input Module];
++++[EventSystem]:主要用于负责处理输入、射线投射以及发送事件;
++++[StandaloneInputModule]:继承自BaseInputModule;
++++[TouchInputMoudle]:继承自BaseInputModule;
++++[BaseInputModule]:是一个基类模块,负责发送输入事件(点击,拖拽,选中)到具体对象;
++++一个场景当中只能有一个[EventSystem],并且需要[BaseInputModule]组件才能协助工作;
###5.7.2、UGUI的回调方法
###5.7.2、UGUI的回调方法 |
++5.7.2、UGUI的回调方法
++++立钻哥哥:输入模块[StandaloneModule]和[TouchInputModule]两个组件会检测到用户的一些输入事件,并且以事件的方式通知目标对象;实现这些回调方法需要实现相应的接口;
++UGUI常用的回调事件
++++立钻哥哥:UGUI常用的回调事件:OnPointerEnter()、OnPointerExit()、OnPointerDown()、OnPointerUp()、OnPointerClick()、OnPointerDrag()、OnDrag()、OnEndDrag();
++++[void OnPointerEnter(PointerEventData eventData)]:IPointerEnterHandle:鼠标进入;
++++[void OnPointerExit(PointerEventData eventData)]:IPointerExitHandle:鼠标离开;
++++[void OnPointerDown(PointerEventData eventData)]:IPointerDownHandle:鼠标点下;
++++[void OnPointerUp(PointerEventData eventData)]:IPointerUpHandle:鼠标抬起;
++++[void OnPointerClick(PointerEventData eventData)]:IPointerClickHandle:鼠标点击;
++++[void OnPointerDrag(PointerEventData eventData)]:IBeginDragHandle:开始拖拽;
++++[void OnDrag(PointerEventData eventData)]:IDragHandle:拖拽中;
++++[void OnEndDrag(PointerEventData eventData)]:IEndDragHandle:结束拖拽;
###5.7.3、事件使用示例
++5.7.3、事件使用示例
++++立钻哥哥:以Button为例添加事件,有三种方式:
--(1)实现接口,触发回调事件;
--(2)在Unity引擎中绑定;
--(3)给按钮添加监听事件;
++(1)实现接口,触发回调事件
++++立钻哥哥:重写[IPointerClickHandler]接口中的[OnPointerClick()]方法;
using UnityEngine.UI; using UnityEngine.EventSystems;
public class YanlzButtonController : MonoBehaviour, IPointerClickHandler{ public void OnPointerClick(PointerEventData eventData){ Debug.Log(“立钻哥哥:按钮被点击了”); } } //立钻哥哥:继承IPointerClickHandlder接口 |
++(2)在Unity中绑定
++++立钻哥哥:在Button组件中的[OnClick()]属性中绑定;
public class YanlzButtonController : MonoBehaviour{ public void ButtonClickListener(){ Debug.Log(“立钻哥哥:按钮点击响应事件”); } } |
++(3)给按钮添加监听事件
++++立钻哥哥:利用[onClick.AddListener()]方式实现;
Button myBtn;
void Start(){ myBtn = GetComponent<Button>(); myBtn.onClick.AddListener(YanlzTestBtnClick); }
void YanlzTestBtnClick(){ Debug.Log(“立钻哥哥:测试按钮点击!”); } |
##5.8、UGUI背包系统
##5.8、UGUI背包系统 |
++5.8、UGUI背包系统
++++立钻哥哥:UGUI应用最多的地方就是背包系统了,其综合性比较强,背包系统做好了,其移植性和重用性都比较好;
++++背包里面最主要的功能是物品拖动应用到角色身上,以及物品与物品之间的交换;
++++UGUI在游戏中实现“商店”方面等应用也比较多;
#第6讲:Unity动画系统
#第6讲:Unity动画系统 |
++++Unity企业内训(第6讲):https://blog.csdn.net/VRunSoftYanlz/article/details/84207696
++立钻哥哥推荐的拓展学习链接(Link_Url):
立钻哥哥推荐的拓展学习链接(Link_Url) |
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
++++Unity企业内训(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82634668
++++Unity企业内训(第1讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82634733
++++Unity企业内训(第2讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82861180
++++Unity企业内训(第3讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82927699
++++Unity企业内训(第4讲):https://blog.csdn.net/VRunSoftYanlz/article/details/83479776
++++Unity企业内训(第5讲):https://blog.csdn.net/VRunSoftYanlz/article/details/83963811
++++VR实验:以太网帧的构成:https://blog.csdn.net/VRunSoftYanlz/article/details/82598140
++++FrameVR示例V0913:https://blog.csdn.net/VRunSoftYanlz/article/details/82808498
++++FrameVR示例V1003:https://blog.csdn.net/VRunSoftYanlz/article/details/83066516
++++SwitchMachineV1022:https://blog.csdn.net/VRunSoftYanlz/article/details/83280886
++++PlaySceneManagerV1022:https://blog.csdn.net/VRunSoftYanlz/article/details/83280886
++++计算机组成原理(教材篇):https://blog.csdn.net/VRunSoftYanlz/article/details/82719129
++++HTC_VIVE开发基础:https://blog.csdn.net/VRunSoftYanlz/article/details/81989970
++++Oculus杂谈:https://blog.csdn.net/VRunSoftYanlz/article/details/82469850
++++Oculus安装使用:https://blog.csdn.net/VRunSoftYanlz/article/details/82718982
++++VRTK杂谈:https://blog.csdn.net/VRunSoftYanlz/article/details/82562993
++++VRTK快速入门(杂谈):https://blog.csdn.net/VRunSoftYanlz/article/details/82955267
++++VRTK官方示例(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82955410
++++VRTK代码结构(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82780085
++++VRTK(SceneResources):https://blog.csdn.net/VRunSoftYanlz/article/details/82795400
++++VRTK_ControllerEvents:https://blog.csdn.net/VRunSoftYanlz/article/details/83099512
++++VRTK_InteractTouch:https://blog.csdn.net/VRunSoftYanlz/article/details/83120220
++++Unity5.x用户手册:https://blog.csdn.net/VRunSoftYanlz/article/details/81712741
++++Unity面试题ABC:https://blog.csdn.net/vrunsoftyanlz/article/details/78630687
++++Unity面试题D:https://blog.csdn.net/VRunSoftYanlz/article/details/78630838
++++Unity面试题E:https://blog.csdn.net/vrunsoftyanlz/article/details/78630913
++++Unity面试题F:https://blog.csdn.net/VRunSoftYanlz/article/details/78630945
++++Cocos2dx面试题:https://blog.csdn.net/VRunSoftYanlz/article/details/78630967
++++Lua快速入门篇(Xlua拓展):https://blog.csdn.net/VRunSoftYanlz/article/details/81173818
++++Lua快速入门篇(XLua教程):https://blog.csdn.net/VRunSoftYanlz/article/details/81141502
++++Lua快速入门篇(基础概述):https://blog.csdn.net/VRunSoftYanlz/article/details/81041359
++++框架知识点:https://blog.csdn.net/VRunSoftYanlz/article/details/80862879
++++游戏框架(UI框架夯实篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80781140
++++游戏框架(初探篇):https://blog.csdn.net/VRunSoftYanlz/article/details/80630325
++++设计模式简单整理:https://blog.csdn.net/vrunsoftyanlz/article/details/79839641
++++专题:设计模式(精华篇):https://blog.csdn.net/VRunSoftYanlz/article/details/81322678
++++U3D小项目参考:https://blog.csdn.net/vrunsoftyanlz/article/details/80141811
++++Unity案例(Vehicle):https://blog.csdn.net/VRunSoftYanlz/article/details/82355876
++++UML类图:https://blog.csdn.net/vrunsoftyanlz/article/details/80289461
++++Unity知识点0001:https://blog.csdn.net/vrunsoftyanlz/article/details/80302012
++++Unity知识点0008:https://blog.csdn.net/VRunSoftYanlz/article/details/81153606
++++U3D_Shader编程(第一篇:快速入门篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80372071
++++U3D_Shader编程(第二篇:基础夯实篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80372628
++++Unity引擎基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78881685
++++Unity面向组件开发:https://blog.csdn.net/vrunsoftyanlz/article/details/78881752
++++Unity物理系统:https://blog.csdn.net/vrunsoftyanlz/article/details/78881879
++++Unity2D平台开发:https://blog.csdn.net/vrunsoftyanlz/article/details/78882034
++++UGUI基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78884693
++++UGUI进阶:https://blog.csdn.net/vrunsoftyanlz/article/details/78884882
++++UGUI综合:https://blog.csdn.net/vrunsoftyanlz/article/details/78885013
++++Unity动画系统基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78886068
++++Unity动画系统进阶:https://blog.csdn.net/vrunsoftyanlz/article/details/78886198
++++Navigation导航系统:https://blog.csdn.net/vrunsoftyanlz/article/details/78886281
++++Unity特效渲染:https://blog.csdn.net/vrunsoftyanlz/article/details/78886403
++++Unity数据存储:https://blog.csdn.net/vrunsoftyanlz/article/details/79251273
++++Unity中Sqlite数据库:https://blog.csdn.net/vrunsoftyanlz/article/details/79254162
++++WWW类和协程:https://blog.csdn.net/vrunsoftyanlz/article/details/79254559
++++Unity网络:https://blog.csdn.net/vrunsoftyanlz/article/details/79254902
++++C#事件:https://blog.csdn.net/vrunsoftyanlz/article/details/78631267
++++C#委托:https://blog.csdn.net/vrunsoftyanlz/article/details/78631183
++++C#集合:https://blog.csdn.net/vrunsoftyanlz/article/details/78631175
++++C#泛型:https://blog.csdn.net/vrunsoftyanlz/article/details/78631141
++++C#接口:https://blog.csdn.net/vrunsoftyanlz/article/details/78631122
++++C#静态类:https://blog.csdn.net/vrunsoftyanlz/article/details/78630979
++++C#中System.String类:https://blog.csdn.net/vrunsoftyanlz/article/details/78630945
++++C#数据类型:https://blog.csdn.net/vrunsoftyanlz/article/details/78630913
++++Unity3D默认的快捷键:https://blog.csdn.net/vrunsoftyanlz/article/details/78630838
++++游戏相关缩写:https://blog.csdn.net/vrunsoftyanlz/article/details/78630687
++++UnityAPI.Rigidbody刚体:https://blog.csdn.net/VRunSoftYanlz/article/details/81784053
++++UnityAPI.Material材质:https://blog.csdn.net/VRunSoftYanlz/article/details/81814303
++++UnityAPI.Android安卓:https://blog.csdn.net/VRunSoftYanlz/article/details/81843193
++++UnityAPI.AndroidJNI安卓JNI:https://blog.csdn.net/VRunSoftYanlz/article/details/81879345
++++UnityAPI.Transform变换:https://blog.csdn.net/VRunSoftYanlz/article/details/81916293
++++UnityAPI.WheelCollider轮碰撞器:https://blog.csdn.net/VRunSoftYanlz/article/details/82356217
++++UnityAPI.Resources资源:https://blog.csdn.net/VRunSoftYanlz/article/details/83155518
++++JSON数据结构:https://blog.csdn.net/VRunSoftYanlz/article/details/82026644
++++CocosStudio快速入门:https://blog.csdn.net/VRunSoftYanlz/article/details/82356839
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
--_--VRunSoft:lovezuanzuan--_--