最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Unity動(dòng)畫混合樹(shù)實(shí)例詳解

 更新時(shí)間:2021年11月17日 08:50:02   作者:九本才  
這篇文章主要為大家詳細(xì)介紹了Unity動(dòng)畫混合樹(shù)實(shí)例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Unity動(dòng)畫混合樹(shù)實(shí)例代碼,供大家參考,具體內(nèi)容如下

先看效果

游戲動(dòng)畫中的一項(xiàng)常見(jiàn)任務(wù)是在兩個(gè)或更多相似運(yùn)動(dòng)之間進(jìn)行混合。也許最熟知的示例就是根據(jù)角色的速度來(lái)混合行走和奔跑動(dòng)畫。另一個(gè)示例是角色在奔跑期間轉(zhuǎn)向時(shí)向左或向右傾斜。

使用方法:

1.右鍵單擊 Animator Controller 窗口上的空白區(qū)域。 1.從顯示的上下文菜單中,選擇 Create State > From New Blend Tree。 1.雙擊混合樹(shù) (Blend Tree) 以進(jìn)入混合樹(shù)視圖 (Blend Tree Graph)。

Animator 窗口現(xiàn)在顯示整個(gè)混合樹(shù)的圖示,而 Inspector 顯示當(dāng)前選定節(jié)點(diǎn)及其直接子節(jié)點(diǎn)。

類型

1.  1D:一維的混合,一個(gè)參數(shù)控制動(dòng)畫的切換。

2.  2D Simple Directional(2D簡(jiǎn)單方向):當(dāng)你的運(yùn)動(dòng)代表不同的方向,如“向前走”,“向后走”,“向左走”,“向右走”,或“向上瞄準(zhǔn)”,“向下瞄準(zhǔn)”,“左瞄“和”右瞄“。當(dāng)然了,可以在(0,0)處包含一個(gè)默認(rèn)動(dòng)作類似“空閑站立”或“直線瞄準(zhǔn)”。與1D混合樹(shù)不同的是,2D Simple Directional   不是在同一個(gè)方向上的多個(gè)動(dòng)作,比如“走”和“跑”。

3.  2D Freeform Directional(2D自由方向):動(dòng)畫運(yùn)用有不同的方向時(shí),也可以使用這種混合類型:可以在同一個(gè)方向上有多個(gè)運(yùn)動(dòng),例如“走”和“跑”。在Freeform Directional類型中,(0,0)位置必須包含一個(gè)默認(rèn)動(dòng)作,如“空閑站立”。

4.  2D Freeform Cartesian(2D自由笛卡兒):當(dāng)混合的2個(gè)參數(shù)不代表不同的方向時(shí)使用。使用Freeform Cartesian,參數(shù)X和Y可以表示不同的概念類型,例如角速度和線速度。舉個(gè)例子:“向前走不轉(zhuǎn)向”,“向前跑不轉(zhuǎn)向”,“向前走并右轉(zhuǎn)”,“向前跑并右轉(zhuǎn)”等動(dòng)作。

如果角色動(dòng)畫包含站立、走、跑和轉(zhuǎn)向,非常符合2D Freeform Cartesian這種類型。我們的實(shí)例中就用的這個(gè)類型。

實(shí)例

實(shí)例中,我們用到了17個(gè)動(dòng)畫,包含,靜止?fàn)顟B(tài),前走后走左走右走4個(gè),左前走左后走右前走右后走4個(gè),同理跑也是8個(gè)動(dòng)畫。

 使用Walk和Turn控制動(dòng)畫的播放,其中Walk為PosX軸,Turn為PosY軸,在三維世界中,分別代表人物的前后移動(dòng)和左右移動(dòng)。我們手動(dòng)輸入?yún)?shù),例如當(dāng)(-0.5,0)的時(shí)候代表向后走,(1,1)的時(shí)候代表想右前方跑。配置好混合樹(shù)以后就可以用代碼控制這些參數(shù)的變化從而播放相應(yīng)的動(dòng)畫。

代碼

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityStandardAssets.CrossPlatformInput;
 
public class RobotKyleController : MonoBehaviour
{
    Animator m_Animator;
    private Vector3 m_Move;
 
 
    void Start()
    {
        m_Animator = GetComponent<Animator>();
    
    }
    private void FixedUpdate()
    {
        float h = CrossPlatformInputManager.GetAxis("Horizontal");
        float v = CrossPlatformInputManager.GetAxis("Vertical");
 
        if (Input.GetKey(KeyCode.LeftShift))
        {
            m_Move = v * Vector3.forward + h * Vector3.right;
        }
        else
        {
            m_Move =( v * Vector3.forward + h * Vector3.right)*0.5f;
        }
        UpdateAnimator(m_Move);
 
    }
    void UpdateAnimator(Vector3 move)
    {
        m_Animator.SetFloat("Walk", move.z, 0.1f, Time.deltaTime);
        m_Animator.SetFloat("Turn", move.x, 0.1f, Time.deltaTime);
       
    }
 
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C# WPF如何反射加載Geometry幾何圖形數(shù)據(jù)圖標(biāo)

