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使用的普通旋转度数。
使用流程:

  1. 从UDK导出所有meshes和textures
  2. 在UE4中, 为每个资源包创建目录,重建目录结构。
  3. 按UDK中相同路径和名字,重新导入所有资源,需要重建和设置materials。
  4. 拷贝场景中的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

  1. 只有第一个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文件夹路径,就直接进行转换。

UDKtoUE4Tool-UDKUE3资源移植UE4工具的更多相关文章

  1. 第三章Android移植平台工具介绍

    第三章Android移植平台工具介绍 进行 Android 移植的学习并不一定需要一款 Android 手机,但必须要有一款主流的开发板,开发板是用来进行嵌入式系统开发的电路板,包括中央处理器.存储器 ...

  2. 移植UE4的模型操作到Unity中

    最近在Unity上要写一个东东,功能差不多就是在Unity编辑器上的旋转,移动这些,在手机上也能比较容易操作最好,原来用Axiom3D写过一个类似的,有许多位置并不好用,刚好在研究UE4的源码,在模型 ...

  3. 【资源】HTML5工具篇:10个营销人也能轻松使用的在线编辑平台

    一 3, 2015 in 资源 作者:Teeya 2014年,HTML5 页面作为营销界新宠儿,“多快好省”的杰出代表,其灵活性高.开发成本低且制作周期短的种种特性使其在移动营销领域大放异彩. 此前, ...

  4. 移植UE4的Spline与SplineMesh组件到Unity5

    一个月前,想开始看下UE4的源码,刚开始以为有Ogre1.9与Ogre2.1源码的基础 ,应该还容易理解,把源码下起后,发现我还是想的太简单了,UE4的代码量对比Ogre应该多了一个量级,毕竟Ogre ...

  5. Linux资源监控命令/工具(网络)

    1.手动/自动设定与启动/关闭IP参数:ifconfig,ifup,ifdown      这三个指令的用途都是在启动网络接口,不过,ifup与ifdown仅能就/etc/sysconfig/netw ...

  6. Linux资源监控命令/工具(综合)

    目录: ps pstree pidof top free uptime ifuser lsof mpstat vmstst pidstat iostat iotop watch sar 1.ps 1) ...

  7. 文档资源搜索小工具 - 支持PDF,DOC,PPT,XLS

    最近做了一个文档搜索小工具,当然不是网盘搜索工具,这个工具支持四种文件格式搜索(pdf,doc,ppt,xls),你只需要在搜索框中输入你想要搜索资源的关键词,点击搜索按钮即可获取相关资源,点击下载按 ...

  8. statik golang 静态资源嵌入二进制文件工具使用(docker 构建)

      将静态资源打包进二进制文件有好多方便的地方 方便客户演示 代码简单加密 运行方便 statik 就是一款在golang 中用的比较多,nodejs 有一款pkg (oclif 就推荐使用此工具) ...

  9. 资源:开源Fuzzers工具列表 (以及其它fuzzing工具)

    开源fuzzers‍ / 开源fuzzing工具的最新列表(Fuzzers,没有标准中文翻译,可以理解为模糊测试工具或者模糊器) 如果你知道有需要添加的部分,那么请在这里或在推特上@Peerlyst来 ...

随机推荐

  1. 【转】关于 hashCode() 你需要了解的 3 件事

    在 Java 中,每一个对象都有一个容易理解但是仍然有时候被遗忘或者被误用的 hashCode 方法.这里有3件事情要时刻牢记以避免常见的陷阱. 一个对象的哈希码允许算法和数据结构将对象放入隔间,就象 ...

  2. js setTimeout

    setTimeout用法 //每个0.5秒钟改变字体和背景颜色,字体一闪一闪的效果 var flag = 0; function start(){ var text = document.getEle ...

  3. python学习-day11-内建函数

    python-内建函数 -int:将字符串转换为数字 a = " print(type(a),a) b = int(a) print(type(b),b) num = " v = ...

  4. Oracle11g空表导出方法

    今天凌晨在客户现场进行一个Oracle11g的数据库迁移,习惯性的用了exp/imp,然后在新的数据库发现,空表根本没有exp出来,然后查资料,发现了如下信息:[ORACLE 11G在用EXPORT导 ...

  5. c++封装编写线程池

    在csapp学习或者其他linux底层编程的过程中,一般都会举一些多线程或多进程的例子,配合底层同步原语.系统调用api来解释怎么创建多线程/多进程. 但是这些例子和实际项目中所用到的多线程/多进程编 ...

  6. (WPF, MVVM) Event 处理

    WPF的有些UI元素有Command属性可以直接实现绑定,如Button 但是很多Event的触发如何绑定到ViewModel中的Command呢? 答案就是使用EventTrigger可以实现. 继 ...

  7. c# 存档修改 读取 写入

    内涵图

  8. Python中split()函数的用法及实际使用示例

    Python中split()函数,通常用于将字符串切片并转换为列表. 一.函数说明: split():语法:str.split(str="",num=string.count(st ...

  9. 保存恢复临时信-Android 中使用onSaveInstanceState和onRestoreInstanceState

    在Activity中,有两个方法用于临时保存.恢复状态信息,这两个方法是: public void onSaveInstanceState(Bundle savedInstanceState); pu ...

  10. 通过Application传递数据代码

    使用Application传递数据步骤如下:创建新class,取名MyApp,继承android.app.Application父类,并在MyApp中定义需要保存的属性     在整个Android程 ...