FrameVR_V1003(Yanlz+Unity+VRTK+Oculus+立钻哥哥+)

《FrameVR示例_V1003》

版本面试

做者数据库

参与者编程

完成日期设计模式

备注网络

VRTest_FrameV1003_V01_1.0数据结构

严立钻框架

 

2018.10.10ide

 

 

 

 

 

 

 

 

 

##《FrameVR示例_V1003》目录:工具

#A、ApaqiInput/学习

#B、FanSceneThree/0/

#C、FanStartScene/Script/

#D、Scripts/

 

 

 

 

 

 

 

#A、ApaqiInput/

#A、ApaqiInput/

#A、ApaqiInput/

++++A.一、PingInput.cs

 

 

 

##A.一、PingInput.cs

##A.一、PingInput.cs

++A.一、PingInput.cs

++++立钻哥哥:FrameVR_V1003-OUC\Assets\ApaqiInput\PingInput.cs

public class PingInput : MonoBehaviour{

    private static PingInput msInstance;

    public Text msShowCountents;

    public string msInputContent;

    public string msOrigionalContent;

 

    public void MsUpdateData(string newData){}

    public void MsUpdateData(){}

    public void MsUpdateData(bool error, string str){}

 

    IEnumerator YieldShowDataError(string str){}

    IEnumerator YieldShowDataQure(string str){}

 

}    //立钻哥哥:public class PingInput:MonoBehaviour{}

 

 

 

 

 

#B、FanSceneThree/0/

#B、FanSceneThree/0/

#B、FanSceneThree/0/

++++B.一、_Apaqi/Script/

++++B.二、CableComponent/Scripts/

++++B.四、Service/

 

 

 

##B.一、_Apaqi/Script/

##B.一、_Apaqi/Script/

++++B.一、_Apaqi/Script/

++++B.1.一、Animator/

++++B.1.二、AssessmentTime/

++++B.1.三、Base/

++++B.1.四、Drag/

++++B.1.五、Effect/

++++B.1.六、Five/

++++B.1.七、Http/

++++B.1.八、TCP/

++++B.1.九、Three/

++++B.1.十、UI/

++++B.1.十一、VR/

++++B.1.十二、Wireshark/

++++B.1.1三、xx.cs{}/

 

 

 

###B.1.一、Animator/

###B.1.一、Animator/

++B.1.一、Animator/

++++B.1.1.一、Animator/IconAnimation.cs

 

 

 

 

###B.1.1.一、Animator/IconAnimation.cs

###B.1.1.一、Animator/IconAnimation.cs

++B.1.1.一、Animator/IconAnimation.cs

++++立钻哥哥:\Assets\FanSceneThree\0\_Apaqi\Script\Animator\IconAnimation.cs

public class IconAnimation : MonoBehaviour{

}

 

++IconAnimation.cs

//立钻哥哥:\Assets\FanSceneThree\0\_Apaqi\Script\Animator\IconAnimation.cs

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

//控制动画

public class IconAnimation : MonoBehaviour{

 

    void Update(){

        if(transform.parent.parent.GetComponent<BoxCollider>() != null){

            if(transform.parent.parent.GetComponent<BoxCollider>().enabled){

                transform.GetComponent<Animation>().enabled = true;

            }else{

                transform.GetComponent<Animation>().enabled = false;

            }

        }

    }

 

}    //立钻哥哥:public class IconAnimation:MonoBehaviour{}

 

 

 

 

###B.1.二、AssessmentTime/

++B.1.二、AssessmentTime/

++++B.1.2.一、TimeControl.cs

 

 

 

###B.1.2.一、AssessmentTime/TimeControl.cs

###B.1.2.一、AssessmentTime/TimeControl.cs

++B.1.2.一、AssessmentTime/TimeControl.cs

++++立钻哥哥:\Assets\FanSceneThree\0\_Apaqi\Script\AssessmentTime\TimeControl.cs

public class TimeControl : MonoBehaviour{

    private float checkTime;

    private bool StartTime = false;