    C# WPF如何反射加載Geometry幾何圖形數(shù)據(jù)圖標(biāo)

    這篇文章主要介紹了C# WPF如何反射加載Geometry幾何圖形數(shù)據(jù)圖標(biāo),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • 使用C#創(chuàng)建Windows服務(wù)的實(shí)例代碼

    使用C#創(chuàng)建Windows服務(wù)的實(shí)例代碼

    這篇文章主要介紹了使用C#創(chuàng)建Windows服務(wù)的實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • c# 免費(fèi)組件html轉(zhuǎn)pdf的實(shí)現(xiàn)過(guò)程

    c# 免費(fèi)組件html轉(zhuǎn)pdf的實(shí)現(xiàn)過(guò)程

    這篇文章主要介紹了c# 免費(fèi)組件html轉(zhuǎn)pdf的實(shí)現(xiàn)過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • C#在圖片增加文字的實(shí)現(xiàn)代碼

    C#在圖片增加文字的實(shí)現(xiàn)代碼

    最近做項(xiàng)目需要?jiǎng)討B(tài)給圖片增加文字(書本的封面圖片),修改字體大小、字體、顏色、控制位置等,下面通過(guò)實(shí)例代碼給大家分享C#在圖片增加文字的實(shí)現(xiàn)代碼,一起看看吧
    2017-06-06
  • C# Winform實(shí)現(xiàn)截圖工具的示例代碼

    C# Winform實(shí)現(xiàn)截圖工具的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用C# Winform制作一個(gè)簡(jiǎn)單的截圖工具,從而實(shí)現(xiàn)截圖功能,文中的示例代碼講解詳細(xì),有需要的可以參考下
    2024-02-02
  • C# 委托中 Invoke/BeginInvoke/EndInvoke和DynamicInvoke 方法的區(qū)別和聯(lián)系

    C# 委托中 Invoke/BeginInvoke/EndInvoke和DynamicInvoke&

    在C#中,委托(Delegate)提供了多種調(diào)用方式,包括 Invoke、BeginInvoke、EndInvoke 和 DynamicInvoke,每種調(diào)用方式都有其特定的用途和適用場(chǎng)景,下面將詳細(xì)介紹這些方法的區(qū)別與聯(lián)系,感興趣的朋友一起看看吧
    2025-03-03
  • C#使用GDI繪制直線的方法

    C#使用GDI繪制直線的方法

    這篇文章主要介紹了C#使用GDI繪制直線的方法,涉及C#中使用GDI繪圖的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • 在C# WPF下自定義滾動(dòng)條ScrollViewer樣式的操作

    在C# WPF下自定義滾動(dòng)條ScrollViewer樣式的操作

    這篇文章主要介紹了在C# WPF下自定義滾動(dòng)條ScrollViewer樣式的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • WPF實(shí)現(xiàn)Drawer抽屜控件

    WPF實(shí)現(xiàn)Drawer抽屜控件

    這篇文章主要為大家詳細(xì)介紹了如何使用WPF實(shí)現(xiàn)一個(gè)Drawer抽屜控件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11
  • C# 判斷字符為空的6種方法的效率實(shí)測(cè)對(duì)比

    C# 判斷字符為空的6種方法的效率實(shí)測(cè)對(duì)比

    本文主要介紹了C#中判斷字符是否為空的方法,并實(shí)測(cè)對(duì)比各種方法的執(zhí)行效率,最后推薦大家使用IsNullOrEmpty,效率和易用性比較均衡。
    2016-05-05

最新評(píng)論

开封县| 水城县| 依安县| 利辛县| 深水埗区| 清河县| 包头市| 庄浪县| 海南省| 宁国市| 萨嘎县| 汝阳县| 炉霍县| 西华县| 航空| 屏山县| 嫩江县| 太仆寺旗| 桃园市| 夏邑县| 白山市| 长宁县| 伽师县| 黑山县| 河曲县| 邻水| 宜阳县| 绥滨县| 拜泉县| 托克逊县| 东阳市| 霍山县| 襄城县| 神农架林区| 镇坪县| 沙雅县| 三原县| 谢通门县| 黎平县| 正阳县| 友谊县|