【Unity3D實例-功能-跳躍】角色跳躍

今天,我們來聊聊 Unity 里最常打交道的動作之一——角色跳躍。無論是橫版闖關還是 3D 跑酷,跳躍都是讓角色“活”起來的核心操作。在 Unity 里,幾行腳本就能讓角色一蹬而起、穩穩落地。下面,就讓我們一起把這個“彈跳感”親手做出來吧!

目錄:?

1.創建動畫器

2.設置跳躍動畫

3.編寫跳躍功能的腳本

4.測試與運行

--------------------

一.創建動畫器

在這里我已經默認大家通過CharacterController實現了角色移動的功能和動畫,如果有不懂的小伙伴可以去查看我《【Unity3D實例-功能-移動】角色移動-CharacterController方式》的博客文章。

這里跳躍模型和動畫我都準備好了,大家可以到我的博客下載。首先我們創建一個動畫器,并且拖拉到我們的角色上進行綁定。接著我們在動畫器的動畫模式里,選擇“Animate Physics”(用于FixedUpdate方法中更新,使動畫和物理系統的更新同步,使用這個模式可以確保動畫與物理系統保持一致)。

二.設置跳躍動畫

1.首先選中跳躍動畫 -> 點擊右側菜單欄的“Rig”-> 在Animation Type的下拉框中,選擇“Humanoid”(把動畫設置成人形)-> 最后點擊“Apply”應用即可。

2.接著打開雙擊創建好的動畫器 -> 把跳躍動畫拖拉進去 -> 在“Any State”和跳躍動畫之間創建一條過渡線,在跳躍動畫和“Exit”之間創建一條過渡線。

3.然后需要創建一個Trigger變量(我這里的變量命名為“jump”)

4.點擊選中“Any State”和跳躍動畫之間的過渡線 -> 在右側菜單欄的“Conditions”條件列表中,添加Trigger變量“jump”。

5.點擊選中跳躍動畫和“Exit”之間的過渡線 -> 在右側菜單欄的“Conditions”條件列表中,添加Bool變量“Run”,并且值為“true”(這里是在跳躍動畫結束后,重新讓動畫器激活跑步動畫,使動畫器不會因為去到“Exit”節點而結束)。

三.編寫跳躍功能的腳本

1.在 Unity 項目的 Assets 目錄里,新建一個文件夾,命名為 Scripts(名字隨意,開心就好)。

2.在該文件夾中新建一個 C# 腳本,建好后把它拖到場景里的角色身上,完成掛載。

3.實現跳躍功能的代碼

代碼、模型和動畫都已經上傳到我的個人博客了,大家可以自行下載。

原創來源于-谷宇博客:https://www.biguyu.top/home

四.測試與運行

親測過程:點擊進入 Play 模式(運行案例),利用空格鍵觸發 isGround條件判斷,調用 CharacterController.Move() 實現瞬時豎直跳躍力的賦值,并在 Game 視圖的 Stats 面板連續監測向量y軸的變化 與 isGround 狀態,驗證基于 CharacterController 的跳躍邏輯。

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

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

相關文章

react+echarts實現變化趨勢縮略圖