    public bool Correct = false;

 

    public void MsStartCheck(){}

    public float MSGetCheckTime(){}

}    //立钻哥哥:public class TimeControl:MonoBehaviour{}

 

++TimeControl.cs

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

//考核计时,单步考核计时

public class TimeControl : MonoBehaviour{

    private float checkTime;    //计时器

    private bool StartTime = false;    //开始计时

    public bool Correct = false;    //操做是否正确

 

    void Update(){

        if(StartTime){

            checkTime += Time.deltaTime;

        }

    }

 

    //获得考核所用时间

    public float MsGetCheckTime(){

        StartTime = false;

        return checkTime;

    }

 

}    //立钻哥哥:public class TimeControl:MonoBehaviour{}

 

 

 

 

 

###B.1.三、Base/

###B.1.三、Base/

++B.1.三、Base/

++++B.1.3.一、Base/AllEvent.cs

++++B.1.3.二、Base/ConfigureIP.cs

++++B.1.3.三、Base/ConfigureIPB.cs

++++B.1.3.四、Base/ContentPosContorl.cs

++++B.1.3.五、Base/CrystalGrabbing.cs

++++B.1.3.六、Base/Files.cs

++++B.1.3.七、Base/MoveToTarget.cs

++++B.1.3.八、Base/NetMouthEffect.cs

++++B.1.3.九、Base/NetPortPosContorl.cs

++++B.1.3.十、Base/SelfRotation.cs

++++B.1.3.十一、Base/StepThree.cs

++++B.1.3.十二、Base/TeachContent.cs

++++B.1.3.1三、Base/TeachHintsControl.cs

++++B.1.3.1四、Base/Twinkle.cs

++++B.1.3.1五、Base/VibrationSound.cs

 

 

 

###B.1.3.一、Base/AllEvent.cs

###B.1.3.一、Base/AllEvent.cs

++B.1.3.一、Base/AllEvent.cs

++++立钻哥哥:\Assets\FanSceneThree\0\_Apaqi\Script\Base\AllEvent.cs

public class AllEvent : MonoBehaviour{

    public void MsYileShow(GameObject game){}

    IEnumerator YildShow(GameObject game){}

}    //立钻哥哥:public class AllEvent:MonoBehaviour{}

 

++AllEvent.cs

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.Events;

 

//全部的基础事件

public class AllEvent : MonoBehaviour{

    //延迟显示

    public void MsYileShow(GameObject game){

        StartCoroutine(YildShow(game));

    }

 

    IEnumerator YildShow(GameObject game){

        yield return new WaitForSeconds(1.0f);

        game.SetActive(true);

    }

 

}    //立钻哥哥:public class AllEvent:MonoBehaviour{}

 

 

 

###B.1.3.二、Base/ConfigureIP.cs

###B.1.3.二、Base/ConfigureIP.cs

++B.1.3.二、Base/ConfigureIP.cs

++++立钻哥哥:\Assets\FanSceneThree\0\_Apaqi\Script\Base\ConfigureIP.cs

public class ConfigureIP : MonoBehaviour{

    private static ConfigureIP msInstance;

    public Transform MainframeIPA;

    private ClipManager SourcePlayer;

    private Files filesPlayer;

    private BasicEvents BasicEvents;

    private List<Transform> ListIPA = new List<Transform>();

 

    private Transform MsGetATrsForName(string name){}

    private void MsByNameControlFicker(string name, bool off){}

    private void MsByNameControlCollider(string name){}

 

    private List<Transform> list_BGA = new List<Transform>();

    private void MsGetFiles(){}

    private void MsOpenCollider(string name){}

    private void MsOpenFlicker(string name){}

    IEnumerator YieldOpen(string name){}

 

}    //立钻哥哥:public class ConfigureIP:MonoBehaviour{}

 

++ConfigureIP.cs

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

//网络IP配置步骤

public class ConfigureIP : MonoBehaviour{

    private static ConfigureIP msInstance;

