Unreal Engine USceneComponent

Unreal

  • 🏛 Unreal Engine - USceneComponent
    • 📚 定義
    • 🏷 類繼承
    • ? 關鍵特性
    • ?? 常見配置
    • 🛠? 使用方法
      • 🔗 創建與掛載
      • 🔄 獲取與修改 Transform
      • 🧩 附加/分離組件
    • 🏊 典型應用場景
    • 🤖 與其他組件對比
    • 📝 小結

🏛 Unreal Engine - USceneComponent

📚 定義

USceneComponent所有具有空間變換(位置、旋轉、縮放)的組件基類

它為 組件的三維空間定位與層級管理 提供支持,是 場景樹系統的核心

在 Unreal 中,任何需要在 3D 世界中擁有 Transform(位置、旋轉、縮放) 的組件,通常都會繼承自 USceneComponent


🏷 類繼承

UObject└── UActorComponent└── USceneComponent
  • UObject → 最底層對象系統
  • UActorComponent → 提供生命周期與邏輯管理
  • USceneComponent → 增加 Transform 與層級關系
  • 常見子類包括:UPrimitiveComponentUCameraComponentUMeshComponent

? 關鍵特性

  • ? Transform 支持LocationRotationScale
  • ? 層級系統:Parent / Child 關系(SceneComponent 可以附加到另一個 SceneComponent)
  • ? Attach/Detach 支持:可在運行時改變組件層級
  • ? Socket/Attachment Rules:支持相對/絕對變換的掛載規則
  • ? 更新與傳播:變換可自動傳遞給子組件
  • ? 物理與渲染的基礎:許多渲染和物理組件都繼承自 USceneComponent

?? 常見配置

  • RelativeLocation / RelativeRotation / RelativeScale3D → 相對父組件的變換
  • WorldLocation / WorldRotation / WorldScale → 世界空間下的變換
  • AttachParent → 指定父級 SceneComponent
  • AttachChildren → 當前組件的子組件列表
  • Mobility → 移動性設置
    • Static:不可移動
    • Stationary:部分可變(如燈光強度)
    • Movable:完全可移動

🛠? 使用方法

🔗 創建與掛載

// 在 Actor 構造函數中
RootComponent = CreateDefaultSubobject<USceneComponent>(TEXT("RootComp"));USceneComponent* ChildComp = CreateDefaultSubobject<USceneComponent>(TEXT("ChildComp"));
ChildComp->SetupAttachment(RootComponent);

🔄 獲取與修改 Transform

FVector Location = GetActorLocation();
SetWorldLocation(FVector(100, 0, 50));FRotator Rot = GetComponentRotation();
AddLocalRotation(FRotator(0, 90, 0));

🧩 附加/分離組件

ChildComp->AttachToComponent(RootComponent, FAttachmentTransformRules::KeepRelativeTransform);
ChildComp->DetachFromComponent(FDetachmentTransformRules::KeepWorldTransform);

🏊 典型應用場景

  • 🎮 構建 Actor 層級結構:例如角色的 根組件 → 骨骼網格體 → 武器掛點
  • 🏗 藍圖節點系統:場景中的各種可視化節點都繼承 USceneComponent
  • 📸 相機/燈光組件:常見的相機、聚光燈、點光源都是 USceneComponent 的子類
  • ?? 掛載機制:例如武器附著到角色手上

🤖 與其他組件對比

  • UActorComponent
    • 只提供邏輯功能,無 Transform
  • USceneComponent
    • 增加空間變換與層級支持
  • UPrimitiveComponent
    • 繼承自 USceneComponent,并增加 渲染 & 碰撞 能力
  • UMeshComponent
    • 專門用于渲染網格

📝 小結

  • USceneComponent場景層級與空間變換的核心基類
  • 提供 Transform(位置、旋轉、縮放)管理,并支持 父子層級關系
  • 是許多常用組件(Mesh、Camera、Light)的基礎。
  • 在構建復雜 Actor 組件樹掛載系統 時必不可少。

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

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

相關文章

2025年9月5090工作站、

