版本 |
作者 |
参与者 |
完成日期 |
备注 |
UnityAPI_Object_V01_1.0 |
严立钻 |
|
2020.05.18 |
|
|
|
|
|
|
立钻哥哥: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/
#Object对象 |
#Object对象++A1、Description描述++B2、Variables变量++C3、Public Function共有函数++D4、Message消息 |
#A1、Description描述 |
++++任何从Object继承的公共变量,将作为拖放目标显示在检视面板,允许从GUI设置值;
立钻哥哥:Base class for all objects Unity can reference. Any public variable you make that derives from Object gets shown in the inspector as a drop target, allowing you to set the value from the GUI. |
#B2、Variables变量 |
++B2、 Variables变量++++B2.1、hideFlags++++B2.2、name++++B2.3、YanlzAPI.Object.Variables |
++B2.1、hideFlags |
HideFlags hideFlags; |
++++由用户保存在场景或可修改的对象应该被隐藏吗?
++B2.2、name |
string name; |
++++对象的名称;
++++游戏对象和所有附加的组件共享同样的名称;
using UnityEngine; using System.Collections;
public class YanlzCamera : MonoBehaviour{ void MyTestFunc(){ name = “YanlzHelloTag”; } } //立钻哥哥:public class YanlzCamera{} |
#C3、Functions函数 |
++C3、Functions函数++++C3.1、GetInstanceID++++C3.2、ToString++++C3.3、YanlzAPI.Object.Functions |
++C3.1、GetInstanceID |
int GetInstanceID(); |
++++返回物体的实例id;
++++物体的实例id始终保证是独一无二的;
using UnityEngine; using System.Collections;
public class YanlzCamera : MonoBehaviour{ void MyTestFunc(){ Debug.Log(GetInstanceID()); } } //立钻哥哥:public class YanlzCamera{} |
++C3.2、ToString |
string ToString(); |
++++返回对象的名称;
using UnityEngine; using System.Collections;
public class YanlzCamera : MonoBehaviour{ void MyTestFunc(){ Debug.Log(gameObject); } } //立钻哥哥:public class YanlzCamera{} |
#D4、Static Functions静态函数 |
++D4、Static Functions静态函数++++D4.1、Destroy++++D4.2、DestroyImmediate++++D4.3、DontDestroyOnLoad++++D4.4、FindObjectOfType++++D4.5、FindObjectsOfType++++D4.6、Instantiate++++D4.7、YanlzAPI.Object.StaticFunctions |
++D4.1、Destroy |
static void Destroy(Object obj, float t = 0.0F); |
++++删除一个游戏对象,组件或资源;
++++物体obj现在被销毁或在指定了t时间过后销毁;如果obj是组件,它将从GameObject销毁组件component;如果obj是GameObject它将销毁GameObject全部它的组件和GameObject全部transform子物体;实际物体的销毁总是延迟到当前更新循环后,但总是在渲染之前完成;
using UnityEngine; using System.Collections;
public class YanlzObjectDestroyTest : MonoBehaviour{
void Start(){ //销毁这个对象 Destroy(gameObject);
//从此对象删除这个脚本实例; Destroy(this);
//删除此对象的Rigidbody组件 Destroy(rigidbody);
//5秒后销毁对象 Destroy(gameObject, 5); } //立钻哥哥:void Start(){}
//当按下Ctrl键删除Rigidbody组件 void Update(){ if(Input.GetButton(“Fire1”) && GetComponent<Rigidbody>()){ Destroy(GetComponent<Rigidbody>); } } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzObjectDestroyTest{} |
++D4.2、DestroyImmediate |
static void DestroyImmediate(Object obj, bool allowDestroyingAssets = false); |
++++[obj]:要销毁的对象;
++++[allowDestroyingAssets]:设置为true允许资源被销毁;
++++立即销毁物体obj,强烈建议使用Destroy代替;
++++该函数只在写编辑器代码时使用,因为延时的销毁永远不会在编辑模式下调用;在游戏代码推荐使用Object.Destroy代替;销毁总是延迟的(但在同一帧内执行),小心使用该函数,因为它能永久销毁资源;
++D4.3、DontDestroyOnLoad |
static void DontDestroyOnLoad(Object target); |
++++加载新场景的时候使目标物体不被自动销毁;
++++当加载一个新关卡时,场景中所有对象被销毁,然后新关卡中的物体被加载进来;为了保持在加载新关卡时物体不被销毁,使用DontDestroyOnLoad保持,如果物体是一个组件或游戏物体,它的整个transform层次将不会被销毁,全部保留下来;
using UnityEngine; using System.Collections;
public class YanlzObject : MonoBehaviour{ void Awake(){ DontDestroyOnLoad(transform.gameObject); } } //立钻哥哥:public class YanlzObject{} |
++D4.4、FindObjectOfType |
static Object FindObjectOfType(Type type); |
++++返回Type类型第一个激活的加载的对象;
++++请注意:这个函数是非常慢的;不推荐在每帧使用这个函数,大多数情况下可以使用单例模式代替;
using UnityEngine; using System.Collections;
public class YanlzObject : MonoBehaviour{
void Start(){ GUITexture texture = FindObjectOfType(typeof(GUITexture));
if(texture){ Debug.Log(“立钻哥哥:GUITexture object found: ” + texture.name); }else{ Debug.Log(“立钻哥哥:No GUITexture object be found.”); } } //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzObject{} |
++D4.5、FindObjectsOfType |
static Object[] FindObjectsOfType(Type type); |
++++返回Type类型的所有激活的加载的物体列表;
++++它将返回任何资源(网格,纹理,预设,...)或未激活的物体;
++++请注意:这个函数是非常慢的;不推荐在每帧使用这个函数,大多数情况下使用单例模式代替;
using UnityEngine; using System.Collections;
public class YanlzObject : MonoBehaviour{
void OnMouseDown(){ HingeJoint[] hinges = FindObjectsOfType(typeof(HingeJoint)) as HingeJoint[]; foreach(HingeJoint hinge in hinges){ hinge.useSpring = false; } } //立钻哥哥:void OnMouseDown(){}
} //立钻哥哥:public class YanlzObject{} |
++D4.6、Instantiate |
static Object Instantiate(Object original, Vector3 position, Quaternion rotation);static Object Instantiate(Object original); |
++++[original]:要拷贝的已有对象;
++++[position]:新对象的位置;
++++[rotation]:新对象的位置;
++++克隆原始物体并返回克隆物体;
++++克隆原始物体,位置设置在position,设置旋转在rotation,返回的是克隆后的物体;这实际上在Unity和使用复制(Ctrl+D)命令是一样的,并移动到指定的位置;如果一个游戏物体,组件或脚本实例被传入,实例将克隆整个游戏物体层次,以及所有子对象也会被克隆;所有游戏物体被激活;
++++实例化更多通常用于实例投射物(如子弹、榴弹、破片、飞行的铁球等),AI敌人,粒子爆炸或破坏物体的替代品;
++++实例化也能直接克隆脚本实例,整个游戏物体层次将被克隆,并且返回被克隆脚本的实例;
++++在克隆物体之后,可以使用GetComponent设置附加到克隆的物体特定组件的属性;
using UnityEngine; using System.Collections;
public class YanlzObject : MonoBehaviour{ public Transform prefab;
void MyTestFuc(){ int i = 0; while(i < 10){ Instantiate(prefab, new Vector3(i * 2.0F, 0, 0), Quaternion.identity) as Transform; i++; } } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzObject{}
|
using UnityEngine; using System.Collections;
public class YanlzObject : MonoBehaviour{ public Rigidbody projectile;
void Update(){ if(Input.GetButtonDown(“Fire1”)){ Rigidbody clone; clone = Instantiate(projectile, transform.position, transform.rotation) as Rigidbody; clone.velocity = transform.TransformDirection(Vector3.forward * 10); } } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzObject{}
|
using UnityEngine; using System.Collections;
public class YanlzObjectDestroyTest : MonoBehaviour{ Missile projectile;
void Update(){ if(Input.GetButtonDown(“Fire1”)){ Missile clone; clone = Instantiate(projectile, transform.position, transform.rotation) as Missile;
clone.timeoutDestructor = 5; } } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzObjectDestroyTest{} |
#E5、Operators操作符 |
++E5、Operators操作符++++D5.1、bool++++D5.2、operator !=++++D5.3、operator ==++++D5.4、YanlzAPI.Object.Operators |
++D5.1、bool |
Object.bool; |
++++对象是否存在?
using UnityEngine; using System.Collections; using YanlzVREngine;
public class YanlzObject : MonoBehaviour{ void MyTestFunc(){ //if(rigidbody != null) if(rigidbody){ Debug.Log(“立钻哥哥:Rigidbody attached at this transform.”); } } //立钻哥哥:void MyTestFunc(){} } //立钻哥哥:public class YanlzObject{} |
++D5.2、operator != |
Object.operator!=; |
++++比较如果两个对象不相同;
using UnityEngine; using System.Collections;
public class YanlzObject : MonoBehaviour{ public Transform target;
void Update(){ if(target != transform){ Debug.Log(“立钻哥哥:Another object”); } } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzObject{} |
++D5.3、operator == |
static bool operator==(Object x, Object y); |
++++[x]:第一个对象;
++++[y]:此对象与第一个对象比较;
++++比较两个物体是否相同;
++++如果没有目标则提前退出代码;
++++注意:小心!当比较为空;
++++实例一个GameObject将其添加到场景,这样它是完全初始化的(非销毁的);实例一个简单的UnityEngine.Object没有这样的语义,所有它停留在“销毁的”状态,于null比较为true;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzObject : MonoBehaviour{ public Collider target;
void OnTriggerEnter(Collider trigger){ if(trigger == target){ Debug.Log(“立钻哥哥:We hit the target trigger.”); } } //立钻哥哥:void OnTriggerEnter(){}
} //立钻哥哥:public class YanlzObject{}
|
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzObject : MonoBehaviour{ public Transform target;
void Update(){ if(target == null){ return; } } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzObject{} |
#F6、立钻哥哥对Object类的拓展 |
++++【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--_--