    public static ConfigureIP MsInstance{

        get{  return msInstance;  }

        set{  msInstance = value;  }

    }

 

    public Transform MainframeIPA;    //主机IPA

 

    private void Awake(){

        msInstance = this;

    }

 

    private ClipManager SourcePlayer;

    private Files filesPlayer;

    private BasicEvents BasicEvents;

 

    void Start(){

        BasicEvents = new BasicEvents();

        SourcePlayer = gameObject.GetComponent<ClipManager>();

        filesPlayer = gameObject.GetComponent<Files>();

 

        MsGetFiles();

    }

 

    public void MsStep4(){

        ClipManager.MsInstance.MsPlayIndex(1, MsStep4Back);

    }

 

    private void MsStep4Back(){

    }

 

    private List<Transform> ListIPA = new List<Transform>();

 

    //开始新的逻辑处理

    public void MsOpenA192(){

    }

 

    //经过名字获取A主机上的物品

    private Transform MsGetATrsForName(string name){

        Transform trans = null;

        for(int i = 0;  i < ListIPA.Count;  i++){

            if(ListIPA[i].name.Equals(name)){

                trans = ListIPA[i];

            }

        }

 

        return trans;

    }

 

    public void Ms192End(){}

    public void Ms168End(){}

    public void Ms01End(){}

    public void Ms012End(){}

    public void Ms1End(){}

    public void Ms255123End(){}

    public void Ms2551End(){}

    public void Ms2552End(){}

    public void Ms2553End(){}

    public void Ms02End(){}

 

    //经过名字和bool来控制闪烁效果

    private void MsByNameControlFicker(string name, bool off){

        if(off){

            MsGetATrsForName(name).GetComponent<UIFlicker>().MsForceFicker();

        }else{

            MsGetATrsForName(name).GetComponent<UIFlicker>().MsCloseForceFicker();

        }

    }

 

    //经过名字开启查找

    private void MsByNameControlCollider(){

        MsGetATrsForName(name).GetComponent<UICollision>().MsOpenCollider();

    }

 

    public void MsStop4(){}

    private void MsStop4End(){}

    ... ...

    public void MsStop21(){}

    private void MsStop21End(){}

    public void MsStopHostAEnd(){}

    private void Ms_StopHostAClipEnd(){}

 

    private List<Transform> list_BGA = new List<Transform>();

 

    //经过名字获取内容节点

    private void MsGetFiles(){

        for(int i = 0;  i < filesPlayer.BGA.transform.childCount;  i++){

            list_BGA.Add(filesPlayer.BGA.transform.GetChild(i));

        }

    }

 

    //开启碰撞

    private void MsOpenCollider(string name){

        BasicEvents.MsGetTransByName(list_BGA, name).GetChild(0).GetComponent<UICollision>().MsOpenCollider();

    }

 

    //开启闪烁

    private void MsOpenFlicker(string name){

        if(MyConst.FirstEnter){

            BasicEvents.MsGetTransByName(list_BGA, name).GetChild(0).GetComponent<UIFlicker>().MsForceFicker();

        }

    }

 

    IEnumerator YieldOpen(stirng name){

        yield return new WaitForSeconds(0.5f);

        Transform tem = null;

    

        for(int i = 0;  i < list_BGA.Count;  i++){

            if(list_BGA[i].name.Equals(name)){

                tem = list_BGA[i];

                break;

            }

        }

 

        if(tem.childCount > 0){

            tem.GetChild(0).GetComponent<>().MsOpenCollider();

        }else{

            tem.GetComponent<UICollision>().MsOpenCollider();

        }

    }

 

}    //立钻哥哥:public class ConfigureIP:MonoBehaviour{}

 

 

 

 

###B.1.3.三、Base/ConfigureIPB.cs

###B.1.3.三、Base/ConfigureIPB.cs

++B.1.3.三、Base/ConfigureIPB.cs

++++立钻哥哥:\Assets\FanSceneThree\0\_Apaqi\Script\Base\ConfigureIPB.cs

