XML:ONLV: Difference between revisions

351 bytes added ,  20 February 2013
m
no edit summary
mNo edit summary
mNo edit summary
Line 53: Line 53:


===the master xml file===
===the master xml file===
{| class="wikitable" style="float:right"
|
; mandatory files for level import
* ''level_environment''.dae
* ''level_bnv''.dae
* ''level_textures.tga/jpg/(dds?)
* Character.xml with player
|}
The '''master xml file name''' also determine the '''bsl folder name''' and the '''AKEV and ONLV file name''' in the output folder.
The '''master xml file name''' also determine the '''bsl folder name''' and the '''AKEV and ONLV file name''' in the output folder.




;shared folder
====shared folder====
The master xml file can link to other xml files, most of them are object collections. Some resources used by those xml files can be found in a "shared" folder. OniSplit copies textures and "physics" objects into the output folder; furniture objects will be integrate into the AKEV. Unused resources in the shared folder will be ignored. That way the final level archive / AE package contains only necessary files which saves the end-user space.
The master xml file can link to other xml files, most of them are object collections. Some resources used by those xml files can be found in a "shared" folder. OniSplit copies textures and "physics" objects into the output folder; furniture objects will be integrate into the AKEV. Unused resources in the shared folder will be ignored. That way the final level archive / AE package contains only necessary files which saves the end-user space.


Line 63: Line 72:




;<Model>
====<Model>====
This contains the AKEV (level) geometry but can also contain other, additional objects.
This tag is mandatory (it must be present to avoid errors); <Model> contains a link to the AKEV (level) geometry (*.dae) but can also be used for additional objects (*.dae).




;<Rooms>
====<Rooms>====
This is used to create pathfinding grids.
This tag is mandatory. It contains a link to BNV data (*.dae) which is used to create pathfinding grids.


Not providing a file path to BNV data (*.dae) can produce an error.


====<Textures>====
This tag is mandatory. Textures become imported as they are; in the texture section you declare exceptions.


;<Objects>
* There you can give a texture a special format, for example "bgra4444", to make it transparent.
Character.xml has to contain a player character or else Oni crashes when ca. 60% of the level got loaded.
* If the texture comes with gunkflag "NoCollision" then all objects with that texture will have no collision. Characters would fall through it.


Both makes sense, let's say, for a water-like substance. The biolab use this for an area with green acid.


====texture section====
Textures become imported as they are; in the texture section you declare exceptions.


* There you can give a texture a special format, for example "bgra4444", to make it transparent.
====<Objects>====
* If the texture comes with gunkflag "NoCollision" then all objects with that texture will have no collision. Characters would fall through it.
=====Character.xml=====
This file has to contain a player character or else Oni crashes when ca. 60% of the level got loaded.


Both makes sense, let's say, for a water-like substance. (The biolab use this for an area with green acid.)


 
=====Furniture.xml=====
===furniture===
The AKEV core geometry is more or less unique while this furniture file adds standard objects to it.
The AKEV core geometry is more or less unique while this furniture file adds standard objects to it.


Between the <Class> </Class> tags is always a link to an OFGA file.
Between the <Class> </Class> tags is always a link to an OFGA file.


  <?xml version="1.0" encoding="utf-8"?>
  <?xml version="1.0" encoding="utf-8"?>
Line 111: Line 118:




===physics===
=====Physics.xml=====
This file is for objects with "physics". Unlike AKEV core geometry or furniture, those objects can be animated and made hidden via bsl commands and object's script id.
This file is for objects with "physics". Unlike AKEV core geometry or furniture, those objects can be animated and made hidden via bsl commands and object's script id.


8,452

edits