8,013
edits
m (link fix) |
Paradox-01 (talk | contribs) m (→Meshes: Just wasting some time here on theoretical imports :)) |
||
Line 370: | Line 370: | ||
====Meshes==== | ====Meshes==== | ||
===== | =====Reimports===== | ||
[[Image:UE4_StaticOniMesh.png|400px|right|thumb]] | |||
Since '''OniSplit outputs 3D meshes mostly as Collada (DAE)''' - and few as Wavefront (OBJ) - you cannot transfer objects from Oni to UE4 directly. | |||
'''Creating FBX''' | |||
You either need the '''[https://www.autodesk.com/developer-network/platform-technologies/fbx-converter-archives FBX converter]''' or [[Blender]] to convert the Collada to FBX file format. | |||
'''Importing FBX''' | |||
The scaling of OniSplit DAE files is too small. '''Use a factor of 10 to fix it.''' If we wanted to do a mass-import we would need a tool or a Blender script that alters the DAE (XML) data in advance. (Or maybe some python magic for the UE4 editor can help here too.) | |||
Warehouse boxes from level 1 (and others objects) do only have 5 sides. Writing a macro for XSI/Blender COULD possibly add a 6th side automatically. | |||
'''Optional: Asset library''' | |||
Besides re-imports of furniture, objects could be added to a new asset library. For the later case [https://www.youtube.com/watch?v=N1h5mMviSKs resetting the pivot point of meshes (V)] might be useful. | |||
'''Object instances''' | |||
If we would import an entire furniture file to UE4 it would create the objects as they are: for each object one mesh. That inefficient as many objects are simply duplicates, although textures and materials are created only once. | |||
To bypass this inefficiency scripting is needed. | |||
U_freight_wht_long_7412 | |||
U_freight_wht_long_7413 | |||
Ending numbers such as "_7412" seem to be the CJBO id. (See [[XML:AKEV#AGQG|AGQG <ObjectId>]]) | |||
For example a script would export the furniture "U_freight_wht_long" and save the position of all instances to a text file. UE4 would need the import the FBX once and read that text file to place them all in the level. The problem is that rotations are all reset to 0. It might be possible to define some kind of reference and read the first vertex of each object, reading the different rotation and saving this to the text file as well. | |||
'''Green collision boxes''' | |||
Although the green collision boxes are imported with transparency they are not completely invisible. We could either: | |||
* remove the collision box (scripting) | |||
* modify the texture "_merker_barrier" | |||
* modify the material "MaterialLibrary__marker_barrier" | |||
** change Opacity from Texture Sample to a scalar or vector 3 node (0,0,0 for black = fully transparent) | |||
Since in Oni the '''green collision box is meant for characters how do we deal with particle collisions?''' | |||
=====Custom collision boxes===== | |||
In an 3D editor create collision objects and name it beginning with "UCX_". Save objects and collision objects together in one FBX file. | |||
On import, uncheck "Auto Generate Collision". | |||
:https://www.youtube.com/watch?v=YxVFChB3oxY | |||
====Sockets==== | ====Sockets==== |
edits