++++说明:基本与“ConfigureIP.cs”相似,暂不拓展

 

 

 

 

 

###B.1.3.四、Base/ContentPosContorl.cs

###B.1.3.四、Base/ContentPosContorl.cs

++B.1.3.四、Base/ContentPosContorl.cs

++++立钻哥哥:\Assets\FanSceneThree\0\_Apaqi\Script\Base\ContentPosContorl.cs

public class ContentPosControl : MonoBehaviour{

    public Transform msGuide;

    private Vector3 msGuideOriginalPos = new Vector3(223, -67, -20);

    private Vector3 msGuideMovePos = new Vector3(-1, -67, -20);

 

    private void OnEnable(){}

    private void OnDisable(){}

 

++ContentPosContorl.cs

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

public class ContentPosControl : MonoBehaviour{

    public Transform msGuide;    //引导框

    private Vector3 msGuideOriginalPos = new Vector3(223, -67, -20);

    private Vector3 msGuideMovePos = new Vector3(-1, -67, -20);

 

    //物体显示

    private void OnEnable(){

        msGuide.GetComponent<RectTransform>().anchoredPosition3D = msGuideOriginalPos;

    }

 

    //物体隐藏

    private void OnDisable(){

        msGuide.gameObject.SetActive(true);

        msGuide.GetComponent<RectTransform>().anchoredPosition3D = msGuideMovePos;

    }

 

}    //立钻哥哥:public class ContentPosControl:MonoBehaviour{}

 

 

 

 

###B.1.3.五、Base/CrystalGrabbing.cs

###B.1.3.五、Base/CrystalGrabbing.cs

++++B.1.3.五、Base/CrystalGrabbing.cs

++++立钻哥哥:\Assets\FanSceneThree\0\_Apaqi\Script\Base\CrystalGrabbing.cs

public class CrystalGrabbing : MonoBehaviour{

    public void Ms_GrabLeft(Transform cont){}

    public void Ms_GrabRight(Transform cont){}

    public void MsOnUp(){}

    private void OnTriggerEnter(Collider other){}

}    //立钻哥哥:public class CrystalGrabbing:MonoBehaviour{}

 

++CrystalGrabbing.cs

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

//水晶头的抓取

public class CrystalGrabbing : MonoBehaviour{

    //左手柄的抓取

    public void Ms_GrabLeft(Transform cont){

        transform.parent = cont.transform;

        transform.localPosition = new Vector3(0.0063f, 0.0295f, -0.0603f);

        transform.localEulerAngles = new Vector3(36.628f, -102.09f, 117.914f);

        transform.GetComponent<Rigidbody>().isKinematic = true;

        transform.Find(Canvas).gameObject.SetActive(false);

    }

 

    //右手柄的抓取

    public void Ms_GrabRight(Transform cont){

        transform.parent = cont.transform;

        transform.localPosition = new Vector3(-0.019f, -0.054f, 0.045f);

        transform.localEulerAngles = new Vector3(-51f, 38.3f, 78.4f);

        transform.GetComponent<Rigidbody>().isKinematic = true;

    }

 

    //放弃抓取

    public void MsOnUp(){

        transform.parent = null;

        transform.GetComponent<BoxCollider>().enabled = true;

        transform.GetComponent<Rigidbody>().isKinematic = false;

    }

 

    private void OnTriggerEnter(Collider other){

        if(other.name.Equals(NetPortBA)){

            transform.parent = null;

            transform.parent = other.transform;

            transform.localEulerAngles = Vector3.zero;

            transform.localPosition = new Vector3(-0.00011f, 0f, -0.00447f);

            transform.GetComponent<Rigidbody>().isKinematic = true;

        }

    }

 

}    //立钻哥哥:public class CrystalGrabbing:MonoBehaviour{}

 

 

 

 

###B.1.3.六、Base/Files.cs

###B.1.3.六、Base/Files.cs

++B.1.3.六、Base/Files.cs

++++立钻哥哥:\Assets\FanSceneThree\0\_Apaqi\Script\Base\Files.cs

public class Files : MonoBehaviour{

