国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Unity2D】角色動(dòng)畫的切換

這篇具有很好參考價(jià)值的文章主要介紹了【Unity2D】角色動(dòng)畫的切換。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

動(dòng)畫狀態(tài)轉(zhuǎn)換

第一種方法是設(shè)置一個(gè)中間狀態(tài),從中間狀態(tài)向其余各種狀態(tài)切換,且各狀態(tài)向其他狀態(tài)需要設(shè)置參數(shù)

【Unity2D】角色動(dòng)畫的切換,nginx,運(yùn)維

實(shí)現(xiàn)動(dòng)作轉(zhuǎn)移時(shí)右鍵點(diǎn)擊Make Transition即可?

【Unity2D】角色動(dòng)畫的切換,nginx,運(yùn)維

實(shí)現(xiàn)動(dòng)畫轉(zhuǎn)移需要設(shè)置條件

點(diǎn)擊一種動(dòng)畫到另一種動(dòng)畫的線 ,然后點(diǎn)擊加號(hào)添加Condition 比如機(jī)器人從向左走切換到向右走的條件是MoveX(向左的運(yùn)動(dòng)參數(shù))大于0?

同時(shí),為了使得動(dòng)畫切換流暢 ,需要將Has Exit Time取消勾選?

同時(shí)點(diǎn)擊Settings,將Transation Duration(轉(zhuǎn)移間隔)設(shè)置為0

其他的動(dòng)畫切換也是這樣進(jìn)行

【Unity2D】角色動(dòng)畫的切換,nginx,運(yùn)維

?

?代碼支持

direction是角色的朝向,我將direction的數(shù)值設(shè)置為1或-1

這個(gè)根據(jù)自己的需要來(lái)做

       animator.SetFloat("MoveX",direction);
       animator.SetFloat("MoveY",direction);

?混合樹(shù)

混合樹(shù)是更為簡(jiǎn)單的一種方法

在Animations 文件夾中選定為robot創(chuàng)建Animation Controller后,點(diǎn)擊進(jìn)入

【Unity2D】角色動(dòng)畫的切換,nginx,運(yùn)維

?右鍵點(diǎn)擊From New Blend Tree 創(chuàng)建混合樹(shù)【Unity2D】角色動(dòng)畫的切換,nginx,運(yùn)維

?添加參數(shù)并為混合樹(shù)配置參數(shù)【Unity2D】角色動(dòng)畫的切換,nginx,運(yùn)維

?點(diǎn)擊右下角加號(hào)創(chuàng)建出運(yùn)動(dòng)? ?有幾個(gè)運(yùn)動(dòng)狀態(tài)就添加幾個(gè)運(yùn)動(dòng) 然后設(shè)置好這些運(yùn)動(dòng)對(duì)于X方向和Y方向的改變(通過(guò)Pos X和Pos Y設(shè)置 )【Unity2D】角色動(dòng)畫的切換,nginx,運(yùn)維

?然后將預(yù)先準(zhǔn)備好的動(dòng)畫拖動(dòng)到Motion中(根據(jù)參數(shù)確定每個(gè)Motion對(duì)應(yīng)的動(dòng)畫)

【Unity2D】角色動(dòng)畫的切換,nginx,運(yùn)維

代碼支持

 private void PlayMoveAnimation()
    {
        if (vertical)//垂直軸向動(dòng)畫的控制
        {
            animator.SetFloat("MoveX",0);
            animator.SetFloat("MoveY",direction);
        }
        else//水平軸向動(dòng)畫的控制
        {
            animator.SetFloat("MoveY",direction);
            animator.SetFloat("MoveY",0);
        }
    }
 void Start()
    {
        Rigidbody2D1 = GetComponent<Rigidbody2D>();
        timer = changeTime;
        animator = GetComponent<Animator>();
        // animator.SetFloat("MoveX",direction);
        // animator.SetFloat("MoveY",direction);
        PlayMoveAnimation();
        isBroken = true;
    }
    
    private void Update()
    {
        //修復(fù)好讓機(jī)器人停止移動(dòng)
        if (!isBroken)
        {
            return;
        }
        
        timer -= Time.deltaTime;
        if (timer < 0)
        {
            direction = -direction;
            PlayMoveAnimation();
            timer = changeTime;
        }
    }

    void FixedUpdate()
    {
        Vector2 position = Rigidbody2D1.position;
        if (vertical)//垂直移動(dòng)
        {
            position.y += Time.deltaTime * speed*direction;
            animator.SetFloat("MoveX",0);
            animator.SetFloat("MoveY",direction);
        }
        else//水平移動(dòng)
        {
            position.x += Time.deltaTime * speed*direction;
            animator.SetFloat("MoveX",direction);
            animator.SetFloat("MoveY",0);
        }
        //將終點(diǎn)告知?jiǎng)傮w組件,讓剛體組件來(lái)進(jìn)行位移
        Rigidbody2D1.MovePosition(position);
        
    }

