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

《FrameVR示例_V1003》

版本

作者

参与者

完成日期

备注

VRTest_FrameV1003_V01_1.0

严立钻

 

2018.10.10

 

 

 

 

 

 

 

 

 

##《FrameVR示例_V1003》目录:

#A、ApaqiInput/

#B、FanSceneThree/0/

#C、FanStartScene/Script/

#D、Scripts/

 

 

 

 

 

 

 

#A、ApaqiInput/

#A、ApaqiInput/

#A、ApaqiInput/

++++A.1、PingInput.cs

 

 

 

##A.1、PingInput.cs

##A.1、PingInput.cs

++A.1、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.1、_Apaqi/Script/

++++B.2、CableComponent/Scripts/

++++B.4、Service/

 

 

 

##B.1、_Apaqi/Script/

##B.1、_Apaqi/Script/

++++B.1、_Apaqi/Script/

++++B.1.1、Animator/

++++B.1.2、AssessmentTime/

++++B.1.3、Base/

++++B.1.4、Drag/

++++B.1.5、Effect/

++++B.1.6、Five/

++++B.1.7、Http/

++++B.1.8、TCP/

++++B.1.9、Three/

++++B.1.10、UI/

++++B.1.11、VR/

++++B.1.12、Wireshark/

++++B.1.13、xx.cs{}/

 

 

 

###B.1.1、Animator/

###B.1.1、Animator/

++B.1.1、Animator/

++++B.1.1.1、Animator/IconAnimation.cs

 

 

 

 

###B.1.1.1、Animator/IconAnimation.cs

###B.1.1.1、Animator/IconAnimation.cs

++B.1.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.2、AssessmentTime/

++B.1.2、AssessmentTime/

++++B.1.2.1、TimeControl.cs

 

 

 

###B.1.2.1、AssessmentTime/TimeControl.cs

###B.1.2.1、AssessmentTime/TimeControl.cs

++B.1.2.1、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.3、Base/

###B.1.3、Base/

++B.1.3、Base/

++++B.1.3.1、Base/AllEvent.cs

++++B.1.3.2、Base/ConfigureIP.cs

++++B.1.3.3、Base/ConfigureIPB.cs

++++B.1.3.4、Base/ContentPosContorl.cs

++++B.1.3.5、Base/CrystalGrabbing.cs

++++B.1.3.6、Base/Files.cs

++++B.1.3.7、Base/MoveToTarget.cs

++++B.1.3.8、Base/NetMouthEffect.cs

++++B.1.3.9、Base/NetPortPosContorl.cs

++++B.1.3.10、Base/SelfRotation.cs

++++B.1.3.11、Base/StepThree.cs

++++B.1.3.12、Base/TeachContent.cs

++++B.1.3.13、Base/TeachHintsControl.cs

++++B.1.3.14、Base/Twinkle.cs

++++B.1.3.15、Base/VibrationSound.cs

 

 

 

###B.1.3.1、Base/AllEvent.cs

###B.1.3.1、Base/AllEvent.cs

++B.1.3.1、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.2、Base/ConfigureIP.cs

###B.1.3.2、Base/ConfigureIP.cs

++B.1.3.2、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.3、Base/ConfigureIPB.cs

###B.1.3.3、Base/ConfigureIPB.cs

++B.1.3.3、Base/ConfigureIPB.cs

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

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

 

 

 

 

 

###B.1.3.4、Base/ContentPosContorl.cs

###B.1.3.4、Base/ContentPosContorl.cs

++B.1.3.4、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.5、Base/CrystalGrabbing.cs

###B.1.3.5、Base/CrystalGrabbing.cs

++++B.1.3.5、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.6、Base/Files.cs

###B.1.3.6、Base/Files.cs

++B.1.3.6、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.7、Base/MoveToTarget.cs

###B.1.3.7、Base/MoveToTarget.cs

++B.1.3.7、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.8、Base/NetMouthEffect.cs

###B.1.3.8、Base/NetMouthEffect.cs

++B.1.3.8、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.9、Base/NetPortPosContorl.cs

###B.1.3.9、Base/NetPortPosContorl.cs

++B.1.3.9、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.10、Base/SelfRotation.cs

###B.1.3.10、Base/SelfRotation.cs

++B.1.3.10、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.11、Base/StepThree.cs

###B.1.3.11、Base/StepThree.cs

++B.1.3.11、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企业内训(目录)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

++++VR实验:以太网帧的构成https://blog.csdn.net/VRunSoftYanlz/article/details/82598140

++++FrameVR示例V0913https://blog.csdn.net/VRunSoftYanlz/article/details/82808498

++++FrameVR示例V1003https://blog.csdn.net/VRunSoftYanlz/article/details/83066516

++++计算机组成原理(教材篇)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

++++Unity5.x用户手册https://blog.csdn.net/VRunSoftYanlz/article/details/81712741

++++Unity面试题ABChttps://blog.csdn.net/vrunsoftyanlz/article/details/78630687

++++Unity面试题Dhttps://blog.csdn.net/VRunSoftYanlz/article/details/78630838

++++Unity面试题Ehttps://blog.csdn.net/vrunsoftyanlz/article/details/78630913

++++Unity面试题Fhttps://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知识点0001https://blog.csdn.net/vrunsoftyanlz/article/details/80302012

++++Unity知识点0008https://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安卓JNIhttps://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

++++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--_--

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值