Jump to content

Restless Souls/Wishlist: Difference between revisions

m
→‎Meshes: Just wasting some time here on theoretical imports :)
m (link fix)
m (→‎Meshes: Just wasting some time here on theoretical imports :))
Line 370: Line 370:


====Meshes====
====Meshes====
=====Custom collision boxes=====
=====Reimports=====
In an 3D editor create collision objects and name it beginning with "UCX_". Save objects and collision objects together in one FBX file.
[[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


On import, uncheck "Auto Generate Collision".
Ending numbers such as "_7412" seem to be the CJBO id. (See [[XML:AKEV#AGQG|AGQG <ObjectId>]])


:https://www.youtube.com/watch?v=YxVFChB3oxY
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'''


=====Reimports=====
Although the green collision boxes are imported with transparency they are not completely invisible. We could either:
[[Image:UE4_StaticOniMesh.png|400px|right|thumb]]
* remove the collision box (scripting)
Since OniSplit outputs 3D meshes mostly as Collada (DAE) - and few as Wavefront (OBJ) - you cannot transfer objects from Oni to UE4 directly.
* 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)


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.
Since in Oni the '''green collision box is meant for characters how do we deal with particle collisions?'''


Also the scaling 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. Also boxes do only have 5 sides. Writing a macro to fix that would be more spicy. I'm not sure if it is worth the effort to write one.


=====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.


Tips and tricks:
On import, uncheck "Auto Generate Collision".
* Reset pivot of meshes [https://www.youtube.com/watch?v=N1h5mMviSKs (V)]


:https://www.youtube.com/watch?v=YxVFChB3oxY


====Sockets====
====Sockets====
8,013

edits