1、FixedUpdate()

? ? 固定更新方法,和物理相關(guān)的操作代碼,都要寫在此方法中。

? ? 固定更新的時(shí)間是0.02s,1秒執(zhí)行50次,可在Edit--->Project Settings--->Time面板中的Fixed Timestep查看。

2、Update()

? ? 每幀執(zhí)行一次。

? ? 畫面每渲染一次,就是一幀,每幀的時(shí)間是不固定的。
————————————————
版權(quán)聲明:本文為CSDN博主「_Wyhon」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/hang981601026/article/details/79640678

? 為角色配置動(dòng)畫

將設(shè)置好的動(dòng)畫控制器拖動(dòng)到角色的Animator中的Controller即配置完成

【Unity2D】角色動(dòng)畫的切換,nginx,運(yùn)維文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-616956.html

到了這里,關(guān)于【Unity2D】角色動(dòng)畫的切換的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Unity學(xué)習(xí)筆記(7) Unity2D骨骼動(dòng)畫制作流程

    Unity學(xué)習(xí)筆記(7) Unity2D骨骼動(dòng)畫制作流程

    用骨骼動(dòng)畫最大的好處就是方便之后做換裝系統(tǒng)。 無(wú)論對(duì)3Dor2D游戲都是這樣的。 這篇博文記錄一下2D骨骼動(dòng)畫的制作流程,參考b站麥扣的系列教程: https://space.bilibili.com/370283072/channel/seriesdetail?sid=211996 用PS做一個(gè)將人物各個(gè)部件(骨骼)都分解開(kāi)來(lái)的人物模型。 導(dǎo)出時(shí)注意

    2023年04月09日
    瀏覽(31)
  • 15.Unity2D 橫版 骨骼動(dòng)畫 之 單張切片圖骨骼動(dòng)畫+Aseprite像素畫軟件

    15.Unity2D 橫版 骨骼動(dòng)畫 之 單張切片圖骨骼動(dòng)畫+Aseprite像素畫軟件

    ? 主目錄 https://blog.csdn.net/qq_54263076/category_11900070.html?spm=1001.2014.3001.5482 b站視頻:骨骼動(dòng)畫 1.直接單圖片?? 骨骼動(dòng)畫綁定(最簡(jiǎn)單,直接綁定就行) 2.部件分開(kāi)切片圖? 骨骼動(dòng)畫綁定(本教程主要講述) 3.部件多圖層?? 骨骼動(dòng)畫綁定(Aseprite像素畫繪圖沒(méi)有psd文件類型,本

    2024年02月10日
    瀏覽(20)
  • Unity2D學(xué)習(xí)筆記-Tilemap

    Unity2D學(xué)習(xí)筆記-Tilemap

    tilemap算是接觸了幾次,但是無(wú)論是看視頻還是看文章都一知半解,這次把編輯地圖的開(kāi)始步驟搞清楚。 首先要知道tilemap是做什么的。 這里提到的Tilemap其實(shí)不止是Tilemap:Tilemap本身是地圖編輯器(雖然我更傾向于理解為“場(chǎng)景”,不過(guò)編輯地圖才是核心)。之前學(xué)的印象是,

    2023年04月09日
    瀏覽(26)
  • Unity2D實(shí)現(xiàn)子彈追蹤目標(biāo)

    Unity2D實(shí)現(xiàn)子彈追蹤目標(biāo)

    實(shí)現(xiàn)子彈追蹤目標(biāo)有很多種方法,首先是一開(kāi)始就選定了目標(biāo)的位置,然后按照曲線運(yùn)動(dòng)軌跡的方式,持續(xù)運(yùn)動(dòng)到目標(biāo)點(diǎn),不過(guò)如果目標(biāo)移動(dòng)了,就得將對(duì)應(yīng)的軌跡重新計(jì)算一次,另外如果需要設(shè)置范圍的話更不好做。另一種是銳角追蹤,就是在目標(biāo)進(jìn)入識(shí)別范圍后,將子彈

    2024年02月06日
    瀏覽(28)
  • Unity2d游戲項(xiàng)目--小狐貍

    Unity2d游戲項(xiàng)目--小狐貍

    (一) 在文件夾中找到back圖片,并在檢查器面板中將back圖片的每單位像素?cái)?shù)設(shè)置為16。 (文件所在地) (面板設(shè)置) (二) 將圖片拖入到場(chǎng)景中 (一) 生成矩形的瓦片地圖 (二) 打開(kāi)平鋪調(diào)色板 (三) 新建并命名為map,在原目錄新建一個(gè)文件夾,用于存放你在這個(gè)瓦

    2024年02月03日
    瀏覽(31)
  • Unity2D繪制游戲地圖

    Unity2D繪制游戲地圖

    首先,我們選擇我們的地圖素材(由于筆者在前段時(shí)間已經(jīng)進(jìn)行切割,最近才開(kāi)始整理這一段,所以這個(gè)是用的老素材,可能有朋友就會(huì)覺(jué)得切割前后不一致,但是思路是一樣的,大家學(xué)習(xí)思路即可) ?接著,我們找到右上角的Slice進(jìn)行圖片切割,我這邊簡(jiǎn)單介紹一下這個(gè)切

    2024年02月08日
    瀏覽(30)
  • Unity2D小狐貍教程筆記

    Unity2D小狐貍教程筆記

    下載 https://unity.cn/releases 默認(rèn)顯示方式 window - layout - default SampleScene : Project - 文件目錄 Scene -游戲畫面 asset store - 素材商店 在asset store下載素材 sunnyland shift + sapace 放大窗口 1.背景導(dǎo)入 每個(gè)格子16像素: Pixels Per Unit 16px 2.繪制瓷磚式地圖 新建瓦片圖層:左上角/右鍵 2D object

    2024年01月24日
    瀏覽(32)
  • Unity2D-使人物翻轉(zhuǎn)的方法

    方法①:使用組件: SpriteRenderer 使用 GetAxis() 和 GetAxisRaw() 沒(méi)有區(qū)別 方法②:使用組件: Transform 情況1:使用 GetAxisRaw() ;沒(méi)有剎車效果,及翻轉(zhuǎn)過(guò)程沒(méi)有過(guò)渡, m o v e F a c t o r moveFactor m o v e F a c t or 取-1,1,0 情況1:使用 GetAxis() ;有剎車效果,及翻轉(zhuǎn)過(guò)程有過(guò)渡, m o v e F a c t

    2024年02月12日
    瀏覽(23)
  • Unity2D子彈朝向鼠標(biāo)位置發(fā)射

    Unity2D子彈朝向鼠標(biāo)位置發(fā)射

    廢話不多說(shuō),先說(shuō)明一下我使用的變量 float attack_time 用于表示每次攻擊的間隙時(shí)間 float current_time 攻擊時(shí)間的冷卻 Rigidbody2D body 2D剛體組件 Object bomb 需要發(fā)射的物體對(duì)象 創(chuàng)建一枚子彈,unity的Instantiate()函數(shù)就可以實(shí)現(xiàn),這里需要的三個(gè)參數(shù)是物體對(duì)象(Object),生成位置(Vecto

    2024年02月10日
    瀏覽(48)
  • 【Unity2D】相機(jī)移動(dòng)以及設(shè)置相機(jī)邊界

    【Unity2D】相機(jī)移動(dòng)以及設(shè)置相機(jī)邊界

    添加相機(jī)時(shí),首先需要在unity中添加 Cinemachine 包 第一次使用這個(gè)包時(shí),需要在Package Manager中搜索并安裝 ?安裝Camera Mechine包后,添加2D Camera 設(shè)置跟隨對(duì)象為Ruby (從Hierarchy中將Ruby拖動(dòng)到Follow中) ? 同時(shí),由于世界是有邊界的,要為相機(jī)設(shè)置邊界 通過(guò)添加Extension為相機(jī)添加

    2024年02月16日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包