unity學習筆記19

一、角色動畫的使用練習

從資源商店導入的動畫資源(Character Pack: Free Sample)中將資源中的角色創建在場景里,現在場景里存在的角色并沒有任何動畫。

在資源中找到Animations文件夾,在這個文件有很多模型文件(.FBX),一般在這些模型文件中就包含了動畫片段。

動畫片段的使用:

創建一個動畫控制器然后將控制器拖到物體的animator組件的控制器上,然后雙擊打開控制器。之后就可以將動畫拖拽到控制器中使用,例如:

運行后就可播放動畫

現在想實現多個動畫之間的切換,例如:

方式一:

選中idle右鍵→創建過渡然后將箭頭指向需要切換的動畫,這樣在執行玩一個動畫后就會過渡到第二個動畫。

方式二:通過按鈕控制過渡

為動畫添加條件,選擇動畫器的參數面板,為其添加一個參數,這里有四種類型:Float、Int、Bool、Trigger

現在使用 Trigger 并命名為 pickup。選中過渡的箭頭線段,在右邊檢查器面板中找到Condition 點擊加號選擇事件pickup。

現在就為過渡事件添加條件:idle動畫不能隨便過渡到pickup動畫,只有當pickup被觸發之后才能從idle動畫過渡到pickup動畫。只有當觸發事件是選中狀態才會切換一次。比如:

現在要通過腳本的方式去控制這個觸發事項是否的選擇,比如按下按鍵就讓pickup參數觸發

? ? void Update()
? ? {
? ? ? ? if (Input.GetKeyDown(KeyCode.F))
? ? ? ? {
? ? ? ? ? ? GetComponent<Animator>().SetTrigger("pickup");
? ? ? ? }
? ? }

現在只要按下 F 按鈕就會使觸發事件被選中,但是現在這個過渡動畫不會立刻執行,會等待當前的動畫執行完畢后才會執行。

現在選中箭頭線段,將檢查器面板的有退出時間不勾選,這樣一按下按鍵就會立刻執行動畫

示例:要讓角色在動并在移動時執行動畫,角色在移動時就執行跑步的動畫,停止時執行idle的動畫。

首先設置事件觸發參數:

這里的事件參數就不能選著tagger,因為這種只會執行一次,要選中其他的(Int Float Bool),這里選擇bool。并且相互添加上過渡,并且在檢查器面板中設置Condition的事件觸發條件,Run動畫切換的條件是IsRun為ture,idle動畫的切換條件IsRun為false。

然后通過代碼去控制角色:

?private Animator animator;
? ? void Start()
? ? {
? ? ? ? animator = GetComponent<Animator>();
? ? }

? ? void Update()
? ? {
? ? ? ? float horizontal = Input.GetAxis("Horizontal");
? ? ? ? float vertical = Input.GetAxis("Vertical");
? ? ? ? //向量
? ? ? ? Vector3 dir = new Vector3(horizontal,0, vertical);
? ? ? ? //按下按鍵
? ? ? ? if(dir != Vector3.zero)
? ? ? ? {
? ? ? ? ? ? //讓角色面向向量
? ? ? ? ? ? transform.rotation = Quaternion.LookRotation(dir);
? ? ? ? ? ? //播放動畫
? ? ? ? ? ? animator.SetBool("IsRun", true);
? ? ? ? ? ? //朝向前方移動
? ? ? ? ? ? transform.Translate(Vector3.forward * 2 * Time.deltaTime);
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? animator.SetBool("IsRun", false);
? ? ? ? }

? ? }

這樣角色移動時會播放跑步的動畫,停止時會播放停止的動畫。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/213288.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/213288.shtml
英文地址,請注明出處:http://en.pswp.cn/news/213288.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

自定義帶有構建標記的Go二進制文件

引言 在Go中,構建標簽或構建約束,是添加到代碼片段中的標識符,用于確定在build過程中何時應將文件包含在包中。這允許您從相同的源代碼構建不同版本的Go應用程序,并以快速和有組織的方式在它們之間切換。許多開發人員使用構建標記來改進構建跨平臺兼容應用程序的工作流程,…

