版本 |
作者 |
参与者 |
完成日期 |
备注 |
UnityAPI_Animation_V01_1.0 |
严立钻 |
|
2020.06.23 |
|
|
|
|
|
|
立钻哥哥: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/
#Animation动画 |
#Animation动画++A1、Description描述++B2、Variables变量++C3、Public Function共有函数++D4、Message消息 |
#A1、Description描述 |
++++指定动画剪辑到动画组件并从脚本控制播放;该动画系统是基于权重并支持动画融合、添加动画、动画混合、层并完全控制播放的各个方面;
++++AnimationState可以用于改变动画的层、修改播放速度以及直接控制融合与混合;
++++动画也支持枚举,所以可以像这样在AnimationStates之间循环;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzAnimation : MonoBehaviour{ public Animation anim;
void Start(){ anim = GetComponent<Animation>(); foreach(AnimationState state in anim){ state.speed = 0.5F; } //立钻哥哥:foreach(){} } //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzAnimation{} |
#B2、Variables变量 |
++B2、Variables变量++++B2.1、animatePhysics++++B2.2、clip++++B2.3、cullingType++++B2.4、isPlaying++++B2.5、localBounds++++B2.6、playAutomatically++++B2.7、this[string]++++B2.8、wrapMode++++B2.9、YanlzXREngine.Animation.Variables |
++B2.1、animatePhysics |
public bool animatePhysics; |
++++如果打开这个选项,动画会在物理循环过程中被执行;这个选项只有在结合运动学刚体的时候才有用;
++++一个动画平台可以应用速度和摩擦到其顶部的刚体;为了使用这个,animatePhysics必须被启用,并且动画物体必须为一个运动学刚体;
++B2.2、clip |
public AnimationClip clip; |
++++默认的动画;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzAnimation : MonoBehaviour{ public Animation anim;
IEnumerator Start(){ anim = GetComponent<Animation>(); anim.Play(anim.clip.name); yield return new WaitForSeconds(anim.clip.length); } //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzAnimation{} |
++B2.3、cullingType |
public AnimationCullingType cullingType; |
++++控制动画组件的剔除类型;
++B2.4、isPlaying |
public bool isPlaying; |
++++有任意动画正播放?
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzAnimation : MonoBehaviour{ public Animation anim;
void Start(){ anim = GetComponent<Animation>(); } //立钻哥哥:void Start(){}
void OnMouseEnter(){ if(!anim.isPlaying){ anim.Play(); } //立钻哥哥:if(){} } //立钻哥哥:void OnMouseEnter(){}
} //立钻哥哥:public class YanlzAnimation{} |
++B2.5、localBounds |
public Bounds localBounds; |
++++在本地坐标空间这个动画的动画组件的AABB;
++++默认是基于动画状态计算(附加的动画剪辑),除非用户设置localBounds的值覆盖;
++B2.6、playAutomatically |
public bool playAutomatically; |
++++在启动的时候是否自动播放默认动画剪辑(Animation.clip);
++B2.7、this[string] |
public AnimationState this[string]; |
++++返回指定名称的动画状态;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzAnimation : MonoBehaviour{ public Animation anim;
void Start(){ anim = GetComponent<Animation>(); anim[“MyWalk”].speed = 2.0f; anim[“MyRun”].weight = 0.5f; } //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzAnimation{} |
++B2.8、wrapMode |
public WrapMode wrapMode; |
++++动画剪辑播放完成之后,应该如何操作?
#C3、Public Functions公有函数 |
++C3、Public Functions公有函数++++C3.1、AddClip++++C3.2、Blend++++C3.3、CrossFade++++C3.4、CrossFadeQueued++++C3.5、GetClipCount++++C3.6、IsPlaying++++C3.7、Play++++C3.8、PlayQueued++++C3.9、RemoveClip++++C3.10、Rewind++++C3.11、Sample++++C3.12、Stop++++C3.13、YanlzXREngine.Animation.PublicFunctions |
++C3.1、AddClip |
public void AddClip(AnimationClip clip, string newName);public void AddClip(AnimationClip clip, string newName, int firstName, int lastFrame, bool addLoopFrame=false); |
++++[addLoopFrame]:是否应该在最后插入一个额外的帧匹配第一帧?如果在制作一个循环的动画,那么可以打开这个选项;
++++添加一个指定名称的动画剪辑;
++++在firstFrame和lastFrame之间添加动画剪辑,新的动画剪辑也会被添加到名称为newName的动画中;
++++如果已存在具有相同名称的剪辑,会被替换为新剪辑;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzAnimation : MonoBehaviour{ public AnimationClip walkClip; public Animation anim;
void Start(){ anim = GetComponent<Animation>(); anim.AddClip(walkClip, “MyWalk”); } //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzAnimation{}
|
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzAnimation : MonoBehaviour{ public Animation anim;
void Start(){ anim = GetComponent<Animation>();
anim.AddClip(anim.clip, “MyShoot”, 0, 10); anim.AddClip(anim.clip, “MyWalk”, 11, 20, true); anim.AddClip(anim.clip, “MyIdle”, 21, 30, true); } //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzAnimation{} |
++C3.2、Blend |
public void Blend(string animation, float targetWeight=1.0F, float fadeLength=0.3F); |
++++在接下来的几秒内混合命名为animation的动画到targetWeight;
++++其他动画的播放将不会受到影响;
++C3.3、CrossFade |
public void CrossFade(string animation, float fadeLength=0.3F, PlayMode mode=PlayMode.StopSameLayer); |
++++在一定时间内淡入名称为name的动画并且淡出其他动画;
++++如果模式是PlayMode.StopSameLayer,在同一层的动画将在动画淡入的时候淡出;如果模式是PlayMode.StopAll,所有动画将在淡入的时候淡出;
++++如果动画没有被设置成循环,它将停止并且在播放完成之后倒带至开始;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzAnimation : MonoBehaviour{ public Animation anim;
void Start(){ anim = GetComponent<Animation>(); } //立钻哥哥:void Start(){}
void Update(){ if(Mathf.Abs(Input.GetAxis(“Vertical”)) > 0.1F){ anim.CrossFade(“MyRun”); }else{ anim.CrossFade(“MyIdle”); } //立钻哥哥:if()else(){} } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzAnimation{} |
++C3.4、CrossFadeQueued |
public AnimationState CrossFadeQueued(string animation, float fadeLength=0.3F, QueueMode queue=QueueMode.CompleteOthers, PlayMode mode=PlayMode.StopSameLayer); |
++++在前一个动画播放完成之后淡入淡出下一个动画;
++++例如可以播放一个特定的动画序列;
++++动画在播放前复制自身,因此可以在相同的动画间渐变,这可用来重叠两个相同的动画;例如可能有一个挥剑的动画,玩家快速挥动了2次,可以回放这个动画并从开始播放它,但会跳帧;
++++如果queue为QueueMode.CompleteOthers这个动画只在所有其他动画都停止播放时才开始;
++++如果queue为QueueMode.PlayNow这个动画将以一个复制的动画状态立即开始播放;
++++动画播放完成后它间自动清除它自己;在播放完成后使用赋值的动画将导致一个异常;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzAnimation : MonoBehaviour{ public Animation anim;
void Start(){ anim = GetComponent<Animation>(); } //立钻哥哥:void Start(){}
void Update(){ if(Input.GetButtonDown(“Fire1”)){ anim.CrossFadeQueued(“MyShoot”, 0.3F, QueueMode.PlayNow); } //立钻哥哥:if()else(){} } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzAnimation{} |
++C3.5、GetClipCount |
public int GetClipCount(); |
++++取得该动画的动画剪辑数量;
++C3.6、IsPlaying |
public bool IsPlaying(string name); |
++++名为name的动画正在播放吗?
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzAnimation : MonoBehaviour{ public Animation anim;
void Start(){ anim = GetComponent<Animation>(); } //立钻哥哥:void Start(){}
void OnMouseEnter(){ if(!anim.IsPlaying(“MymouseOverEffect”)){ anim.Play(“MyMouseOverEffect”); } //立钻哥哥:if(){} } //立钻哥哥:void OnMouseEnter(){}
} //立钻哥哥:public class YanlzAnimation{} |
++C3.7、Play |
public bool Play(PlayMode mode=PlayMode.StopSameLayer);public bool Play(string, animation, PlayMode mode=PlayMode.StopSameLayer); |
++++不带有任何混合的播放动画;
++++如果不指定名称那么会播放默认动画;在无默认动画或没有指定名称的动画,那么不会播放动画并返回null;
++++playMode选项是让选择该动画怎样影响其他正播放的动画;
++++如果指定的动画正在播放,那么其他的动画将被停止,但是该动画不会回到开头;
++++当达到动画结束将自动停止并倒回到开始,除非播放模式设置为循环;
++++注意:如果对象在更新期间调用Animation.Play,对象被取消激活,那么播放会取消;当对象之后重新被激活,动画也不会开始播放;但是,如果后续帧的继续调用(即,而对象仍然处于非活动状态),则动画将在对象重新激活后开始播放;
++C3.8、PlayQueued |
public AnimationState PlayQueued(string animation, QueueMode queue=QueueMode.CompleteOthers, PlayMode mode=PlayMode.StopSameLayer); |
++++在前一个动画播放完成之后直接播放下一个动画;
++++比如可能会一个接一个播放一个特殊序列的动画;
++++动画状态在播放之前会复制自己,因此可以在相同的动画之间进行淡入淡出;这个可以用于覆盖两个相同的动画;比如可能有一个剑挥舞的动画,玩家连续快速削两次;可以倒播这个动画然后从头再播放但是会看到动画之间有跳跃现象;
++++如果queue是QueueMode.CompleteOthers,当所有其他动画停止播放,这个动画才会开始;
++++如果queue是QueueMode.PlayNow,这个动画将在一个重复的动画状态下立即开始播放;
++++当动画完成播放之后,它会自动清理;在一个动画状态结束之后使用它,将会导致一个异常;
++C3.9、RemoveClip |
public void RemoveClip(AnimationClip clip);public void RemoveClip(string clipName); |
++++从动画列表移除剪辑;
++++这将去掉剪辑和所有基于这个剪辑的动画状态;
++++这将去掉名称为clipName的动画状态;
++C3.10、Rewind |
public void Rewind(string name);public void Rewind(); |
++++倒回名称为name的动画;
++++倒回所有动画;
++C3.11、Sample |
public void Sample(); |
++++在当前状态对动画进行采样;
++++当明确想设置一些动画状态并且对它取样一次的时候有用;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzAnimation : MonoBehaviour{ public Animation anim;
void Start(){ anim = GetComponent<Animation>();
anim[“MyClip”].time = 2.0F; anim[“MyClip”].enabled = true; anim.Sample(); anim[“MyClip”].enabled = false; } //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzAnimation{} |
++C3.12、Stop |
public void Stop(); |
++++停止所有当前Animation正在播放的动画;
++++停止一个动画会让动画重回开会位置;
#D4、立钻哥哥对Animation类的拓展 |
++++【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--_--