免费国产网站_秋霞午夜一区二区三区视频_99热在线看_日韩精品久久一区二区_午夜看一级毛片_天天鲁在视频在线观看

  • 您的位置:首頁 > 新聞動態 > 技術文章

    wiseglove數據手套驅動unity3D游戲角色右手模型關節

    2017/2/20??????點擊:

    目前unity3D游戲引擎已經廣泛的用于游戲開發,而且unity3d在國內發展比較迅速,已經成為了主流的游戲開發引擎之一。隨著越來越多的開發人員開始使用unity3D,網絡上unity3D的中文學習資料也逐漸豐富。為了方便客戶使用wiseglove數據手套,我們專門組織編寫了在Unity3D環境下調用wiseglove數據手套SDK開發包,用數據手套的實時數據來驅動unity3d中的角色右手模型的demo程序。

    Unity3D的新版動畫系統Mecanim已經對人類類型的角色支援設計了一套殊的工作流程。用戶將3dsmax或者maya中導入的人形角色導入unity3d后,需要為角色創建Avatar,本質上就是分析導入資源的骨骼結構,并對其進行標識,從而轉化成Mecanim可以識別的骨骼結構,或者說轉化成通用的骨骼結構,這也是為什么在資源準備時在骨骼的創建及命名要遵循一定的規范的原因,這樣方便mecanim對骨骼的識別。

    在導入的資源都具有通用的骨骼結構時,就可以實現動畫的共用。

    在這里我們用wiseGlove數據手套驅動右手模型時也使用了unity標準的avatar映射的人手關節模型,這樣方便我們對不同的角色的右手模型進行驅動。

    下面是用于驅動人手模型的代碼,需要將這段代碼掛載在場景中的角色身上:

     

    using System.Collections;

    using System.Collections.Generic;

    using UnityEngine;


    public class RightHand : MonoBehaviour {

        Animator animator;

        Transform rightThumbProximal; //This is the right thumb 1st phalange.

        Transform rightThumbIntermediate; // This is the right thumb 2nd phalange.

        Transform rightThumbDistal;    //This is the right thumb 3rd phalange.

        Transform rightIndexProximal; // This is the right index 1st phalange.

        Transform rightIndexIntermediate; // This is the right index 2nd phalange.

        Transform rightIndexDistal; // This is the right index 3rd phalange.

        Transform rightMiddleProximal; // This is the right middle 1st phalange.

        Transform rightMiddleIntermediate;// This is the right middle 2nd phalange.

        Transform rightMiddleDistal;// This is the right middle 3rd phalange.

        Transform rightRingProximal;// This is the right ring 1st phalange.

        Transform rightRingIntermediate;// This is the right ring 2nd phalange.

        Transform rightRingDistal;// This is the right ring 3rd phalange.

        Transform rightLittleProximal;// This is the right little 1st phalange.

        Transform rightLittleIntermediate;// This is the right little 2nd phalange.

        Transform rightLittleDistal;// This is the right little 3rd phalange.


        //將從數據手套獲取到的各個手指關節的Rotation賦值給下面對應的Quaternion類型的公用變量,

        //就可以實現手指關節的運動

        public Quaternion R_Thumb_P_rotation; //R-right,T-Thumb,P-Proximal

        public Quaternion R_Thumb_I_rotation;

        public Quaternion R_Thumb_D_roatation;

        public Quaternion R_Index_P_rotation; //R-right,I-Index,P-Proximal

        public Quaternion R_Index_I_rotation;

        public Quaternion R_Index_D_roatation;

        public Quaternion R_Middle_P_rotation; //R-right,M-Middle,P-Proximal

        public Quaternion R_Middle_I_rotation;

        public Quaternion R_Middle_D_roatation;

        public Quaternion R_Ring_P_rotation; //R-right,R-Ring,P-Proximal

        public Quaternion R_Ring_I_rotation;

        public Quaternion R_Ring_D_roatation;

        public Quaternion R_Little_P_rotation; //R-right,L-Little,P-Proximal

        public Quaternion R_Little_I_rotation;

        public Quaternion R_Little_D_roatation;


        // Use this for initialization

        void Start () {

            //獲取角色的Animator組件

            animator = transform.GetComponent();

            //通過Animator組件獲取右手手指的各個關節

            rightThumbProximal = animator.GetBoneTransform(HumanBodyBones.RightThumbProximal); 

            rightThumbIntermediate = animator.GetBoneTransform(HumanBodyBones.RightThumbIntermediate);

            rightThumbDistal = animator.GetBoneTransform(HumanBodyBones.RightThumbDistal);

            rightIndexProximal = animator.GetBoneTransform(HumanBodyBones.RightIndexProximal);

            rightIndexIntermediate = animator.GetBoneTransform(HumanBodyBones.RightIndexIntermediate);

            rightIndexDistal = animator.GetBoneTransform(HumanBodyBones.RightIndexDistal);

            rightMiddleProximal = animator.GetBoneTransform(HumanBodyBones.RightMiddleProximal);

            rightMiddleIntermediate = animator.GetBoneTransform(HumanBodyBones.RightMiddleIntermediate);

            rightMiddleDistal = animator.GetBoneTransform(HumanBodyBones.RightMiddleDistal);

            rightRingProximal = animator.GetBoneTransform(HumanBodyBones.RightRingProximal);

            rightRingIntermediate = animator.GetBoneTransform(HumanBodyBones.RightRingIntermediate);

            rightRingDistal = animator.GetBoneTransform(HumanBodyBones.RightRingDistal);

            rightLittleProximal = animator.GetBoneTransform(HumanBodyBones.RightLittleProximal);

            rightLittleIntermediate = animator.GetBoneTransform(HumanBodyBones.RightLittleIntermediate);

            rightLittleDistal = animator.GetBoneTransform(HumanBodyBones.RightLittleDistal);

        }


        // Update is called once per frame

        void Update () {

            //將從數據手套獲取到的旋轉量賦值給相應的手指關節的localRotaion就可以了

            rightThumbProximal.localRotation= R_Thumb_P_rotation;

            rightThumbIntermediate.localRotation = R_Thumb_I_rotation;

            rightThumbDistal.localRotation = R_Thumb_D_roatation;

            rightIndexProximal.localRotation = R_Index_P_rotation;

            rightIndexIntermediate.localRotation = R_Index_I_rotation;

            rightIndexDistal.localRotation = R_Index_D_roatation;

            rightMiddleProximal.localRotation = R_Middle_P_rotation;

            rightMiddleIntermediate.localRotation = R_Middle_I_rotation;

            rightMiddleDistal.localRotation = R_Middle_D_roatation;

            rightRingProximal.localRotation = R_Ring_P_rotation;

            rightRingIntermediate.localRotation = R_Ring_I_rotation;

            rightRingDistal.localRotation = R_Ring_D_roatation;

            rightLittleProximal.localRotation = R_Little_P_rotation;

            rightLittleIntermediate.localRotation = R_Little_I_rotation;

            rightLittleDistal.localRotation = R_Little_D_roatation;


        }

    }

     

    主站蜘蛛池模板: 91精品啪在线观看国产91九色_综合日韩欧美_免费无码毛片一区二区三区A片_97人人人_国产微拍精品一区二区_亚洲综合久久av | 91久久久国产_欧xxxx_我要看国产操逼片網站信息!_亚洲成人小说_中文字幕制服_国产精品三级视频 | 国产伦高清一区二区三区_四虎4hutv紧急入口_国产片av_99久久精品免费_日本va中文字幕_日韩久久久 | 美女扒开内裤无遮挡18禁_视频一区视频二区中文_免费精品国产人妻国语_久久天天综合网_日本一级淫片a免费播放_99亚洲乱人伦aⅴ精品 | 精品日韩一区二区三区_久久艹免费视频_国产精品自拍一区_亚洲成人在线网站_大地资源影视在线观看免费_欧美国产日产一区二区 | 人妻中文字幕乱人伦在线_欧美黄色a级片_国产亚洲日韩在线一区二区三区_久久e久久_麻豆成人精品视频_av片毛片 | 在线看的av_狠狠色噜噜狠狠色综合久_日本特一级片_琪琪SEE色原网色原网站18_久久久久免费精品21毛片_66av视频 | 亚洲精品无码不卡AV_亚洲a一片_亚洲综合91_香蕉久久久久久久_午夜dy888国产精品影院_亚洲视频欧洲视频 | 中文字幕日本最新乱码视频_日韩av成人在线_韩国视频一区二区_免费在线播放黄色_亚洲国产精品无码成人片久久_青青青在线视频观看 | 日本看黄网站_国产精品你懂的_草草影院最新_XXX性XXX国语对白_国产在线观看免费_中文字幕日本一区 | 精品国产免费久久_男人天堂一区_国产一级黄片毛片_久久超碰网_久久久久久亚洲国产_亚洲伊人色欲综合网色 | 国产成人人人97超碰超爽8_日韩一区国产二区欧美三区_欧美日韩精品专区_国产精品久久久久久久久久小说_91福利国产在线观一区二区_国产视频xxxx | 国产91九色视频_久久精品国产亚洲精品2020_久爱精品在线_成人毛片黄色_a最新天堂网资源_男人插女人免费 | 日日夜夜骑_成人伊人久久_五月婷婷俺也去_97一级片_免费无码av片_WWW插插插无码视频网站 | 96av麻豆蜜桃一区二区_国产综合精品女在线观看_www色综合_国产精品不卡在线观看_久久精品国产国产精_极品少妇ⅩXXXⅩ护士 | 开心婷婷激激情av_日韩激情网站_成人福利视频在线观看免费_无码少妇精品一区二区免费_深夜A级毛片免费视频_在线观看一区二区三区视频 | 99精品视频在线观看免费_少妇无码太爽了在线播放_XXX欧美性兽交_99久久国产精_白嫩少妇激情无码_乱人伦中文字幕成人网站在线 | 亚洲h片在线观看_国产精品美女久久久久久久久_91久久精品国产一区二区_成人mv高清在线_精品人伦一区二区_国产免费xxx | 亚洲精品成人免费_91女神娇喘疯狂3p之夜_精品韩国一级久久_av毛片网_www超碰com_午夜视频体内射.COM.COM | 久久我不卡_少妇私密推油呻吟在线播放_满江红高清免费版观看_av成人国产_久久久久久久18_黄色裸体网站 | 亚洲色婷婷五月色晴天图片_色香阁综合无码国产在线_91精品国产一区_加勒比在线日本_热久久成人_国产成人亚洲欧 | 黄页网站视频免费大全_2021高清精品国产_久久国产精品99久久久大便_亚洲精品国产剧情久久9191_国产欧美一区二区精品性_激情片一区二区 | 美女高潮视频网站_国产专区一_超碰在线亚洲_www.99色.com_91a在线观看_亚洲午夜精品毛片成人播放器 | 日本一本高清_青草草视频在线观看_大香伊蕉在人线视频777_嫩草天堂_日韩精品无码一区二区三区_亚洲精品综合在线 | 男女啪祼交视频_国内三级_麻豆蜜桃av_色琪琪丁香婷婷综合久久_www.88av.com最新地址_www.日韩av.com | 大香伊蕉日本一区二区_四虎永久_老师穿超短包臀裙办公室爆乳_亚洲视频123_亚洲精品无码久久久久_99久久综合网 | 亚洲午夜久久久久久久久久久_无遮挡午夜男女XX00动态_视频国产在线_亚洲av日韩av永久无码久久_亚洲AV综合久久九九_日本在线观看a | 日本六十路无码熟妇交尾_欧美国产性_日本后进式动态在线视频_欧美成人午夜性视频_亚洲日韩国产成网在线_久久精品国产99久久6动漫 | 秋霞鲁丝片av无码_成人影院免费观看_亚洲是色_亚洲精品国偷拍_国内精品久久久久久久久久_欧美精品videosse精子 | 国产欧美在线亚洲一区_亚洲精品手机在线_粉嫩高清一区二区三区_免费av资源网站_国产国拍精品_亚洲男人的天堂在线视频 | 中文字幕色av一区二区三区_亚洲中文字幕无码中文字幕_成人片黄网站色大片免费观看CN_亚洲风情第一页_激情伊人_天天骑夜夜操 | 日本新japanese乱熟_亚州欧洲日韩精品_jizz日本少妇高潮出水_亚洲AV无码一区二区乱子仑_黄色123_俄罗斯精品无码一区二区 | 一级片在线_国产三级精品最新在线_欧美在线视频网站_日韩精品无码一区二区三区不卡_国产欧美久久一区二区_一区二区三区视频在线观看视频 | 高潮videossex潮喷另类_中文字幕无码热在线视频_国产大屁股喷水视频在线观看_国产专区免费_A级无遮挡超级高清一在线观看_精品国产AV久久久久无码 | 久久人国产_国产精品免费看久久久_中文字幕视频三区_国产va免费精品高清在线观看_同性男男黄gay片免费_国产精成视频 | 久久中文字幕在线观看_日韩亚洲欧美在线观看_青青草在线观看视频_国内自拍99热_色窝窝亚洲av网_狠狠色综合TV久久久久久 | 亚洲精品久久30p_国内性爱一区二区_一区二区三区黄色_亚洲无码视频六月天_亚洲精品卡一卡三卡四卡乱码_最新黄色网址在线观看 | 蜜桃视频免费在线观看_精品久久久久久免费人妻_西出玉门在线观看_国产a一片_免费观看Aⅴ成人片_久久人体rtys | 国产福利91精品一区二区_免费一级淫片_成人一区二区在线_噜噜噜在线观看免费视频_亚洲字幕网_欧美视频在线观看一区二区 | 国产一区在线不卡_天天干夜夜草_久久九九看黄一片_亚洲91影院_国产99国产精偷国产黄在线欧洲_ysl蜜桃色成人网 | 狠狠色综合色综合网站久久_公牛巨鞭大战人妻H_久久www免费人成_看片中文_久草在线综合网_欧美18videosex性欧美亅izz4_久久伦理中文字幕 |