如上圖,實現一個縮略圖。 import React, { useState, useEffect } from react; const ParentCom () > {const [data, setData] useState({});useEffect(() > {// 這里可以做一些接口請求等操作setData({isSheng: false, value: 11.24, percentage: 2.3%, da…

C語言宏相關操作

宏 宏名稱通常都是由大寫英文字母構成的宏名稱里不可以包含空格用宏給數字起名字的時候不可以使用賦值運算符,不要自增自減可以在編寫程序的時候直接使用宏名稱替代數字,編譯器在編譯的時候會把程序里的宏替換成它所代表的數字 1. 為什么要使用宏&#x…

STM32內部讀寫FLASH

很多情況下,在STM32中寫入一些數據,在某些不可控因素下其數據無法保存。因此,解決此問題就要用到FLASH.什么是內部 Flash? Flash 是一種非易失性存儲器,STM32 的程序和常量數據就存在 Flash 中。它的關鍵特點是:特性說…

Oracle 12c + Pl/Sql windows系統下表空間創建、遷移,dmp備份導入,數據庫字符集更改

一、開發環境 操作系統:win11 Oracle版本:12c Oracle 數據庫字符集:AL32UTF8 Pl/Sql版本:14 二、表空間創建 表空間是 Oracle 數據庫中一種重要的邏輯結構,它是數據庫中數據文件的邏輯集合,用于存儲數據庫對…

GUI:QT簡介

一、什么是QT?Qt是一套跨平臺的 C 圖形用戶界面(GUI)應用程序開發框架,由挪威 Trolltech(奇趣科技)于 1991 年創建,2008 年被諾基亞收購,2012 年后由 Qt Company 負責維護。它廣泛應…

oceanbase執行execute immediate create table提示無權限

問題:OB庫4.2.5.4版本,執行到這一句的時候,報沒有權限:[rootlnob ~]# obclient -h192.168.207.28 -P2881 -ugistarlnzyob -pxxxxxx -A Welcome to the OceanBase. Commands end with ; or \g. Your OceanBase connection id is 3…

滴滴招java開發

滴滴集團 北京(崗位信息已經過jobleap.cn授權,可在csdn發布)收錄時間: 2025年08月01日職位描述 負責滴滴海外業務準入審核及反作弊相關系統的后端開發及系統維護; 職位要求 1、統招本科及以上學歷,計算機科…

深入解析基于Zookeeper分布式鎖在高并發場景下的性能優化實踐指南

深入解析基于Zookeeper分布式鎖在高并發場景下的性能優化實踐指南 在大規模分布式系統中,如何保證多個節點對同一資源的有序訪問,是提高系統穩定性與一致性的核心需求之一。Zookeeper 提供的分布式鎖機制,以其簡潔的原理和高可靠性&#xff0…

騰訊云CodeBuddy AI IDE+CloudBase AI ToolKit打造理財小助手網頁

CodeBuddy 騰訊云CodeBuddy AI IDECloudBase AI ToolKit打造理財小助手網頁 在線體驗地址:理財小助手 在線倉庫:https://cnb.cool/pickstars-2025/ai-financial-assistant 🌟 Hello,我是摘星! 🌈 在彩虹般…

2025-08-08 李沐深度學習11——深度學習計算

文章目錄1 模型構造1.1 自定義 MLP(多層感知機)1.1.1 __init__ (構造函數)1.1.2 forward (前向傳播)1.2 使用自定義 MLP1.3 自定義 Sequential 類1.4 前向傳播1.5 模塊的嵌套使用2 參數管理2.1 參數訪問2.2 嵌套模型2.3 參數初始化2.4 參數共享3 自定義層…

匯編語言和高級語言的差異

匯編語言與高級語言在以下幾個方面存在重要的區別:缺少結構化流程控制。匯編語言不提供if/else、switch/case、for、while等高級控制結構,依賴于底層的無條件跳轉和條件跳轉指令來實現流程控制。這種基于標簽和跳轉的方式雖然極其靈活,但缺乏…

文件管理從基礎到高級:文件描述符、超大文件切片重組與快速刪除實戰

文件管理從基礎到高級:文件描述符、超大文件切片重組與快速刪除實戰目標讀者:Linux/macOS 用戶、后端/運維/數據工程師 環境默認:Linux(GNU 工具鏈),macOS 類似;Windows 可使用 WSL1&#xff09…

RPC 解析

RPC(Remote Procedure Call,遠程過程調用)是一種讓分布式系統中的服務能夠像調用本地函數一樣調用遠程服務的通信機制。以下是其核心原理、技術實現及組件的詳細解析:🔧 一、RPC 核心工作原理(10 步全流程&…

wstool的一個完整的工作流解析

moveit的倉庫源碼編譯的時候使用的是wstool來拉取倉庫的所有內容文件,其命令流程如下: wstool init src wstool merge -t src https://raw.githubusercontent.com/moveit/moveit/master/moveit.rosinstall wstool update -t src rosdep install -y --from-paths src…

對數函數分段定點實現

目錄 一、原理介紹 二、代碼實現 三、結果顯示 四、移植到C語言中的應用 4.1. 定義定點數配置和參數 4.2. 實現分段查找函數 4.3. 實現 log10 近似計算函數 4.4. (可選)定點數轉浮點數 一、原理介紹 之前的博文對數函數分段線性實…

qt系統--事件

文章目錄qt系統事件處理鼠標事件鼠標移動事件處理鍵盤事件定時器事件窗口移動和大小改變事件結語很高興和大家見面,給生活加點impetus!!開啟今天的編程之路!! 作者:?( ‘ω’ )?260 我的專欄&#xff1a…

Linux機器可直接使用的自動化編譯文件

還在為了Linux機器上一遍遍輸入編譯指令苦惱嗎?你需要make指令以及自己的makefile文件!在makefile中寫入自己的個性化指令,讓編譯速度飛起,支持多文件編譯一下文件為個人應用,可以直接cp到相應項目的目錄,每…

Linux學習-數據結構(哈希表)

1.哈希表1.哈希算法將數據通過哈希算法映射成一個關鍵值,存放都在同一位置實現數據的高效存儲和查找,將時間復雜度盡可能降低至O(1)2.哈希碰撞多個數據通過哈希算法得到的鍵值相同,稱為產生哈希碰撞3.哈希表構建哈希表…

Google Chrome <139.0.7236.0 UAF漏洞

【高危】Google Chrome <139.0.7236.0 UAF漏洞 漏洞描述 Google Chrome 是美國谷歌&#xff08;Google&#xff09;公司的一款Web瀏覽器。 受影響版本中&#xff0c;OpenscreenSessionHost::ReportAndLogError 方法的參數使用了 std::string_view 類型來接收錯誤消息。當一…

CentOS8 Stream 網卡配置及重啟

在 CentOS 8 Stream 中&#xff0c;網卡配置已由 NetworkManager 管理&#xff0c;傳統的 ifcfg-eth0 文件仍然支持&#xff0c;但推薦使用 nmcli 或 nmtui 工具進行網絡配置和管理。以下是網卡配置及重啟的詳細步驟&#xff1a;1. 查看當前網卡狀態列出所有網卡bash復制nmcli …