UE4类型与资源概述
类型:UObject及其派生类型
资源:序列化到磁盘的UObject及其派生类型的对象
Native Class在游戏启动时,会自动加载,并一直常驻内存
Blueprint Class既是类型,也是资源。可动态加载与卸载
资源有很多种:Level(关卡)、UI(UMG)、Particle System(粒子)、Texture(贴图)、Mesh(网格)、Material(材质)
Animation(动作)、Foliage(植被)、Physics(物理)、AI(人工智能)、Sound(声音)、Sprite(图集)等
大部分资源是以uasset作为后缀的,地图关卡以umap为后缀
类型分类
C++ | Blueprints | ||
Object |
GameMode |
Object_C |
GameMode_C |
Actor |
PlayerController |
Actor_C |
PlayerController_C |
ActorComponent |
AIController |
ActorComponent_C |
AIController_C |
SceneComponent |
Character |
SceneComponent_C |
Character_C |
GameState |
GameState_C |
||
PlayerState |
PlayerState_C |
||
HUD |
HUD_C |
||
UserWidget |
UserWidget_C |
资源分类(一)
Blueprints | Textures | Texture(美术) | Materials | Mesh(美术) | Level | User Interface | Editor Utilities | Media |
![]() Blueprint Class |
![]() Canvas Render Target |
![]() Texture |
![]() Material |
![]() Static Mesh |
![]() Level |
Font |
Editor Utility Blueprint |
File Media Source |
![]() Blueprint Function Library |
![]() Cube Render Target |
![]() Material Function |
![]() Skeletal Mesh |
![]() Slate Brush |
![]() Editor Utility Widget |
![]() Img Media Source |
||
![]() Blueprint Interface |
![]() Media Texture |
![]() Material Instance |
![]() Skeleton |
![]() Slate Widget Style |
![]() Media Player |
|||
![]() Blueprint Macro Library |
![]() Render Target |
![]() Material Parameter Collection |
![]() Widget Blueprint |
![]() Media Playerlist |
||||
![]() Enumeration |
![]() Runtime Virtual Texture |
![]() Media Texture |
||||||
![]() Structure |
![]() Subsurface Profile |
![]() Platform Media Source |
||||||
![]() Volume Texture |
![]() Stream Media Source |
资源分类(二)
Animation #1 | Animation #2 | Animation Sequence(美术) | Physics | Foliage | Paper2D | Artificial Intelligence | Blendables |
![]() Aim Offset |
![]() Blend Space 1D |
![]() Animation Sequence |
![]() Chaos Physical Material |
![]() Actor Foliage |
![]() Paper Flipbook |
![]() Behavior Tree |
LightpropagationVolume Blendable |
![]() Aim Offset 1D |
![]() Bone Compression Settings |
![]() Chaos Solver |
![]() Landscape Grass Type |
![]() Sprite |
![]() Blackboard |
||
![]() Animation Blueprint |
![]() Camera Animation Sequence |
![]() Geometry Collection |
![]() Static Mesh Foliage |
![]() Tile Map |
|||
![]() Animation Composite |
![]() Curve Compression Settings |
![]() Geometry Collection Cache |
![]() Tile Set |
||||
![]() Animation Layer Interface |
![]() Level Sequence |
![]() Physical Material |
|||||
![]() Animation Montage |
![]() Paper Flipbook |
![]() Physical Material Mask |
|||||
![]() Animation Sharing Setup |
![]() Pose Asset |
![]() Physical Asset |
|||||
![]() Blend Space |
![]() Template Sequence |
资源分类(三)
FX | Particle System | Miscellaneous#1(杂项1) | Miscellaneous#2(杂项2) | Sounds #1 | Sounds #2 | Sound(美术) | Redirector(重定向器) |
![]() Niagara Dynamic Input Script |
![]() Particle System |
![]() Camera Anim |
![]() Level Variant Sets |
Sound Attenuation |
Sound Effect Preset Chain |
Sound Wave |
Redirector |
![]() Niagara Effect Type |
![]() Composite Curve Table |
![]() Matinee Data |
![]() Sound Concurrency |
![]() Submix Effect Preset |
|||
![]() Niagara Emitter |
![]() Composite Data Table |
![]() Object Library |
![]() Sound Cue |
![]() Endpoint Submix |
|||
![]() Niagara Function Script |
![]() Curve |
![]() Preview Mesh Collection |
![]() Sound Class |
![]() Sound Submix |
|||
![]() Niagara Module Script |
![]() Curve Atlas |
![]() String Table |
![]() Sound Class Mix |
![]() Soundfield Endpoint Submix |
|||
![]() Niagara Parameter Collection |
![]() Data Asset |
![]() Touch Interface Setup |
![]() Dialogue Voice |
![]() Soundfield Submix |
|||
![]() Niagara Parameter Collection Instance |
![]() Data Table |
![]() Tutorial Blueprint |
![]() Dialogue Wave |
![]() Sound Bus |
|||
![]() Niagara System |
![]() Force Feedback Effect |
![]() Reverb Effect |
![]() Modular Synth Preset Bank |
||||
Sound Effect Preset |
![]() Modular Wave Table Synth Preset Bank |
不同资源之间的依赖关系
类型及资源路径
每个类型及资源都有其唯一的路径
StaticMesh'/Game/ThirdPerson/Meshes/Bump_StaticMesh.Bump_StaticMesh'
Blueprint'/Game/ThirdPersonCPP/Blueprints/ThirdPersonCharacter.ThirdPersonCharacter'
World'/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap'
Class'/Script/MyTest1.MyTest1Character'
更复杂的情况:
Class'/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.BP_MyObject_C_2147449358'
MyBlueprintObject_C '/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_1'
MyBlueprintActor_C'/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.MyBlueprintActor_2'
注1:ULevel* PersistentLevel为UWorld'/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap'的成员变量,即主关卡
注2:MyBlueprintActor_2可能是直接摆放在主关卡中的或者运行时动态生成的
---------------------------------------------------------------------------------------------------------------------
资源类型 分区(Game | Engine | 插件名 | Script) 目录 包名 对象名
---------------------------------------------------------------------------------------------------------------------
① 用资源路径加载资源时,资源类型不用写
② 一个包中可能有多个对象 例如:关卡包ThirdPersonExampleMap中除了World对象ThirdPersonExampleMap外,还有很多其他Actor对象
③ 对于蓝图对象,如果用的不是默认对象,而是其类型,就要在后面加_C,如果其CDO对象,就要在前面加Default__
类型如:/Game/ThirdPersonCPP/Blueprints/ThirdPersonCharacter.ThirdPersonCharacter_C
Native CDO如:/Script/Engine.Default__Actor
蓝图CDO如:/Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.Default__MyBlueprintObject_C