版本 |
作者 |
参与者 |
完成日期 |
备注 |
UnityAPI_Quaternion_V01_1.0 |
严立钻 |
|
2020.07.10 |
|
|
|
|
|
|
立钻哥哥:Unity是一个入门快、提高难的游戏引擎,想要提升能力,至少需要越过3道坎:API+Shader+综合能力;++1、API的积累:对API的合理利用不仅可以减轻自己的编码负担,而且往往可以提高程序的运行效率;这也是钻哥开始“Unity API”独立打造分类的初衷; ++2、Shader编程:想要做出一款精品游戏往往需要有高效的Shader的支持;Unity提供了一套改良的“Shader Lab”系统,优化了繁杂的“Open GL”编程; ++3、综合能力(技术+业务+管理):一款产品的制作除了功能编程外,往往会涉及很多其他领域,例如产品架构、UI交互设计、模型制作等,作为主要的编程人员,对其他相关领域的了解程序往往会影响到产品制作直至最后的产品体验; ++++立钻哥哥一直在推动【VR云游戏=Unity+SteamVR+云技术+5G+AI】,这个只是一个引子,抛砖引玉让大家对整个知识体系有一个明确的落地方向,宝宝们可以根据自己的兴趣方向进行拓展:比如Unity这里是指一种“3D游戏引擎”,也可拓展至“UE4、Cocos2dx”等游戏引擎;SteamVR是一种跨硬件解决方案,也可拓展至“VRTK”等第三方插件;“云技术+5G”是一种跨平台解决方案的核心技术,同样可拓展至其他平台解决方案;AI也是一种先进技术的举例,也可以拓展至任何一种前沿技术; |
++++【Unity API】分类:https://blog.csdn.net/vrunsoftyanlz/category_7637520.html
++++【Unity开发基础】分类:https://blog.csdn.net/vrunsoftyanlz/category_7309057.html
++++【Linux系统编程】分类:https://blog.csdn.net/vrunsoftyanlz/category_9694767.html
++++【C++C铸就生存利器】分类:https://blog.csdn.net/vrunsoftyanlz/category_9325802.html
++++【人工智能AI2026】分类:https://blog.csdn.net/vrunsoftyanlz/category_9212024.html
++++【立钻哥哥CSDN空间】:https://blog.csdn.net/VRunSoftYanlz/
#Quaternion四元数 |
#Quaternion四元数++A1、Description描述++B2、Variables变量++C3、Public Function共有函数++D4、Message消息 |
#A1、Description描述 |
++++Quaternion是紧凑的,不会出现万向节锁并且能够很容易被插值;Unity内使用Quaternion表示所有旋转;
++++Quaternion基于负数并且直觉上不容易理解;几乎不必要进入或者修改个人的四元数组件(x,y,z,w);通常只需把现有的旋转(例如,来自Transform)并使用它们来构造新的旋转(例如,在两个旋转间平滑地插值);四元数函数99%的时间会使用:Quaternion.LookRotation,Quaternion.Angle,Quaternion.Euler,Quaternion.Slerp,Quaternion.FromToRotation,Quaternion.identity;
++++可以使用Quaternion.operator*:由另一个四元素来旋转一个旋转角度,或者由一个旋转角度来旋转一个向量;
#B2、Static Variables静态变量 |
++B2、Static Variables静态变量++++B2.1、identity++++B2.2、YanlzXREngine.Quaternion.StaticVariables |
++B2.1、identity |
public static Quaternion identity; |
++++同一性旋转(只读);
++++该四元数,相当于“无旋转”:这个物体完全对齐于世界或父轴;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{
void MyTestFunc(){ transform.rotation = Quaternion.identity; } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzQuaternion{} |
#C3、Variables变量 |
++C3、Variables变量++++C3.1、eulerAngles++++C3.2、this[int]++++C3.3、w++++C3.4、x++++C3.5、y++++C3.6、z++++C3.7、YanlzXREngine.Quaternion.Variables |
++C3.1、eulerAngles |
public Vector3 eulerAngles; |
++++返回表示旋转的欧拉角度;
++++表示旋转的角度,绕z轴旋转euler.z度,绕x轴旋转euler.x度,绕y轴旋转euler.y度(这样的顺序);
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{ public Quaternion rotation = Quaternion.identity;
void MyTestFunc(){ rotation.eulerAngles = new Vector3(0, 30, 0); Debug.Log(rotation.eulerAngles.y); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++C3.2、this[int] |
public float this[int]; |
++++分别使用[0]、[1]、[2]、[3],访问x、y、z、w组件;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{ public Quaternion p;
void MyTestFunc(){ p[3] = 0.5F; } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++C3.3、w |
public float w; |
++++四元数的W组件;不要直接修改这个,除非你很了解四元数;
++C3.4、x |
public float x; |
++++四元数的X组件;不要直接修改这个,除非你很了解四元数;
++C3.5、y |
public float y; |
++++四元数的Y组件;不要直接修改这个,除非很了解四元数;
++C3.6、z |
public float z; |
++++四元数的Z组件;不要直接修改这个,除非很了解四元数;
#D4、Constructors构造器 |
++D4、Constructors构造器++++D4.1、Quaternion++++D4.2、YanlzXREngine.Quaternion.Constructors |
++D4.1、Quaternion |
public Quaternion(float x, float y, float z, float w); |
++++用给定的x、y、z、w组件,构造新的四元数;
#E5、Public Functions公有函数 |
++E5、Public Functions公有函数++++E5.1、Set++++E5.2、SetFromToRotation++++E5.3、SetLookRotation++++E5.4、ToAngleAxis++++E5.5、ToString++++E5.6、YanlzXREngine.Quaternion.PublicFunctions |
++E5.1、Set |
public void Set(float new_x, float new_y, float new_z, float new_z); |
++++设置存在的四元数的x,y,z和w组件;
++E5.2、SetFromToRotation |
public void SetFromToRotation(Vector3 fromDirection, Vector3 toDirection); |
++++创建一个从fromDirection到toDirection的旋转;
++E5.3、SetLookRotation |
public void SetLookRotation(Vector3 view, Vector3 up=Vector3.up); |
++++[view]:看向的方向;
++++[up]:定义那个方向向上;
++++创建一个旋转,沿着forward(z轴)并且头部沿着up(y轴)的约束注视;也就是建立一个旋转,使z轴朝向view y轴朝向up;
++++如果forward方向是0,记录一个错误;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{ Transform obj1; Transform obj2; Quaternion q;
void Update(){ q.SetLookRotation(obj1.position, obj2.position); transform.rotation = q; } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++E5.4、ToAngleAxis |
public void ToAngleAxis(out float angle, out Vector3 axis); |
++++转换一个旋转用“角-轴”表示;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{ public float angle = 0.0F; public Vector3 axis = Vector3.zero;
void MyTestFunc(){ transform.rotation.ToAngleAxis(out angle, out axis); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++E5.5、ToString |
public string ToString();public string ToString(string format); |
++++返回一个格式化好的四元数字符串;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Quaternion.identity); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzQuaternion{} |
#F6、Static Functions静态函数 |
++F6、Static Functions静态函数++++F6.1、Angle++++F6.2、AngleAxis++++F6.3、Dot++++F6.4、Euler++++F6.5、FromToRotation++++F6.6、Inverse++++F6.7、Lerp++++F6.8、LookRotation++++F6.9、RotateTowards++++F6.10、Slerp++++F6.11、SlerpUnclamped++++F6.12、YanlzXREngine.Quaternion.StaticFunctions |
++F6.1、Angle |
public static float Angle(Quaternion a, Quaternion b); |
++++返回a和b两者之间的角度;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{ public Transform target;
void Update(){ float angle = Quaternion.Angle(transform.rotation, target.rotation); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++F6.2、AngleAxis |
public static Quaternion AngleAxis(float angle, Vector3 axis); |
++++绕axis轴旋转angle,创建一个旋转;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{
void MyTestFunc(){ transform.rotation = Quaternion.AngleAxis(30, Vector3.up); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++F6.3、Dot |
public static float Dot(Quaternion a, Quaternion b); |
++++两个旋转之间的点乘;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{
public void Awake(){ Debug.Log(Quaternion.Dot(transform.rotation, Quaternion.identity)); } //立钻哥哥:public void Awake(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++F6.4、Euler |
public static Quaternion Euler(float x, float y, float z);public static Quaternion Euler(Vector3 euler); |
++++返回一个旋转角度,绕z轴旋转z度,绕x轴旋转x度,绕y轴旋转y度(像这样的顺序);
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{
void MyTestFunc(){ public Quaternion rotation = Quaternion.Euler(new Vector3(0, 30, 0)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++F6.5、FromToRotation |
public static Quaternion FromToRotation(Vector3 fromDirection, Vector3 toDirection); |
++++从fromDirection到toDirection创建一个旋转;
++++通常使用这个旋转一个变换的其中一个轴,例如:在世界空间,y轴跟随一个目标方向toDirection;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{
void MyTestFunc(){ transform.rotation = Quaternion.FormToRotation(Vector3.up, transform.forward); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++F6.6、Inverse |
public static Quaternion Inverse(Quaternion rotation); |
++++返回反向的旋转;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{ public Transform target;
void Update(){ transform.rotation = Quaternion.Inverse(target.rotation); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++F6.7、Lerp |
public static Quaternion Lerp(Quaternion a, Quaternion b, float t); |
++++通过t值from向to之间插值,并且规范化结果;
++++这个比Slerp更快但是如果旋转较远看起来就比较差;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{ public Transform from; public Transform to; public float speed = 0.1F;
void Update(){ transform.rotation = Quaternion.Lerp(from.rotation, to.rotation, Time.time * speed); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++F6.8、LookRotation |
public static Quaternion LookRotation(Vector3 forward, Vector3 upwards=Vector3.up); |
++++[forward]:The direction to look in;
++++[upwards]:The vector that defines in which direction up is;
++++创建一个旋转,沿着forward(z轴)并且头部沿着upwards(y轴)的约束注视;也就是建立一个旋转,使z轴朝向view y轴朝向up;
++++返回计算四元数;如果用于定向的变换,Z轴将会被对准前方并且如果这些向量正交,Y轴向前;如果forward方向是0,记录一个错误;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{ public Transform target;
void Update(){ Vector3 relativePos = target.position - transform.position; Quaternion rotation = Quaternion.LookRotation(relativePos);
transform.rotation = rotation; } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++F6.9、RotateTowards |
public static Quaternion RotateTowards(Quaternion from, Quaternion to, float maxDegreesDelta); |
++++旋转一个角度从from向to;
++++四元数表格是旋转朝向maxDegreesDelta的角度(但是注意旋转不会越过目标);maxDegreesDelta的负值将会远离直到旋转到相反的方向;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{ public Transform target; public float speed;
void Update(){ float step = speed * Time.deltaTime; transform.rotation = Quaternion.RotateTowards(transform.rotation, target.rotation, step); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++F6.10、Slerp |
public static Quaternion Slerp(Quaternion a, Quaternion b, float t); |
++++球形插值,通过t值from向to之间插值;参数取值范围[0,1];
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{ public Transform from; public Transform to; public float speed = 0.1F;
void Update(){ transform.rotation = Quaternion.Slerp(from.rotation, to.rotation, Time.time * speed); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++F6.11、SlerpUnclamped |
public static Quaternion SlerpUnclamped(Quaternion a, Quaternion b, float t); |
++++球形插值,通过t值from向to之间插值;该参数t是不在区间内;
#G7、Operators运算符 |
++G7、Operators运算符++++G7.1、operator!=++++G7.2、operator*++++G7.3、operator==++++G7.4、YanlzXREngine.Quaternion.Operators |
++G7.1、operator!= |
public static bool operator !=(Quaternion lhs, Quaternion rhs); |
++++判断两个四元数是否不同;
++++该函数测试是否来点乘产生的两个四元数小于1;
++++注意:因为四元数可以代表旋转最多两个旋转的转数(720度),这种比较可以返回true,即使产生的旋转看起来一样;
++G7.2、operator* |
public static Quaternion operator *(Quaternion lhs, Quaternion rhs);public static Vector3 operator *(Quaternion rotation, Vector3 point); |
++++[lhs]:Left-hand side quaternion;
++++[rhs]:Right-hand side quaternion;
++++获取lhs的旋转状态并应用rhs的旋转;
++++通过lhs*rhs产生的旋转是相同于按顺序逐一应用旋转:lhs首先然后rhs,相对于从结果lhs旋转引用结果;逐一:这意味着旋转不是交替的,因此lhs*rhs不是指定相同的旋转作为rhs*lhs;
++++使用point和rotation一起旋转点;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{ public Transform extraRotation;
//Applies the rotation of extraRotation to the current rotation void MyTestFunc(){ transform.rotation *= extraRotation.rotation; } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzQuaternion{}
|
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzQuaternion : MonoBehaviour{ public Vector3 relativeDirection = Vector3.forward;
void Update(){ Vector3 absoluteDirection = transform.rotation * relativeDirection; transform.position += absoluteDirection * Time.deltaTime; } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzQuaternion{} |
++G7.3、operator== |
public static bool operator ==(Quaternion lhs, Quaternion rhs); |
++++判断两个四元数是否相等;
++++该函数测试是否来点乘产生的两个四元数小于1;
++++注意:因为四元数可以代表旋转最多两个旋转的转数(720度),这种比较可以返回true,即使产生的旋转看起来一样;
#H8、立钻哥哥对Quaternion类的拓展 |
++++【Unity API】分类:https://blog.csdn.net/vrunsoftyanlz/category_7637520.html
++++【Unity开发基础】分类:https://blog.csdn.net/vrunsoftyanlz/category_7309057.html
++++【Linux系统编程】分类:https://blog.csdn.net/vrunsoftyanlz/category_9694767.html
++++【C++C铸就生存利器】分类:https://blog.csdn.net/vrunsoftyanlz/category_9325802.html
++++【人工智能AI2026】分类:https://blog.csdn.net/vrunsoftyanlz/category_9212024.html
++++【立钻哥哥CSDN空间】:https://blog.csdn.net/VRunSoftYanlz/
立钻哥哥推荐的拓展学习链接(Link_Url) |
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
++++虚拟现实VR资讯: https://blog.csdn.net/VRunSoftYanlz/article/details/89165846
++++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
++++Unity+SteamVR=>VR:https://blog.csdn.net/VRunSoftYanlz/article/details/88809370
++++Unity减少VR晕眩症:https://blog.csdn.net/VRunSoftYanlz/article/details/89115518
++++SteamVR简介:https://blog.csdn.net/VRunSoftYanlz/article/details/86484254
++++SteamVR脚本功能分析:https://blog.csdn.net/VRunSoftYanlz/article/details/86531480
++++SteamVR2.0开发指南:https://blog.csdn.net/VRunSoftYanlz/article/details/86618187
++++SteamVR2.2.0开发指南:https://blog.csdn.net/VRunSoftYanlz/article/details/88784527
++++SteamVR2.2.0快速入门:https://blog.csdn.net/VRunSoftYanlz/article/details/88833579
++++SteamVR2.2.0交互系统:https://blog.csdn.net/VRunSoftYanlz/article/details/89199778
++++SteamVR2.2.0传送机制:https://blog.csdn.net/VRunSoftYanlz/article/details/89390866
++++SteamVR2.2.0教程(一):https://blog.csdn.net/VRunSoftYanlz/article/details/89324067
++++SteamVR2.2.0教程(二):https://blog.csdn.net/VRunSoftYanlz/article/details/89894097
++++SteamVR_Skeleton_Poser:https://blog.csdn.net/VRunSoftYanlz/article/details/89931725
++++SteamVR实战之PMCore:https://blog.csdn.net/VRunSoftYanlz/article/details/89463658
++++SteamVR/Extras:https://blog.csdn.net/VRunSoftYanlz/article/details/86584108
++++SteamVR/Input:https://blog.csdn.net/VRunSoftYanlz/article/details/86601950
++++OpenXR简介:https://blog.csdn.net/VRunSoftYanlz/article/details/85726365
++++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
++++虚拟现实行业应用:https://blog.csdn.net/VRunSoftYanlz/article/details/88360157
++++Steam平台上的VR:https://blog.csdn.net/VRunSoftYanlz/article/details/88960085
++++Steam平台热销VR:https://blog.csdn.net/VRunSoftYanlz/article/details/89007741
++++VR实验:以太网帧的构成:https://blog.csdn.net/VRunSoftYanlz/article/details/82598140
++++实验四:存储器扩展实验:https://blog.csdn.net/VRunSoftYanlz/article/details/87834434
++++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
++++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
++++禅道[zentao]:https://blog.csdn.net/VRunSoftYanlz/article/details/83964057
++++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
++++.Net框架设计:https://blog.csdn.net/VRunSoftYanlz/article/details/87401225
++++从零开始学架构:https://blog.csdn.net/VRunSoftYanlz/article/details/88095895
++++设计模式简单整理: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小游戏算法分析:https://blog.csdn.net/VRunSoftYanlz/article/details/87908365
++++Unity案例(Vehicle):https://blog.csdn.net/VRunSoftYanlz/article/details/82355876
++++UML类图:https://blog.csdn.net/vrunsoftyanlz/article/details/80289461
++++PowerDesigner简介:https://blog.csdn.net/VRunSoftYanlz/article/details/86500084
++++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
++++Unity资源加密:https://blog.csdn.net/VRunSoftYanlz/article/details/87644514
++++PhotonServer简介:https://blog.csdn.net/VRunSoftYanlz/article/details/86652770
++++编写Photon游戏服务器:https://blog.csdn.net/VRunSoftYanlz/article/details/86682935
++++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企业内训(目录):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
++++Unity企业内训(第6讲):https://blog.csdn.net/VRunSoftYanlz/article/details/84207696
++++钻哥带您了解产品原型:https://blog.csdn.net/VRunSoftYanlz/article/details/87303828
++++插件
++++计算机组成原理(教材篇):https://blog.csdn.net/VRunSoftYanlz/article/details/82719129
++++5G接入:云计算和雾计算:https://blog.csdn.net/VRunSoftYanlz/article/details/88372718
++++云计算通俗讲义:https://blog.csdn.net/VRunSoftYanlz/article/details/88652803
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz
--_--VRunSoft:lovezuanzuan--_--
--_--VRunSoft:lovezuanzuan--_--