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