算能 MilkV Duo開發板實戰——opencv-mobile (迷你版opencv庫)的移植和應用

前言 OpenCV是一種開源的計算機視覺和機器學習軟件庫&#xff0c;旨在提供一組通用的計算機視覺工具。它用于圖像處理、目標識別、人臉識別、機器學習等領域&#xff0c;廣泛應用于計算機視覺任務。 OpenCV-Mobile是OpenCV庫的輕量版本&#xff0c;專為移動平臺&#xff08;A…

學習 NVIDIA Omniverse 的最基礎概念

無用的前言 近兩年關于 Omniverse 的宣傳一直很多&#xff0c;可我一直沒去了解&#xff0c;連它是個啥都不知道。最近正好有契機需要了解它&#xff0c;于是我今天抽時間看了些它的官方介紹&#xff0c;并按照自己的理解梳理在這里。 官方資料索引 Omniverse 官網主頁&…

Nacos配置管理-微服務配置拉取

yaml已配置內容 目錄 一、配置獲取步驟 二、統一配置管理步驟 三、Nacos管理配置的步驟總結 一、配置獲取步驟 二、統一配置管理步驟 1、引入Nacos的配置管理客戶端依賴: <!--nacos配置管理依賴--> <dependency> <groupId>com.alibaba.cloud&l…

CRM是什么?企業為什么需要CRM?

CRM是什么 CRM的全稱是Customer Relationship Management&#xff0c;即客戶關系管理&#xff0c;是一種企業與現有客戶及潛在客戶之間關系互動的管理系統&#xff0c;是企業“以客戶為中心”價值觀的核心體現之一。 客戶是一家企業最寶貴的資源。CRM系統最關鍵的就是能夠幫助…

復亞智能無人機機場適配最新大疆無人機

無人機已經在各個領域得到廣泛應用&#xff0c;但由于操作難度、起降場地等問題&#xff0c;其應用范圍和效率受到了一定限制。隨著無人機機場研發技術的成熟&#xff0c;許多實際操作中的難題得以解決&#xff0c;使得無人機應用變得更加高效。接下來&#xff0c;我們將深入了…

修改代碼后idea如何將代碼提交到公司git上

1、需要先更新最新的代碼到本地&#xff1b;&#xff08;此步驟防止&#xff0c;公司其他人在此期間已經提交了最新代碼&#xff0c;但是自己本地項目沒有拉取最新代碼&#xff0c;導致最后版本沖突&#xff09; 打開idea---》鼠標項目項目名上右擊---》選擇Git---》選擇pull-…

MySQL數據庫,創建和管理表

創建數據庫&#xff1a; 方式一&#xff1a;創建數據庫 CREATE DATABASE 數據庫名&#xff1b;&#xff08;使用的是默認的字符集&#xff09; 方式二&#xff1a;創建數據庫并指定字符集 CREATE DATABASE 數據庫名 CHARACTER SET 字符集&#xff1b; 方式三&#xff1a;判斷數…

邊車模式的介紹

邊車模式也叫搭檔模式。 邊車模式的設計思想是將控制和邏輯分離&#xff0c;常用于分布式架構中的邏輯和控制分離設計。邊車來實現這些與業務邏輯沒有關系的控制功能。 以邊車的方式&#xff0c;對應用服務沒有侵入性&#xff0c;并且不用受到應用服務的語言與技術的限制&…

每天五分鐘計算機視覺:使用1*1卷積層來改變輸入層的通道數量

本文重點 在卷積神經網絡中有很多重要的卷積核&#xff0c;比如1*1的卷積核&#xff0c;3*3的卷積核&#xff0c;本文將講解1*1的卷積核的使用&#xff0c;它在卷積神經網絡中具有重要的地位。由于1*1的卷積核使用了最小的窗口&#xff0c;那么1*1的卷積核就失去了卷積層可以識…

調試備忘錄-NTC電阻的使用(教程 + 代碼)