    private static Files msInstance;

    public static Files MsInstance{

        set{  msInstance = value;  }

        get{  return msInstance;  }

    }

 

    private void Awake(){

        msInstance = this;

    }

 

    public GameObject Home;

    public GameObject HostA;    //主机A

    public GameObject HostB;    //主机B

    public GameObject BGA;    //主机A的UI

    public GameObject BGB;    //主机B的UI

    public GameObject ThreeB;    //步骤三全部内容

    public GameObject ThreeBPing;    //步骤三中的ping的总物体

    public GameObject ThreeB43;    //步骤三种字体显示

    public GameObject ThreeBcmd;    //步骤三中cmd

 

    public GameObject IcoWirseshark;    //抓包工具的ico

    public GameObject Wirseshark;    //总的抓包开始

    public GameObject WiresesharkUIFicker;    //全部的抓包提示

    public Transform LookAtTarget;    //看向的目标

 

    public GameObject IcoNetPortA;    //A机网络图标

    public GameObject IcoNetPortB;    //B机网络图标

    public GameObject IcoNetPortThree;    //B机网络电脑图标

    public GameObject IcoNetPortWireshark;    //B机抓包网络图标

 

    public GameObject MasterLogic;    //主控制按钮集合

 

    public GameObject Five;

    public GameObject KeyBoard;    //键盘

 

    public GameObject NETA, NETB, NETC, NETD, NETE, NETF;

 

    public GameObject StartButton;    //启动按钮

 

}    //立钻哥哥:public class Files:MonoBehaviour{}

 

 

 

 

###B.1.3.七、Base/MoveToTarget.cs

###B.1.3.七、Base/MoveToTarget.cs

++B.1.3.七、Base/MoveToTarget.cs

++++立钻哥哥:\Assets\FanSceneThree\0\_Apaqi\Script\Base\MoveToTarget.cs

public class MoveToTarget : MonoBehaviour{

    private float Speed = 300;

    public Transform[] target;

    private bool ssMove = false;

    private Transform currentTarget;

    public UnityEvent MoveEnd = new UnityEvent();

    public UnityEvent MoveQure = new UnityEvent();

 

    public void MsGetTarget(Collider other){}

}

 

++MoveToTarget.cs

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.Events;

 

//移动到指定目标物体

public class MoveToTarget : MonoBehaviour{

    private float Speed = 300;    //移动速度

    public Transform[] target;    //多个目标物体

    private bool ssMove = false;    //开始移动

    private Transform currentTarget;    //当前目标

 

    public UnityEvent MoveEnd = new UnityEvent();

    public UnityEvent MoveQure = new UnityEvent();    //移动确认

 

    void Update(){

        if(ssMove){

            if(transform.localPosition != Vector3.zero){

                if(currentTarget == null){

                    return;

                }

 

                transform.parent = currentTarget;

                transform.localPosition = Vector3.MoveTowards(transform.localPosition, Vector3.zero, Speed * Time.deltaTime);

 

                if(transform.localPostion == Vector3.zero){

                    MoveEnd.Invoke();

                    ssMove = false;

                }

            }

        }

    }

 

    //获取到移动目标

    public void MsGetTarget(Collider other){

        if(other.name.IndexOf(b_r) > -1 || other.name.IndexOf(b_l) > -1){

            for(int i = 0;  i < target.Length;  i++){

                if(target[i].childCount < 1){

                    currentTarget = target[i];

                    if(currentTarget == MyConst.CurrentMoveTarget){

                        MoveQure.Invoke();

                        ssMove = true;

                    }

                    break;

                }

            }

        }

    }

 

}    //立钻哥哥:public class MoveToTarget:MonoBehaviour{}

 

 

 

 

###B.1.3.八、Base/NetMouthEffect.cs

###B.1.3.八、Base/NetMouthEffect.cs

++B.1.3.八、Base/NetMouthEffect.cs

++++立钻哥哥:\Assets\FanSceneThree\0\_Apaqi\Script\Base\NetMouthEffect.cs

public class NetMouthEffect : MonoBehaviour{