在深度學習與大模型訓練領域&#xff0c;算力是決定研發效率與模型性能的核心要素&#xff0c;而顯卡作為算力輸出的核心硬件&#xff0c;其性能參數直接影響著訓練任務的速度、穩定性與成本控制。對于企業與科研機構而言&#xff0c;選擇一套適配自身需求且性價比優異的顯卡及…

亞矩陣云手機:亞馬遜第三方店鋪多賬號安全合規運營的核心技術支撐

亞矩陣云手機在亞馬遜第三方店鋪多賬號安全合規運營的技術支持&#xff0c;通過硬件級虛擬化、AI 行為建模、動態資源調度三大核心技術模塊&#xff0c;構建了覆蓋設備、網絡、行為、數據的四維防御體系&#xff0c;確保賬號在亞馬遜平臺規則下的長期穩定運行。以下從技術架構、…

使用C++11改進工廠方法模式:支持運行時配置的增強實現

在軟件開發中&#xff0c;工廠方法模式是一種常用的設計模式&#xff0c;用于創建對象。通過使用C11的新特性&#xff0c;我們可以進一步改進工廠方法模式&#xff0c;使其更加靈活和高效。本文將詳細介紹如何使用C11的std::function、lambda表達式和智能指針來實現一個支持運行…

小程序插件使用

插件介紹 插件是對一組 js 接口、自定義組件 或頁面的封裝&#xff0c;用于嵌入到小程序中使用。插件不能獨立運行&#xff0c;必須嵌入在其他小程序中才能被用戶使用&#xff1b;而第三方小程序在使用插件時&#xff0c;也無法看到插件的代碼。因此&#xff0c;插件適合用來封…

要區分一張圖片中的網狀圖(如網格結構或規則紋理)和噪點(隨機分布的干擾像素),比如電路的方法 計算機視覺

要區分一張圖片中的網狀圖&#xff08;如網格結構或規則紋理&#xff09;和噪點&#xff08;隨機分布的干擾像素&#xff09;&#xff0c;需結合圖像預處理、特征提取和分割算法。以下是系統化的解決方案&#xff0c;分階段說明關鍵技術和算法選擇&#xff1a; &#x1f50d; 一…

06_并發編程高級特性

第6課:并發編程高級特性 課程目標 掌握context包的使用 理解sync包中的同步原語 學會處理并發安全問題 掌握性能優化技巧 1. Context包 1.1 Context基礎 import ("context""fmt""time" )// 基本Context使用 func basicContext()

X00238-非GNSS無人機RGB圖像衛星圖像視覺定位python

獲取方式見文末&#xff0c;可開發票隨著無人機在工業和科研領域應用的加速發展&#xff0c;在非城市環境中使用無gnss、基于視覺的方法進行無人機定位的需求日益增長。本文提出了一種基于視覺的定位算法&#xff0c;利用深度特征計算無人機在野外飛行的地理坐標。該方法基于匹…

Eino 開源框架全景解析 - 以“大模型應用的搭積木指南”方式理解

Eino 開源框架全景解析 - 大模型應用的搭積木指南 &#x1f3af; 什么是 Eino&#xff1f;一句話概括 Eino 是字節跳動開源的大語言模型應用開發框架&#xff0c;就像是一個專門為 AI 應用設計的"搭積木工具箱"&#xff0c;讓開發者能夠像搭樂高一樣輕松構建復雜的 A…

嵌入式開發中,usb通信中輸出端點和輸入端點

一. 簡介本文簡單學習一下&#xff0c;嵌入式開發中&#xff0c;usb的輸出端點和輸入端點。在嵌入式開發的 USB 通信場景中&#xff0c;輸出端點&#xff08;OUT Endpoint&#xff09; 和 輸入端點&#xff08;IN Endpoint&#xff09; 是 USB 設備與主機&#xff08;如電腦、嵌…

【自用】Maven常用依賴

【自用】Maven常用依賴 工具類 Guava Guava&#xff08;Google Guava&#xff09;是由Google團隊開發的一套Java開源工具庫&#xff0c;旨在簡化和增強Java開發者的日常工作。它提供了許多實用的工具和基礎設施&#xff0c;覆蓋了集合、并發、字符串處理、I/O、數學運算等多個…

