RPG_5.角色動畫

1.創建一個動畫實例

2.創建該實例的c++子類

3.繼續創建該類的子類,但是作用是用來鏈接(以后會詳細解釋)

4.基于PlayerAnimInstance類創建一個子類

5.目前一共創建了四個c++類,

最基的類

角色的類

玩家控制的角色的類

玩家控制的角色的武器的類

6.進入XMBCharcterAnimInstance,覆寫

public:// 自定義初始化邏輯(例如設置骨骼引用、動畫曲線等)virtual void NativeInitializeAnimation() override;//這個函數在一個工作線程上運行而不是在游戲線程上運行,意味著使用此函數計算需要的所有變量可以相當優化virtual void NativeThreadSafeUpdateAnimation(float DeltaSeconds) override;

創建變量

protected://設置基于角色來獲取類型UPROPERTY()ACharacterBase* OwningCharacter;//移動組件UPROPERTY()UCharacterMovementComponent* OwningMovementComponent;//行走速度UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = "AnimData")float GroundSpeed;//是否有加速度UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = "AnimData")bool bHasAcceleration;

7.實現函數

//目的:在初始化動畫中獲取我們需要的關鍵變量
void UXMBCharacterAnimInstance::NativeInitializeAnimation()
{//獲取當前所有者OwningCharacter = Cast<ACharacterBase>(TryGetPawnOwner());if (OwningCharacter){OwningMovementComponent = OwningCharacter->GetCharacterMovement();}
}//在更新動畫中獲取我們的藍圖動畫需要的變量
void UXMBCharacterAnimInstance::NativeThreadSafeUpdateAnimation(float DeltaSeconds)
{if (!OwningCharacter || !OwningMovementComponent){return;}//獲取當前Owner的移動速度和加速度GroundSpeed =  OwningCharacter->GetVelocity().Size2D();//判斷Owner是否具有加速度bHasAcceleration = OwningMovementComponent->GetCurrentAcceleration().SizeSquared2D() > 0.f;
}

8.啟動引擎,創建一個屬于PlayerAnimInstance的動畫藍圖

創建好后選擇這個,并且能看到變量內有自己創建的變量,則成功

9.創建一個混合空間,選擇

創建好后打開,在左側欄填入變量名稱,并且把x值最大改為400,

10.進入動畫藍圖,創建一個狀態機

11.設置狀態機

12.設置完后進入角色藍圖,然后設置對應的藍圖動畫即可

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

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

相關文章

Sigmoid函數導數推導詳解

Sigmoid函數導數推導詳解 在邏輯回歸中&#xff0c;Sigmoid函數的導數推導是一個關鍵步驟&#xff0c;它使得梯度下降算法能夠高效地計算。 1. Sigmoid函數定義 首先回顧Sigmoid函數的定義&#xff1a; g ( z ) 1 1 e ? z g(z) \frac{1}{1 e^{-z}} g(z)1e?z1? 2. 導…

MS31860T——8 通道串行接口低邊驅動器

MS31860T 是一款 8 通道低邊驅動器&#xff0c;包含 SPI 串口通信、 PWM斬波器配置、過流保護、短路保護、欠壓鎖定和過熱關斷功能&#xff0c; 芯片可以讀取每個通道的狀態。MS31860T 可以診斷開路的負載情況&#xff0c;并可以讀取故障信息。外部故障引腳指示芯片的故障狀態。…

騰訊 Kuikly 正式開源,了解一下這個基于 Kotlin 的全平臺框架

在 3月的時候通過 《騰訊 TDF 即將開源 Kuikly 跨端框架&#xff0c;Kotlin 支持全平臺》 我們大致知道了 Kuikly 的基本情況&#xff0c;Kuikly 是一個面向終端技術棧的跨端開發框架&#xff0c;完全基于kotlin語言開發&#xff0c;提供原生的性能和體驗。 按照官方的說法&…

AI驅動UI自動化測試框架調研

隨著應用復雜度增加&#xff0c;手動測試變得費時且易出錯&#xff0c;而自動化測試可提高效率和可靠性。如何借助大模型和一些自動化測試框架進行自動化測試&#xff0c;是一個研發團隊很重要的訴求。 目前主流的自動化測試框架很多&#xff0c;Midscene.js結合Playwright提供…

關系型數據庫設計指南

1. 前言 在自己獨立開發一個項目的過程中&#xff0c;我發現了一些以往寫小 Demo 從來沒有遇到過的問題。 最近在獨立制作一個全棧的通知管理平臺。一開始我沒有考慮太多&#xff0c;直接根據頭腦中零星的想法就開擼后端數據庫 model 和 API&#xff0c;用的是學了半成品的 M…

詳解TypeScript中的類型斷言及其繞過類型檢查機制

TypeScript中的類型斷言及其繞過類型檢查機制 一、類型斷言的本質與工作原理編譯時與運行時的區別TypeScript編譯器處理類型斷言的步驟 二、類型斷言的詳細語法與進階用法基礎語法對比鏈式斷言斷言修飾符1. 非空斷言操作符 (!)代碼分析1. getLength 函數分析用法說明&#xff1…

XLSX.utils.sheet_to_json設置了blankrows:true,但無法獲取到開頭的空白行

在用sheetJs的XLSX庫做導入&#xff0c;遇到一個bug。如果開頭行是空白行的話&#xff0c;調用sheet_to_json轉數組獲得的數據也是沒有包含空白行的。這樣會導致在設置對應的起始行時&#xff0c;解析數據不生效。 目前是直接跳過了開頭的兩行空白行 正確應該獲得一下數據 問…

