8,452
edits
Paradox-01 (talk | contribs) m (bug with patrol path <Points /> are fixed now) |
Paradox-01 (talk | contribs) (specific dae export a.k.a. scene export) |
||
Line 12: | Line 12: | ||
==Level releases, forum threads and wiki pages== | ==Level releases, forum threads and wiki pages== | ||
;Custom levels that have been created so far | ;Custom levels that have been created so far | ||
* [http://oni.bungie.org/community/forum/viewtopic.php?id=2619 Fight Club] (1/6/13) | |||
* [http://oni.bungie.org/community/forum/viewtopic.php?id=2357 Old China] (12/5/12) | * [http://oni.bungie.org/community/forum/viewtopic.php?id=2357 Old China] (12/5/12) | ||
* [http://oni.bungie.org/community/forum/viewtopic.php?id=2302 Boss Battle] (18/3/12) | * [http://oni.bungie.org/community/forum/viewtopic.php?id=2302 Boss Battle] (18/3/12) | ||
Line 125: | Line 126: | ||
| <Model> | | <Model> | ||
| - | | - | ||
| See [[#<Model>|HERE]] for detailed information. | | Used to import level geometry and static objects. See [[#<Model>|HERE]] for detailed information. | ||
|- | |- | ||
| <Import Path="..."/> | | <Import Path="..."/> | ||
Line 142: | Line 143: | ||
: [[#Texture exchange|env_texswap Id texture]] (no file prefix/suffix allowed) | : [[#Texture exchange|env_texswap Id texture]] (no file prefix/suffix allowed) | ||
: [[#env_shade|env_shade Id Id R G B]] | : [[#env_shade|env_shade Id Id R G B]] | ||
Static objects store their Id in [[XML:AKEV#IDXA_.28quad_group_id.29|one of AKEV's IDXA instances]]. | |||
|- | |- | ||
|valign="top"| <GunkFlags> | |valign="top"| <GunkFlags> | ||
Line 761: | Line 763: | ||
| <Objects> | | <Objects> | ||
| - | | - | ||
| This | | This tag marks the file as BINACJBO. | ||
|- | |- | ||
| <Furniture> | | <Furniture> | ||
| - | | - | ||
| This | | This tag marks the file as FURN. | ||
|- | |- | ||
| <Header> | | <Header> | ||
Line 864: | Line 866: | ||
:env_anim Id [Id] | :env_anim Id [Id] | ||
:env_setanim Id [Id] | :env_setanim Id [Id] | ||
The script Id will be stored in ONLV's OBOA instance. | |||
|- | |- | ||
|valign="top"| <Flags> | |valign="top"| <Flags> | ||
Line 975: | Line 978: | ||
The bio lab script file use the motorcycle objects and animations like this: | The bio lab script file use the motorcycle objects and animations like this: | ||
env_show 9 0 # hide | env_show 9 0 # hide static motorcycle parts (because they get visible at level start) | ||
# in the original game the motorcycle is separated in object 8, 9 and 10 | # in the original game the motorcycle is separated in object 8, 9 and 10 | ||
# also the OBAN files have a bit different names | # also the OBAN files have a bit different names | ||
# static and animated objects are totally independent from each other | # static and animated objects are totally independent from each other | ||
# so their script ids | # they are stored in different arrays so their script ids can be the same or different | ||
obj_create 8 10 # create animation-ready motorcycle parts | obj_create 8 10 # create animation-ready motorcycle parts | ||
Line 993: | Line 996: | ||
obj_kill 8 10 # delete animated parts | obj_kill 8 10 # delete animated parts | ||
env_show 9 1 # show | env_show 9 1 # show static motorcycle parts | ||
==Level reimport== | ==Level reimport== | ||
=== | ===General dae export=== | ||
After | After the oni file have been exported, the extraction of objects can fail if their textures can't be found. Those objects probably use textures stored in level 0. | ||
In that case use the "-search" argument to make correct extractions. In total the commands will look like this: | In that case use the "-search" argument to make correct extractions. In total the commands will look like this: | ||
Line 1,005: | Line 1,008: | ||
onisplit -export levelX_files levelX.dat | onisplit -export levelX_files levelX.dat | ||
onisplit -extract:dae levelX_geometry levelX_files/AKEV*.oni -search level0_files | onisplit -extract:dae levelX_geometry levelX_files/AKEV*.oni -search level0_files | ||
Possible output files: | |||
* ''level''_bnv.dae | |||
* ''level''_cons.dae | |||
* ''level''_door.dae | |||
* ''level''_env.dae | |||
* ''level''_env_markers.dae | |||
* ''level''_furn.dae | |||
* ''level''_script_''N''.dae (by onisplit v0.9.90.0) | |||
* ''level''_trig.dae | |||
* ''level''_turr.dae | |||
===Specific dae export (onisplit v0.9.90.0)=== | |||
This is also known as scene export. All content exported by the scene file will be combined and saved in one single dae. | |||
OniSplit -extract:dae path_to/output_directory path_to/scene.xml | |||
For the following example the scene.xml must be present in a folder containing all files used by the scene. In this case it's level3_Final (biolab). | |||
<Scene> | |||
<Node Name="camera"> | |||
<Camera /> | |||
<Animation>OBANCamout01.oni</Animation> | |||
<Animation>OBANCamout02.oni</Animation> | |||
<Animation>OBANCamout03.oni</Animation> | |||
<Animation>OBANCamout04.oni</Animation> | |||
<Animation>OBANCamout05.oni</Animation> | |||
<Animation>OBANCamout06.oni</Animation> | |||
</Node> | |||
<Node Name="motorcycle02"> | |||
<Geometry>M3GMmotorcycle02.oni</Geometry> | |||
<Animation>OBANmotorcycle02.oni</Animation> | |||
<Animation>OBANmotorcycle02_stop.oni</Animation> | |||
<Node Name="hubs"> | |||
<Geometry>M3GMhubs.oni</Geometry> | |||
<Animation>OBANhubs.oni</Animation> | |||
<Animation>OBANhubs_stop.oni</Animation> | |||
</Node> | |||
<Node Name="hubs_rear"> | |||
<Geometry>M3GMhubs_rear.oni</Geometry> | |||
<Animation>OBANhubs_rear.oni</Animation> | |||
<Animation>OBANhubs_rear_stop.oni</Animation> | |||
</Node> | |||
</Node> | |||
</Scene> | |||
When you load the dae in [[Mod_Tool|XSI]] you'll find the motorcycle and the lab level intro camera. If you select the camera (for better visibility) and press play you'll get to see the motorcycle into animation like you see it in game. | |||
For real-time playback click on "Playback" option button and then "Real-Time Playback". | |||
;File structure | |||
* The scene consist of '''nodes'''. A node name will be the name of the object inside the dae. | |||
* Each node represents '''either one 3D object or one camera''' inside the dae. | |||
** 3D objects do have a '''<Geometry>''' tag. | |||
** Cameras do have a '''<Camera />''' tag. | |||
** Each 3D object and camera is can have '''one or multiple <Animation>''' tags. Multiple animations will be combined. | |||
** 3D objects can have '''hierarchies'''. Those are created by using '''sub-nodes'''. Each sub-node can also have animations. | |||
;Scene import | |||
According to Neo that feature is still under development. | |||
===Recycle object collections=== | ===Recycle object collections=== | ||
Line 1,020: | Line 1,087: | ||
==Level export== | ==Level export== | ||
This section is only about xml files. For dae export see [[#Level_reimport|HERE]]. | |||
The most parts of an Oni level are made of ONLV and AKEV. For AKEV's xml tags see [[XML:AKEV|HERE]]. | The most parts of an Oni level are made of ONLV and AKEV. For AKEV's xml tags see [[XML:AKEV|HERE]]. | ||
edits