UDKtoUE4Tool
UDKtoUE4Tool 是一个把UE3/UDK资源包(T3D格式)转换成UE4(T3D格式)的工具。作者Matt3D使用C#实现,未来考虑发布到Unreal Marketplace作为外部工具。
初始版本 php实现
2014/04/18
Matt3D移植他自己的项目CBC building到UE4时,需要重做2000+ actors,于是诞生了这个批量转换工具,使用php实现web版。
当时仅支持Static Meshes, 转换location/rotation/scale,忽略其他类型actor和特性。
需要手工从UDK导出所有独立的meshes和textures,再导入到UE4。
在转换各种参数时并不是简单的复制粘贴,而是要转换成UE4正确的计量单位。
例如:UDK中存储rotations是自有格式(65536=360度),它需要被正确转换成UE4使用的普通旋转度数。
使用流程:
- 从UDK导出所有meshes和textures
- 在UE4中, 为每个资源包创建目录,重建目录结构。
- 按UDK中相同路径和名字,重新导入所有资源,需要重建和设置materials。
- 拷贝场景中的actors,从UDK中分析T3D,生成UE4的T3D。
他在Unreal forum发布后收获大量好评。在原帖第10楼,Tim Sweeney出来点赞:
Matt3D, this is a great idea for helping the UE3/UDK community move to UE4. Thanks for releasing this!
V1.0 C#实现
2014/04/24 发布V1.0版本。
https://dl.dropboxusercontent.com/u/40671983/UDKtoUE4Toolv1.0.zip
Matt3D使用C#/VisualStudioExpress重写了该工具。
V1.1 更新
2014/08/12 发布V1.1版本。
https://dl.dropboxusercontent.com/u/40671983/UDKToUE4Tool/UDKtoUE4Tool_v1.1.zip
更新内容:
- Two check boxes for scaling the location and drawscale values by 2. This is an alternative rather than parenting everything and scaling the Parent by 2 in order to fix the size of assets.
- Any and all Material Overrides are supported as well as Overridden Light map UV's
- Bug fixes, now you should no longer be getting index errors such as when actors having missing static mesh paths
虽然UDK和UE4都支持导出materials到T3D,重新导入T3D格式materials到UE3和UE4都不可用。因此目前还没有简单方法移植material,除非Epic修复这个问题。
SpeedTree actors可以考虑新增到该工具中,但是目前还没有关注UE4的SpeedTree,需要花一些时间研究它们是如何实现的。
V1.2 更新
2014/08/24 发布V1.2版本。
https://dl.dropboxusercontent.com/u/40671983/UDKToUE4Tool/UDKtoUE4Tool_v1.2.zip
更新内容:
1.通过设置UE4 Content 文件夹路径,该工具可以动态搜索同名assets并转换。从而支持任何路径的assets转换,唯一要求是名字相同。
2.新增支持以下actors:
- Lights (All types except for Skylights and pickup lights)
- Kactors
- InterpActors
- Skeletal Mesh Actors
- Interactive Foliage Actors
- Fractured static meshes
- Apex Destructible actors
- Cameras
- PlayerStarts
- Exponential Height fog
- Particles
- Decals
- AmbientSound/AmbientSoundSimple
3.支持Static Meshes的vertex colors转换。
关于vertex colors
存在一个问题,meshes的导入导出处理并不完全是一一对应,从UDK导出的mesh的结构可能会改变,与UDK内部结构不一致。这意味着虽然vertex color数据已转换,但是在UE4中无效,因为从技术上来讲,它现在已经是另外一个完全不同的mesh了。
解决办法,尝试重新导入这个mesh到UDK,这样保证它在UE3和UE4中均为完全相同数据,然后再拷贝actors。
关于UE4 materials导入
目前UE4不支持导入T3D格式materials,开发者只能手工重制materials的所有结点,再一个个手工关联起来。
目前T3D导入至UE4,只支持导入actors到场景中,并不创建新material assets。
UDK的materials编辑器并不适用T3D来拷贝结点,而UE4是这样的。UE4的materials编辑器生成的T3D异常复杂(it manually defines the creation of each node/pin)。
不过这个可能也不是问题,Speedy37发布一个UDK导入插件,这是一个真实的UE4插件。不过支持的actors较少。
V1.2已知bug
- 只有第一个Static Mesh的rotation被正确转换。
V2.0 更新
2015/08/13 发布V2.0版本。
https://dl.dropboxusercontent.com/u/40671983/UDKToUE4Tool/UDKtoUE4Tool_v2.0.zip
更新内容:
1.修复V1.2已知bug。
2.新增支持Static Meshes的Lightmap UV。
3.新增支持大量actors转换,如下:
- Lights
- Cameras
- Decals
- Kactors
- Skeletal Mesh actors
- Interp Actors
- Particles
- Audio
- Exponential height fog
4.支持UE4 assets动态链接
- 设置UE4 content文件夹路径,自动迁移UDK中任意路径下的同名assets。如果找到同名的assets,自动使用它。如果没找到或者没有设置UE4 content文件夹路径,就直接进行转换。