Unity3D 角色移動腳本的實現(xiàn) 2019/11/10

注意本腳本是用剛體移動一定要給物體叫加上剛體組件评疗,并且人物動作動畫使用mecanima的混合樹“forward”播放

[Header("===== 控制移動和方向的各項數(shù)值 ======")]
    private float h = 0.0f;
    private float v = 0.0f;
    //向量
    private Vector3 moveDir;
    //移動變量
    public float moveSpeed = 2.0f;
    //旋轉(zhuǎn)速度
    public float rotSpeed = 100.0f;
    //奔跑速度
    public float runSpeed = 4.0f;
    private float mag;
    private float velocityh;
    private float velocityv;
    private float targeth;
    private float targetv;
    private Transform tr;
    private Animator ani;
    private Rigidbody rb;
    public bool run;


    //輸入特殊按鍵
    public string keyA = "left shift";
    // public string keyB;
    // Start is called before the first frame update
    void Awake()
    {
        tr = GetComponent<Transform>();
        ani = GetComponent<Animator>();
        rb = GetComponent<Rigidbody>();


    }

    // Update is called once per frame
    void Update()
    {

        targeth = Input.GetAxis("Horizontal");
        targetv = Input.GetAxis("Vertical");
        run = Input.GetKey(keyA);


        h = Mathf.SmoothDamp(h, targeth, ref velocityh, 0.1f);
        v = Mathf.SmoothDamp(v, targetv, ref velocityv, 0.1f);

        Debug.Log("H=" + h.ToString());
        Debug.Log("V=" + v.ToString());

        


        //計算前后左右移動的方向向量


        moveDir = (Vector3.forward * v) + (Vector3.right * h);
        mag = Mathf.Sqrt(targeth * targeth + targetv * targetv);
        if (mag > 1.0f)
        {
            mag = 1.0f;
        }


        //移動動畫

         float runani = ((run) ? 2.0f : 1.0f);

         ani.SetFloat("forward", mag *Mathf .Lerp (ani .GetFloat("forward") , runani,0.5f));
         //走動
         if (mag > 0.1f)
         {
             Vector3 targetforward = Vector3.Slerp(tr.forward, moveDir, 0.3f);
             tr.forward = targetforward;
         }
       //下面是用bool來實現(xiàn)人物動畫播放
        /* if (moveDir != Vector3.zero) 
         {
             tr.rotation = Quaternion.LookRotation( moveDir  );

             if (run) {
                 ani.SetBool("run", true);

             }

             ani.SetBool("walk", true);

         }  else
         {
             ani.SetBool("walk", false);
         } */


    }





    void FixedUpdate()
    {
        //用剛體來使物體移動(移動速度*方向向量*tiem.fixeddeltatime)

       rb.position += moveSpeed * moveDir * Time.fixedDeltaTime * ((run) ? 2.0f : 1.0f);
    
        
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市呜投,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌雕拼,老刑警劉巖粘招,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異洒扎,居然都是意外死亡,警方通過查閱死者的電腦和手機磷醋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門胡诗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人骇陈,你說我怎么就攤上這事∧愦疲” “怎么了谍憔?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵主籍,是天一觀的道長逛球。 經(jīng)常有香客問我,道長颤绕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任物独,我火速辦了婚禮氯葬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘帚称。我一直安慰自己,他們只是感情好戏羽,可當(dāng)我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布楼吃。 她就那樣靜靜地躺著,像睡著了一般孩锡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上浮创,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天,我揣著相機與錄音斩披,去河邊找鬼。 笑死垦沉,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的寡壮。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼况既,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了棒仍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤癞尚,失蹤者是張志新(化名)和其女友劉穎乱陡,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體憨颠,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡烙心,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蹬跃。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖丹喻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情碍论,我是刑警寧澤柄慰,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站坐搔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蠢挡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一业踏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧腹尖,春花似錦、人聲如沸桐臊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽巫俺。三九已至,卻和暖如春介汹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背窗价。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工叹卷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人骤竹。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像靶溜,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子罩息,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 更新:【面試題含答案】http://bbs.9ria.com/thread-288394-1-1.html 高頻問...
    好怕怕閱讀 4,728評論 3 52
  • 前言:這篇文章是之前自己博客里的,這次重新用Markdown排下版,給需要的人, 想要成為一個優(yōu)秀的U3D程序員...
    道阻且長_行則將至閱讀 1,746評論 0 20
  • 一.剛體組件的屬性介紹 剛體能讓你的游戲?qū)ο蟊晃锢硪嫠刂疲芡ㄟ^受到推力和扭力來實現(xiàn)真實的物理表現(xiàn)效果锨匆。所有...
    沉麟閱讀 1,295評論 0 0
  • 最先執(zhí)行的方法是: 1冬筒、(激活時的初始化代碼)Awake茅主,2、Start诀姚、3、Update【FixUpdate赫段、L...
    困卡閱讀 4,169評論 0 8
  • 1.什么是渲染管道? 是指在顯示器上為了顯示出圖像而經(jīng)過的一系列必要操作贬丛。 渲染管道中的很多步驟,都要將幾何物體從...
    愛機車的異鄉(xiāng)人閱讀 573評論 0 1