Java 18 新特性及具體應用

目錄 1. UTF-8 默認編碼 (JEP 400) 2. 簡單 Web 服務器 (JEP 408) 3. Javadoc 代碼片段 (JEP 413) 4. switch 模式匹配 (JEP 420, 第二次預覽) 5. 向量 API (JEP 417, 第三次孵化) 總結 Java 18 于 2022 年 3 月發布&#xff0c;引入了多項新特性&#xff0c;旨在提升開發…

unistd.h 常用函數速查表

在這篇文章中&#xff0c;我們將整理一份 unistd.h 常用函數速查表&#xff0c;便于快速查找和記憶&#xff0c;涵蓋文件 I/O、進程管理、系統信息、用戶/組信息等方面。unistd.h 常用函數速查表&#xff08;POSIX/Linux/macOS&#xff09; 1. 文件與 I/O 操作函數說明示例int …

【電子通識】芯片生產考驗“三重門”之CP、FT與WAT測試

在我們日常生活中&#xff0c;從手機、電腦到汽車、家電&#xff0c;都離不開一顆顆小小的芯片。你可曾想過&#xff0c;這些功能強大的芯片在出廠前要經過怎樣嚴苛的“體檢”才能保證質量可靠&#xff1f;今天&#xff0c;我們就來聊聊芯片制造過程中三道至關重要的測試關卡&a…

Java RESTful API 構建從入門到精通:一步步打造高效后端服務

還在為高昂的AI開發成本發愁?這本書教你如何在個人電腦上引爆DeepSeek的澎湃算力! 在當今數字化時代,RESTful API 已成為現代Web應用的核心組成部分,它提供了一種標準化、靈活的方式來實現前后端分離和跨平臺數據交互。本文作為一篇完整的指南,將從基礎概念入手,詳細闡述…

TypeScript 接口(interface)

一、接口基礎概念接口&#xff08;interface&#xff09;是 TypeScript 的核心類型系統工具&#xff0c;用于定義對象的結構規范。它不關心具體實現細節&#xff0c;只強制要求符合接口定義的對象必須包含指定屬性和方法。例如&#xff1a;interface Person {name: string;age:…

selenium3.141.0執行JS無法傳遞element解決方法

問題&#xff1a;在Chrome 131版本以下執行下面代碼沒有問題&#xff0c;但是在131版本以上出現element無法傳遞問題&#xff0c;執行下面代碼會出現 "Message: javascript error: Cannot read properties of undefined (reading click)"# xpath匹配元素&#xff0c;…

汽車主機廠為何開始押注平臺化視覺?

近年來&#xff0c;隨著智能制造、出口質量標準、新能源整車結構復雜度等多重因素疊加&#xff0c;越來越多主機廠開始從“點狀部署”轉向“系統化導入”&#xff0c;平臺化的AI視覺檢測體系正逐步成為整車廠的標準化選項。在過去&#xff0c;汽車制造四大車間——焊裝、涂裝、…

STM32 - Embedded IDE - GCC - 重定向printf到串口

導言如上所示&#xff0c;在不同的編譯器下&#xff0c;重定向printf到串口時&#xff0c;使用的函數不一樣。 ARMCC&#xff08;Keil-MDK&#xff09;使用fputc()GCC使用_write() 總之&#xff0c;GCC/newlib的printf()走_write()&#xff0c;不是fputc()。

51單片機-中斷系統

本質概述思維導圖&#xff1a;51單片機中斷系統中斷系統概述中斷系統是為使CPU具有對外界緊急事件的實時處理能力而設置的。當中央處理機CPU正在處理某件事的時候外界發生了緊急事件請求&#xff0c;要求CPU暫停當前的工作&#xff0c;轉而去處理這個緊急事件&#xff0c;處理完…

ubuntu - 終端工具 KConsole安裝

地址&#xff1a; https://konsole.kde.org/download.html 直接使用自帶安裝管理器安裝即可