軟件環境&#xff1a;CodeWarrior 11.1 硬件環境&#xff1a;NXP S9KEAZ64A 傳感器參數&#xff1a;NTC熱敏電阻(R25 50k,B25-50 3950) 寫在前面 最近做小項目需要用到NTC電阻&#xff0c;因此寫一個調試備忘錄記錄下。 什么是NTC電阻&#xff1f; NTC熱敏電阻就是負溫度…

【flink番外篇】2、flink的23種算子window join 和interval join 數據傾斜、分區介紹及詳細示例-完整版

Flink 系列文章 一、Flink 專欄 Flink 專欄系統介紹某一知識點&#xff0c;并輔以具體的示例進行說明。 1、Flink 部署系列 本部分介紹Flink的部署、配置相關基礎內容。 2、Flink基礎系列 本部分介紹Flink 的基礎部分&#xff0c;比如術語、架構、編程模型、編程指南、基本的…

npm install報錯ERR code ETIMEDOUT的解決辦法

//1.查看npm鏡像設置 npm config get registry //2.將npm設置為淘寶鏡像 npm config set registry https://registry.npm.taobao.org //3.再次查看npm鏡像設置 npm config get registry //4.重新install npm install要查看npm源&#xff0c;可以使用以下命令&#xff1a; 1. 查…

行人重識別paper匯總

文章目錄 2021Learning Generalisable Omni-Scale Representations for Person Re-Identification 參考 2021 Learning Generalisable Omni-Scale Representations for Person Re-Identification code: https://github.com/KaiyangZhou/deep-person-reid 摘要&#xff1a;一…

GLAB | CCNA+HCIA=融合課-最新開課通知

敲重點! 12月17日 CCNAHCIA 周日開課啦&#xff01; CCNA&#xff08;Cisco Certified Network Associate&#xff09;認證是Cisco售后工程師認證體系的入門認證&#xff0c;也是Cisco各項認證中級別最低的技術認證通過CCNA認證可證明你已掌握網絡的基本知識&#xff0c;并能…

TypeScript入門實戰筆記 -- 01 如何快速搭建 TypeScript 學習開發環境?

&#x1f34d;IDE for TypeScript 在搭建 TypeScript 環境之前&#xff0c;我們需要先認識幾款適合 TypeScript 的 IDE。只有這樣&#xff0c;在開發時我們才能根據實際情況選擇合適的 IDE 進行安裝&#xff0c;從而提升工作效率。 VS Code Visual Studio Code&#xff08;VS C…

public static final

常量對象中聲明并賦值的正確寫法一&#xff1a; public class RoleConstant {public static final List<String> PROBLEM_VIEW_ALL_DATA new ArrayList<String>() {{add("角色1");add("角色2");add("角色3");}};}常量對象中聲明并…

力扣101.對稱二叉樹

目錄 1.解題思路2.代碼實現 1.解題思路 由于題中的接口只給了一個參數&#xff0c;因此如果我們使用題中給的接口做出遞歸就會很難&#xff0c;因此我們可以再給一個有著兩個參數的接口&#xff0c;這樣&#xff0c;對于左右子樹的判斷也會變得更加便利&#xff0c;然后&#…

設計模式篇---代理模式

文章目錄 概念結構實例靜態代理動態代理 總結 概念 代理模式&#xff1a;給某一個對象提供一個代理或占位符&#xff0c;并由代理對象來控制對原對象的訪問。 比如我們想從其他國家買東西&#xff0c;但我們無法直接聯系外國的商家&#xff0c;可以找代理商&#xff0c;讓他們…

dell r720遠程網絡安裝ubuntu20.04(無U盤)

登陸后界面&#xff0c;在主界面上&#xff0c;我們就可以看到各個硬件組件的狀態。在快速啟動任務欄中&#xff0c;可以對系統電源進行操作&#xff0c;如開機、關機等。安裝操作系統&#xff0c;在虛擬控制臺預覽處點擊>啟動 按照瀏覽器出現的提示確定安裝控件等&#x…