UE3到UE4过渡的指导
2015-07-16 10:16
591 查看
Contents
[hide] 1 Overview
2 General
Editor & Terminology
3 Kismet
> Blueprints(Matinee included)
4 Lighting
5 Materials
6 Coding
Overview
Here you can find a list of procedure and terminology differences between UDK and Unreal Engine 4 gathered by the community. Keep in mind that some of those may be subject to change in time with newer UE4 releases.
General Editor & Terminology
Scene Scale(Units)UE3: 1uu == 2cm
UE4: 1uu == 1cm
UE3: World size = 10.48km x 10.48km
UE4: World size = 5.24km x 5.24km
Assets and Packages
UE3: Packages are used to store a collection of assets. Package format .upk - Map format .udk
UE4: Each asset is stored in its own file. Maps are still packages as they need to store a collection of assets. Asset format .uasset - Map format .umap
Mesh/Skeletal Mesh & Animation Import Formats
UE3: .psk & .psa / .FBX
Collision naming : MyMesh, UCX_MyCollision
UE4: .FBX(same Export procedure - Mesh and Skeleton split into 2 separate asset after import)
Collision naming : MyMesh, UCX_MyMesh_## (_## is a number in case you have several UCX in there)
Disabling Decal Render on Skeletal/Static Meshes:
UE3: Go to decal properties (F4) and disable bProjectOn.
UE4: Select your Mesh in Viewport.
In details panel search for Decal
Uncheck Receives Decals.
Spline Loft Actor
UE3: Created by dragging and dropping from Actor Classes tab. Continue drawing a path by holding Alt and dragging the icon.
UE4: It appears in the landscape editor as Spline Tools when you create a landscape. Click Manage > Edit Splines > Ctrl+click to place one then continue drawing by placing control points with Ctrl+click, finally hit Apply Settings button
in the landscape editor.
Collision Terminology
UE3: Touch and Block
UE4: Overlap and Block
Kismet > Blueprints(Matinee included)
Creating a MatineeUE3: Open Kismet, right-click the canvas and select New Matinee.
UE4: Search for MatineeActor in Modes tab > All Classes, and drag it into your level.
Attaching Actors to Specific Groups inside Matinee
UE3: Create a variable for the object inside Kismet and attach it to Matinee.
UE4: Select the object in the map, open up Matinee, right click on the group you want to attach > Actors > Add(or replace) selected actors.
Sequential or random activation of multiple outputs
UDK: Switch node in Kismet.
UE4: MultiGate node in Blueprints.
Lighting
Adding a SkyLightUE3= Actor Classes - Lights - Sky Lights
UE4= Global Post Process Volume - Ambient Cubemap - Cubemap Texture
Adding a dynamic light
UE3= Actor Classes > Lights > AnyLightMoveable.
UE4= Add a normal light into your level - in the settings you can find Transform > Mobility > Moveable.
Lightmaps and photons
UE3= Emissive material enabled in object in the level, photons will fire from any shape: material based.
UE4= Emissive is dynamic, enabled in advanced material properties. No more emissive photon materials. Emissive doesn't show in Lightmaps anymore.
Materials
Subsurface ScatteringUE3: Achieved with transmission mask
UE4: Achieved with SubsurfaceColor - choose MLM_Subsurface in the Lighting Mode
Adjusting a Particle's Color in Cascade
UE3: By multiplying the texture with a Vertex Color node in the material.
UE4: By multiplying the texture with a Particle Color node in the material.
Soft Edge for Particles and Translucent Materials
UE3: Attach the opacity mask to Alpha input of DepthBiasedAlpha and set Bias scale for fade distance.
UE4: Attach the opacity mask to Opacity input of DepthFade and set Fade Distance.
Colored Speculars
UE3: By pluging the colored specular texture to Specular input.
UE4: By giving metallic value(Constant - 1) to the material
Coding
Spawning ActorsUE3:
var Actor MyActor; MyActor = Spawn(class'ActorToSpawn',Location,Rotation);
UE4:
FActorSpawnParameters SpawnInfo; SpawnInfo.bNoCollisionFail = true; ASoulHunterWeapon* NewWeapon = GetWorld()->SpawnActor(Weapon, SpawnInfo);
There are several versions of Spawn one with and without templates.
If you want to use location and rotation make sure you make variables that are const.
const FVector* SLocation; const FRotator* SRotation; GetWorld()->SpawnActor(Weapon, SLocation, SRotation, SpawnInfo);
Spawning Objects
This can be used to create instances (or more accurately, pointers to instances of) classes derived from Object.
UE3:
var MyObject MyObjectRef; MyObject = new class'MyObject';
UE4:
In YourClass.h:
UPROPERTY() MyObject *MyObjectRef;
In YourClass.cpp:
MyObjectRef = NewObject(this, UMyObject::StaticClass());
Also see Documentation - Objects for a detailed
description.
Category:
Tutorials
相关文章推荐
- ios 关于UITextField 和UILabel
- 1.4 build命令
- Android开发UI之补间动画-Tween Animation
- 第一次使用框架-amaze UI
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath不执行的问题
- 使用Qt linguist进行多语言界面设计
- EasyUI颠覆了我对动态网页和静态网页的看法
- EasyUI颠覆了我对动态网页和静态网页的看法
- WEB_EasyUI中comboBox远程绑定json数据引起的访问跨域问题
- break continue returen的区别
- [Liferay6.2]AUI表单验证示例
- EasyUI combogrid 用法(带搜索)
- UIAlertController
- 高仿网易4.0新UI框架
- 巧用视错觉-UI更有趣
- UIRefreshControl
- CocoaPods Guide
- EF6 CodeFirst+Repository+Ninject+MVC4+EasyUI实践(一)
- apue第三版P106:ftw程序中使用的path_alloc
- UEFI下安装系统常见问题