PostgreSQL 數據庫下載和安裝

官網&#xff1a; PostgreSQL: Downloads 推薦下載網站&#xff1a;EDB downloads postgresql 我選了 postgresql-15.12-1-windows-x64.exe 鼠標雙擊&#xff0c;開始安裝&#xff1a; 安裝路徑&#xff1a; Installation Directory: D:\Program Files\PostgreSQL\15 Serv…

一、Javaweb是什么?

1.1 客戶端與服務端 客戶端 &#xff1a;用于與用戶進行交互&#xff0c;接受用戶的輸入或操作&#xff0c;且展示服務器端的數據以及向服務器傳遞數據。 例如&#xff1a;手機app&#xff0c;微信小程序、瀏覽器… 服務端 &#xff1a;與客戶端進行交互&#xff0c;接受客戶…

奇偶ASCII值判斷

奇偶ASCII值判斷 Description 任意輸入一個字符&#xff0c;判斷其ASCII是否是奇數&#xff0c;若是&#xff0c;輸出YES&#xff0c;否則&#xff0c;輸出NO。例如&#xff0c;字符A的ASCII值是65&#xff0c;則輸出YES&#xff0c;若輸入字符B(ASCII值是66)&#xff0c;則輸…

OpenCV 圖形API(74)圖像與通道拼接函數-----合并三個單通道圖像(GMat)為一個多通道圖像的函數merge3()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 從3個單通道矩陣創建一個3通道矩陣。 此函數將多個矩陣合并以生成一個單一的多通道矩陣。即&#xff0c;輸出矩陣的每個元素將是輸入矩陣元素的…

多節點監測任務分配方法比較與分析

多監測節點任務分配方法是分布式系統、物聯網&#xff08;IoT&#xff09;、工業監測等領域的核心技術&#xff0c;其核心目標是在資源受限條件下高效分配任務&#xff0c;以優化系統性能。以下從方法分類、對比分析、應用場景選擇及挑戰等方面進行系統闡述&#xff1a; 圖1 多…

【推薦系統筆記】BPR損失函數公式

一、BPR損失函數公式 BPR 損失函數的核心公式如下&#xff1a; L BPR ? ∑ ( u , i , j ) ∈ D ln ? σ ( x ^ u i j ) λ ∣ ∣ Θ ∣ ∣ 2 L_{\text{BPR}} - \sum_{(u, i, j) \in D} \ln \sigma(\hat{x}_{uij}) \lambda ||\Theta||^2 LBPR??(u,i,j)∈D∑?lnσ(x^ui…

Java 核心--泛型枚舉

作者&#xff1a;IvanCodes 發布時間&#xff1a;2025年4月30日&#x1f913; 專欄&#xff1a;Java教程 各位 CSDN伙伴們&#xff0c;大家好&#xff01;&#x1f44b; 寫了那么多代碼&#xff0c;有沒有遇到過這樣的“驚喜”&#xff1a;滿心歡喜地從 ArrayList 里取出數據…

新能源行業供應鏈規劃及集成計劃報告(95頁PPT)(文末有下載方式)

資料解讀&#xff1a;《數字化供應鏈規劃及集成計劃現狀評估報告》 詳細資料請看本解讀文章的最后內容。 該報告圍繞新能源行業 XX 企業供應鏈展開&#xff0c;全面評估其現狀&#xff0c;剖析存在的問題&#xff0c;并提出改進方向和關鍵舉措&#xff0c;旨在提升供應鏈競爭力…

Centos 7 yum配置出現一下報錯:

One of the configured repositories failed (CentOS-$releaserver-Base), and yum doesnt have enough cached data to continue. At this point the only safe thing yum can do is fail. There are a few ways to work "fix" this: 1.解決CentOS Yum Repositor…

Redis 常見問題深度剖析與全方位解決方案指南

Redis 是一款廣泛使用的開源內存數據庫&#xff0c;在實際應用中常會遇到以下一些常見問題&#xff1a; 1.內存占用問題 問題描述&#xff1a;隨著數據量的不斷增加&#xff0c;Redis 占用的內存可能會超出預期&#xff0c;導致服務器內存不足&#xff0c;影響系統的穩定性和…

HOOK上癮思維模型——AI與思維模型【88】

一、定義 HOOK上癮思維模型是一種通過設計一系列的觸發&#xff08;Trigger&#xff09;、行動&#xff08;Action&#xff09;、獎勵&#xff08;Reward&#xff09;和投入&#xff08;Investment&#xff09;環節&#xff0c;來促使用戶形成習慣并持續使用產品或服務的思維框…

【playwright】內網離線部署playwright

背景&#xff1a;安裝好python3.9后&#xff0c;由于內網無法使用pip安裝playwright&#xff0c;多方收集資料&#xff0c;終于部署完成&#xff0c;現匯總如下&#xff1a; 1、playwright需要python3.7以上的版本&#xff0c;如果低于這個版本先要將python解釋器升級 2、在可…

Unity動態列表+UniTask異步數據請求

Unity動態列表UniTask異步數據請求 很久沒有寫東西了。最近有一個需求&#xff0c;在Unity項目里&#xff0c;有幾個比較長的列表&#xff0c;經歷了一翻優化&#xff0c;趁這幾日閑暇&#xff0c;記錄下來&#xff0c;給自己留個筆記&#xff0c;也送給有緣之人共同探討吧。 …