    public UnityEvent SourceEffect = new UnityEvent();

    IEnumerator YieldOpenBoxCollider(){}

}

 

++NetMouthEffect.cs

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.Events;

 

//网口音乐特效:自身的碰撞体的控制

public class NetMouthEffect : MonoBehaviour{

     public UnityEvent SourceEffect = new UnityEvent();

    

    private void OnTriggerEnter(Collider other){

        if(other.name.IndexOf(b_l) > -1 || other.name.IndexOf(b_r) > 1){

            return;

        }

        SourceEffect.Invoke();

    }

 

    //子集的个数

    private int ms_int_ChildCount;

 

    private void Update(){

        if(ms_int_ChildCount != transform.childCount){

            if(transform.childCount > 0){

                transform.GetComponent<BoxCollider>().enabled = false;    //有物体

            }else{

                StartCoroutine(YieldOpenBoxCollider());    //没有物体

            }

 

            ms_int_ChildCount = transform.childCount;

        }

    }

 

    IEnumerator YieldOpenBoxCollider(){

        yield return new WaitForSeconds(2.0f);

        transform.GetComponent<BoxCollider>().enabled = true;

    }

 

}    //立钻哥哥:public class NetMouthEffect : MonoBehaviour{}

 

 

 

 

###B.1.3.九、Base/NetPortPosContorl.cs

###B.1.3.九、Base/NetPortPosContorl.cs

++B.1.3.九、Base/NetPortPosContorl.cs

++++立钻哥哥:\Assets\FanSceneThree\0\_Apaqi\Script\Base\NetPortPosContorl.cs

public class NetPortPosControl : MonoBehaviour{

    private Transform ms_ParentTrans;

    private Vector3 ms_StartPos;

}

 

++NetPortPosContorl.cs

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

//若是水晶头掉落下面则自动回到初始位置

public class NetPortPosControl : MonoBehaviour{

    private Transform ms_ParentTrans;    //父级物体

    private Vector3 ms_StartPos;    //开始位置

 

    void Start(){

        ms_StartPos = transform.position;

    }

 

    void Update(){

        if(transform.position.y < -1){

             transform.position = ms_StartPos;

        }

    }

 

}    //立钻哥哥:public class NetPortPosControl:MonoBehaviour{}

 

 

 

 

###B.1.3.十、Base/SelfRotation.cs

###B.1.3.十、Base/SelfRotation.cs

++B.1.3.十、Base/SelfRotation.cs

++++立钻哥哥:\Assets\FanSceneThree\0\_Apaqi\Script\Base\SelfRotation.cs

public class SelfRotation : MonoBehaviour{

    public float speed = 10.0f;

    public enum EnumLock{  LockX, LockY, LockZ }

    public EnumLock Lock;

}

 

++SelfRotation.cs

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

//自旋转

public class SelfRotation : MonoBehaviour{

    public float speed = 10.0f;

    public enum EnumLock{  LockX, LockY, LockZ  }

    public EnumLock Lock;

 

    void Update(){

        switch(Lock){

            case EnumLock.LockX:

                transform.Rotate(Vector3.left * speed * Time.deltaTime);

                break;

            case EnumLock.LockY:

                transform.Rotate(Vector3.up * speed * Time.deltaTime);

                break;

            case EnumLock.LockZ:

                transform.Rotate(Vector3.right * speed * Time.deltaTime);

                break;

            default:

                break;

        }

    }

 

}    //立钻哥哥:public class SelfRotation:MonoBehaviour{}

 

 

 

 

###B.1.3.十一、Base/StepThree.cs

###B.1.3.十一、Base/StepThree.cs

++B.1.3.十一、Base/StepThree.cs

++++立钻哥哥:\Assets\FanSceneThree\0\_Apaqi\Script\Base\StepThree.cs

public class StepThree : MonoBehaviour{

    File filePlayer;

    List<Transform> ListMainStep = new List<Transform>();

