角色操作

目標

從頭使用 unreal MetaHuman 建立角色並製作角色移動相關功能

功能

  • 前後左右移動

  • 跳躍

  • 蹲下

  • 閃躲

  • 掛越障礙物

使用 MetaHuman

在 Epic 啟動器中將 metahuman 的安裝選項勾選並下載 Edit > Plugins > 安裝metahuman 相關插件 並新增角色

我這邊直接選取範本

要輸出能可用的檔案 需要 download Texture Source 並 create Full Rig

後續會輸出一個 Actor 的 blue Print * 這邊我點開檔案後反覆 crash 改成 DX11 才好

在 Unreal Engine 5 中設定專案使用的 DirectX 版本:

  • 路徑:在編輯器上方選單,依次點擊 Edit > Project Settings > Platforms > Windows > Targeted RHIs

  • 設定項:在 Targeted RHIs,可選擇下列渲染硬體介面(RHI):

    • DirectX 11

    • DirectX 12

    • Vulkan

在 Actor BluePrint 中 Class Settings

Parent class 改成 Character

到這邊就可以使用基本的角色了

動畫

這邊可以直接使用 Unreal 自帶的 Mannequin 中的動畫很方便 使用 Replace Skeleton 至換掉骨架就可以直接用了

基本功能

前後左右移動 滑鼠控制鏡頭 跳

基本元件

SpringArm(彈簧臂)組件在 Unreal Engine 中的作用是:

  • 相機延伸與碰撞偵測:讓相機跟隨角色,但當相機位置被物件阻擋時,自動縮短距離避免穿透牆壁或地形,提升視覺體驗。

  • 平滑運動:通過啟用相機延遲(Camera Lag),使相機移動較角色稍慢,達成更自然、流暢的鏡頭跟隨效果。

  • 旋轉控制:可設定是否繼承父物件(如角色 Pawn)的旋轉,實現第三人稱相機跟隨玩家視角。

  • 組件附件點:SpringArm 提供一個末端插座,方便將相機等組件掛載於其末端。

總結:SpringArm 是一個幫助你設定第三人稱相機距離、避免穿透、並創造平滑跟隨動作的便利組件。

設定 camera 讓 camera 旋轉時 不讓 Character 旋轉

1. Orient Rotation To Movement(CharacterMovement Component)

  • 作用:讓角色自動面向當前移動方向。

  • 用途:適用於第三人稱或頂視角遊戲,角色轉向方向跟隨移動路徑,與控制器旋轉無關。

  • 效果:角色會根據移動向量旋轉,不直接受控制器角度影響。

2. Use Controller Desired Rotation(CharacterMovement Component)

  • 作用:告訴角色移動系統根據控制器的期望旋轉(DesiredRotation)來旋轉角色。

  • 用途:適合需要角色朝向控制器指向方向的遊戲,例如第一人稱或需要角色直接面對視角方向。

  • 效果:角色會朝控制器想轉向的方向旋轉,常與 bUseControllerRotationYaw 配合使用。

3. bUseControllerRotationYaw(Actor 層級屬性)

  • 作用:定義角色是否自動繼承控制器的 Yaw(水平旋轉)值。

  • 用途:若設定為 true,角色會隨控制器水平方向旋轉;若為 false,角色不跟隨控制器旋轉,旋轉可由其他方式控制。

  • 影響:直接影響角色面朝方向,常用於調整輸入如何反映在角色身上。

綜合說明

設定
角色旋轉控制來源
通常用於
互動關係

Orient Rotation To Movement

移動方向(Vector)

第三人稱、自動面向移動

開啟時忽略控制器旋轉

Use Controller Desired Rotation

控制器期望旋轉

需要角色隨控制器面向的遊戲

常與 bUseControllerRotationYaw 一起使用

bUseControllerRotationYaw

是否繼承控制器的水平旋轉

角色視角同步

為 true 時角色跟隨控制器旋轉

你可能想的設定範例:

  • 第三人稱自動面向移動方向角色

    • Orient Rotation To Movement = true

    • bUseControllerRotationYaw = false

    • Use Controller Desired Rotation = false

  • 第一人稱或跟隨視角角色

    • Orient Rotation To Movement = false

    • bUseControllerRotationYaw = true

    • Use Controller Desired Rotation = true

前後左右移動

滑鼠轉動視角

動畫

Last updated