    List<Transform> ListViceStep = new List<Transform>();

    List<Transform> ListMoveStep = new List<Transform>();

    List<Transform> ListText = new List<Transform>();

    List<Transform> ListCMD = new List<Transform>();

 

    BasicEvents basicEvents;

    ClipManager ClipPlayer;

 

    private static StepThree msInstance;

    public static StepThree MsInstance{}

 

    private void MsAddList(List<Transform> list, Transform tran){}

    public void MsCheckStepNetPost4(){}

    public void MsStepNetPort4(){}

    private void MsStepNetPort4End(){}

    private void MsStepPingResult(){}

    IEnumerator IntervalShowText(){}

    public void MsStepPingOverShow(){}

    public void MsStepPingOver(){}

    private void MsStepPingOverEnd(){}

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

++立钻哥哥推荐的拓展学习连接(Link_Url)

立钻哥哥推荐的拓展学习连接(Link_Url)

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/

++++Unity企业内训(目录)http://www.javashuo.com/article/p-oefbctlf-mn.html

++++Unity企业内训(第1讲)http://www.javashuo.com/article/p-ehlblkrj-mc.html

++++Unity企业内训(第2讲)http://www.javashuo.com/article/p-tiecmlwc-ma.html

++++Unity企业内训(第3讲)http://www.javashuo.com/article/p-mlpucjnv-ma.html

++++VR实验:以太网帧的构成http://www.javashuo.com/article/p-fnfhdcgt-bp.html

++++FrameVR示例V0913http://www.javashuo.com/article/p-xnlrngai-cw.html

++++FrameVR示例V1003http://www.javashuo.com/article/p-ztazxpkv-bd.html

++++计算机组成原理(教材篇)http://www.javashuo.com/article/p-sejaldpf-kr.html

++++HTC_VIVE开发基础http://www.javashuo.com/article/p-mhcdmelt-bt.html

++++Oculus杂谈http://www.javashuo.com/article/p-unmgvyjw-ce.html

++++Oculus安装使用http://www.javashuo.com/article/p-ulvvimkb-cr.html

++++VRTK杂谈http://www.javashuo.com/article/p-gsryrkjk-eb.html

++++VRTK快速入门(杂谈)http://www.javashuo.com/article/p-bgvfnmia-cm.html

++++VRTK官方示例(目录)http://www.javashuo.com/article/p-dsnjffvq-ea.html

++++VRTK代码结构(目录)http://www.javashuo.com/article/p-wfilzqyd-es.html

++++VRTK(SceneResources)http://www.javashuo.com/article/p-ryptqvzl-hm.html

++++Unity5.x用户手册http://www.javashuo.com/article/p-ufnzpmga-s.html

++++Unity面试题ABChttp://www.javashuo.com/article/p-mwacxwca-gm.html

++++Unity面试题Dhttp://www.javashuo.com/article/p-wuwcrclr-s.html

++++Unity面试题Ehttp://www.javashuo.com/article/p-hmabbtmc-ba.html

++++Unity面试题Fhttp://www.javashuo.com/article/p-olslkfao-cq.html

++++Cocos2dx面试题http://www.javashuo.com/article/p-daozmsii-cz.html

++++Lua快速入门篇(Xlua拓展):http://www.javashuo.com/article/p-rrszijom-cm.html

++++Lua快速入门篇(XLua教程):http://www.javashuo.com/article/p-pduvmusb-ho.html

++++Lua快速入门篇(基础概述)http://www.javashuo.com/article/p-shernvtt-u.html

++++框架知识点http://www.javashuo.com/article/p-eufbowgf-u.html

++++游戏框架(UI框架夯实篇)http://www.javashuo.com/article/p-cvemoigb-cu.html

++++游戏框架(初探篇)http://www.javashuo.com/article/p-zfpoilbc-hy.html

++++设计模式简单整理http://www.javashuo.com/article/p-rngqugib-hg.html

++++专题:设计模式(精华篇)http://www.javashuo.com/article/p-nbohnaya-hw.html

++++U3D小项目参考https://blog.csdn.net/vrunsoftyanlz/article/details/80141811

++++Unity案例(Vehicle)http://www.javashuo.com/article/p-wxnfscgy-dy.html

++++UML类图http://www.javashuo.com/article/p-sxberuew-bm.html

++++Unity知识点0001http://www.javashuo.com/article/p-ryvdxxjr-ep.html

++++Unity知识点0008http://www.javashuo.com/article/p-kxgstxls-gu.html

++++U3D_Shader编程(第一篇:快速入门篇)http://www.javashuo.com/article/p-kyppgrac-gz.html

++++U3D_Shader编程(第二篇:基础夯实篇)http://www.javashuo.com/article/p-qkyowtli-hv.html

++++Unity引擎基础http://www.javashuo.com/article/p-beommoeb-ka.html

++++Unity面向组件开发http://www.javashuo.com/article/p-eigmuvut-dt.html

++++Unity物理系统http://www.javashuo.com/article/p-nqvvciwv-kd.html

++++Unity2D平台开发http://www.javashuo.com/article/p-ycaagdtj-hs.html

++++UGUI基础http://www.javashuo.com/article/p-rukxwckw-mc.html

++++UGUI进阶http://www.javashuo.com/article/p-wcatruhq-gt.html

++++UGUI综合http://www.javashuo.com/article/p-dkccmqii-gg.html

++++Unity动画系统基础http://www.javashuo.com/article/p-mbrdouxy-dq.html

++++Unity动画系统进阶http://www.javashuo.com/article/p-aqaqpbkh-bp.html

++++Navigation导航系统http://www.javashuo.com/article/p-dswwllas-t.html

++++Unity特效渲染http://www.javashuo.com/article/p-ckojjyfj-bp.html

++++Unity数据存储http://www.javashuo.com/article/p-bvlzynso-m.html

++++Unity中Sqlite数据库http://www.javashuo.com/article/p-ejutsbxl-ca.html

++++WWW类和协程http://www.javashuo.com/article/p-dbwmhsav-cy.html

++++Unity网络http://www.javashuo.com/article/p-sqrlntgh-dw.html

++++C#事件http://www.javashuo.com/article/p-zmwruvql-gm.html

++++C#委托http://www.javashuo.com/article/p-uozpymaf-gh.html

++++C#集合http://www.javashuo.com/article/p-sfqfdqsf-ex.html

++++C#泛型http://www.javashuo.com/article/p-xrttqngo-ee.html

++++C#接口http://www.javashuo.com/article/p-vhlfplgv-dm.html

++++C#静态类https://blog.csdn.net/vrunsoftyanlz/article/details/78630979

++++C#中System.String类http://www.javashuo.com/article/p-olslkfao-cq.html

++++C#数据类型http://www.javashuo.com/article/p-hmabbtmc-ba.html

++++Unity3D默认的快捷键http://www.javashuo.com/article/p-wuwcrclr-s.html

++++游戏相关缩写http://www.javashuo.com/article/p-mwacxwca-gm.html

++++UnityAPI.Rigidbody刚体http://www.javashuo.com/article/p-phaztrtw-w.html

++++UnityAPI.Material材质http://www.javashuo.com/article/p-ntyoqcng-q.html

++++UnityAPI.Android安卓http://www.javashuo.com/article/p-fyyfgkck-q.html

++++UnityAPI.AndroidJNI安卓JNIhttp://www.javashuo.com/article/p-kvxjsnzf-w.html

++++UnityAPI.Transform变换http://www.javashuo.com/article/p-bfgrrhxl-cq.html

++++UnityAPI.WheelCollider轮碰撞器http://www.javashuo.com/article/p-smnaoooi-cn.html

++++JSON数据结构http://www.javashuo.com/article/p-dljbtddn-g.html

++++CocosStudio快速入门http://www.javashuo.com/article/p-qldbaqqa-v.html

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/

--_--VRunSoft:lovezuanzuan--_--