XML:OFGA: Difference between revisions
Jump to navigation
Jump to search
Paradox-01 (talk | contribs) m (+ cat) |
Paradox-01 (talk | contribs) (object with particle) |
||
Line 8: | Line 8: | ||
=== | ===tags=== | ||
{| class="wikitable" width="100%" | |||
!width=150px| XML tag | |||
!width=120px| content type | |||
! description | |||
|- | |||
| <OFGA id="..."> | |||
| integer | |||
| marks the beginning of OFGA content | |||
|- | |||
|valign=top| <EnvParticle> | |||
|valign=top| "#" + integer | |||
| ENVP instance number (#N) | |||
|- | |||
| <Elements> | |||
| - | |||
| You can put here quite any number of <OFGAElement> tags. The array is an int32. | |||
|- | |||
| <OFGAElement> | |||
| - | |||
| | |||
|- | |||
|valign="top"| <GunkFlags> | |||
|valign="top"| flag | |||
| | |||
: NoCharacterCollision | |||
: NoOcclusion | |||
: Invisible - used for collision boxes | |||
: NoObjectCollision | |||
|- | |||
| <Geometry> | |||
| link | |||
| M3GM''file_name''<font color="#777777">.oni</font> (without file suffix .oni) | |||
|- | |||
| <ENVP id="..."> | |||
| integer | |||
| Instance number. Use the one from <EnvParticle>. | |||
|- | |||
| <Particles> | |||
| - | |||
| Can hold multiple <ENVPParticle>. | |||
|- | |||
| <ENVPParticle> | |||
| - | |||
| | |||
|- | |||
| <Class> | |||
| string | |||
| BINA3RAPname.oni (don't use file pre-/suffix) | |||
|- | |||
| <Tag> | |||
| string | |||
| Particle name for BSL commands. For some reason an underscore "_" will be added to the name. '''Examples:''' | |||
: FURN <Particle>test</Particle> + OFGA <Tag>streetlight</Tag> = '''test_streetlight''' | |||
: FURN <Particle></Particle> + OFGA <Tag>streetlight</Tag> = '''_streetlight''' | |||
: FURN <Particle>test</Particle> + OFGA <Tag></Tag> = '''test_''' | |||
|- | |||
| <Transform> | |||
| matrix | |||
| Float 4*3 + X Y Z position of the particle. | |||
|- | |||
| <DecalScale> | |||
| ? | |||
| X Y | |||
|- | |||
| <Flags> | |||
| flag | |||
| ? | |||
|} | |||
;Example 1 | |||
{| border=0 cellspacing=20 cellpadding=0 style="float:right" | {| border=0 cellspacing=20 cellpadding=0 style="float:right" | ||
|width=200px| | |width=200px| | ||
Line 19: | Line 89: | ||
the single parts were then imported into Mod Tool | the single parts were then imported into Mod Tool | ||
|} | |} | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
<Oni> | <Oni> | ||
Line 62: | Line 131: | ||
;Example 2 | |||
{| | {| border=0 cellspacing=20 cellpadding=0 style="float:right" | ||
|width=200px| | |||
[http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/3D_modding/streetlights_zps47653ed9.png http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/3D_modding/streetlights_tn_zps4d4f227f.png] | |||
|} | |} | ||
<?xml version="1.0" encoding="utf-8"?> | |||
<Oni> | |||
<OFGA id="0"> | |||
<EnvParticle>#1</EnvParticle> | |||
<Elements> | |||
<OFGAElement> | |||
<GunkFlags>NoOcclusion</GunkFlags> | |||
<Geometry>M3GMstreetlight_0</Geometry> | |||
</OFGAElement> | |||
</Elements> | |||
</OFGA> | |||
<ENVP id="1"> | |||
<Particles> | |||
<ENVPParticle> | |||
<Class>env_lensflare09</Class> | |||
<Tag>streetlight</Tag> | |||
<Transform>1 -4.559326E-08 1.35404189E-05 -1.354042E-05 -2.03512554E-05 1 -4.53176945E-08 -1 -2.03512554E-05 1.3262 63.5907 10.4082</Transform> | |||
<DecalScale>1 1</DecalScale> | |||
<Flags></Flags> | |||
</ENVPParticle> | |||
<ENVPParticle> | |||
<Class>env_lensflare09</Class> | |||
<Tag>streetlight</Tag> | |||
<Transform>1 -4.559326E-08 1.35404189E-05 -1.354042E-05 -2.03512554E-05 1 -4.53176945E-08 -1 -2.03512554E-05 1.3262 63.5907 -8.877</Transform> | |||
<DecalScale>1 1</DecalScale> | |||
<Flags></Flags> | |||
</ENVPParticle> | |||
</Particles> | |||
</ENVP> | |||
</Oni> | |||
==export== | ==export== | ||
The direct export ignores geometry with the flag "Invisible". | The direct export ignores geometry with the flag "Invisible". | ||
OniSplit -extract:obj out in/OFGA*.oni | |||
You can also identify the single geometry parts by going through the xml file and then export the M3GM file of your interest. | You can also identify the single geometry parts by going through the xml file and then export the M3GM file of your interest. | ||
OniSplit -extract:xml out in/OFGA*.oni | |||
OniSplit -extract:obj out in/M3GM*.oni | |||
==import== | ==import== | ||
Be sure your obj file contains triangulated meshes. Quads can give you visual glitches. | |||
OniSplit out_folder -create:m3gm [-tex:texture_name] input_folder/file.obj | |||
: -tex argument is optional but you should use it to prevent bugs | |||
After TXMP, M3GM and OFGA creation you can go on to [[XML:ONLV#Furniture.xml|furniture file]]. | |||
{{XML}} | {{XML}} |
Revision as of 16:46, 3 March 2013
OFGA : Object Furniture Geometry Array | ||
---|---|---|
XML
OBAN << Other file types >> ONCC |
general information
- The xml code on this page is compatible with onisplit v0.9.61.0 and v0.9.68.0
- OFGA are level specific.
- OFGA files were rarely used in game, only to get the bounding box of the geometry.
- Nowadays they are used to import objects with no functions. (Doors, consoles, etc. becomes imported by their object collections. See ONLV for more information.)
tags
XML tag | content type | description |
---|---|---|
<OFGA id="..."> | integer | marks the beginning of OFGA content |
<EnvParticle> | "#" + integer | ENVP instance number (#N) |
<Elements> | - | You can put here quite any number of <OFGAElement> tags. The array is an int32. |
<OFGAElement> | - | |
<GunkFlags> | flag |
|
<Geometry> | link | M3GMfile_name.oni (without file suffix .oni) |
<ENVP id="..."> | integer | Instance number. Use the one from <EnvParticle>. |
<Particles> | - | Can hold multiple <ENVPParticle>. |
<ENVPParticle> | - | |
<Class> | string | BINA3RAPname.oni (don't use file pre-/suffix) |
<Tag> | string | Particle name for BSL commands. For some reason an underscore "_" will be added to the name. Examples:
|
<Transform> | matrix | Float 4*3 + X Y Z position of the particle. |
<DecalScale> | ? | X Y |
<Flags> | flag | ? |
- Example 1
extracted OFGAV_tctf_cruiser.xml file led to the 8 M3GM instances the single parts were then imported into Mod Tool |
<?xml version="1.0" encoding="utf-8"?> <Oni> <OFGA id="0"> <EnvParticle></EnvParticle> <Elements> <OFGAElement> <GunkFlags>NoCharacterCollision NoOcclusion</GunkFlags> <Geometry>M3GMV_tctf_cruiser_0</Geometry> </OFGAElement> <OFGAElement> <GunkFlags>NoCharacterCollision NoOcclusion</GunkFlags> <Geometry>M3GMV_tctf_cruiser_1</Geometry> </OFGAElement> <OFGAElement> <GunkFlags>NoCharacterCollision NoOcclusion</GunkFlags> <Geometry>M3GMV_tctf_cruiser_2</Geometry> </OFGAElement> <OFGAElement> <GunkFlags>NoCharacterCollision NoOcclusion</GunkFlags> <Geometry>M3GMV_tctf_cruiser_3</Geometry> </OFGAElement> <OFGAElement> <GunkFlags>NoCharacterCollision NoOcclusion</GunkFlags> <Geometry>M3GMV_tctf_cruiser_4</Geometry> </OFGAElement> <OFGAElement> <GunkFlags>NoCharacterCollision NoOcclusion</GunkFlags> <Geometry>M3GMV_tctf_cruiser_5</Geometry> </OFGAElement> <OFGAElement> <GunkFlags>NoCharacterCollision NoOcclusion</GunkFlags> <Geometry>M3GMV_tctf_cruiser_6</Geometry> </OFGAElement> <OFGAElement> <GunkFlags>Invisible NoObjectCollision</GunkFlags> <Geometry>M3GMV_tctf_cruiser_7</Geometry> </OFGAElement> </Elements> </OFGA> </Oni>
- Example 2
<?xml version="1.0" encoding="utf-8"?> <Oni> <OFGA id="0"> <EnvParticle>#1</EnvParticle> <Elements> <OFGAElement> <GunkFlags>NoOcclusion</GunkFlags> <Geometry>M3GMstreetlight_0</Geometry> </OFGAElement> </Elements> </OFGA> <ENVP id="1"> <Particles> <ENVPParticle> <Class>env_lensflare09</Class> <Tag>streetlight</Tag> <Transform>1 -4.559326E-08 1.35404189E-05 -1.354042E-05 -2.03512554E-05 1 -4.53176945E-08 -1 -2.03512554E-05 1.3262 63.5907 10.4082</Transform> <DecalScale>1 1</DecalScale> <Flags></Flags> </ENVPParticle> <ENVPParticle> <Class>env_lensflare09</Class> <Tag>streetlight</Tag> <Transform>1 -4.559326E-08 1.35404189E-05 -1.354042E-05 -2.03512554E-05 1 -4.53176945E-08 -1 -2.03512554E-05 1.3262 63.5907 -8.877</Transform> <DecalScale>1 1</DecalScale> <Flags></Flags> </ENVPParticle> </Particles> </ENVP> </Oni>
export
The direct export ignores geometry with the flag "Invisible".
OniSplit -extract:obj out in/OFGA*.oni
You can also identify the single geometry parts by going through the xml file and then export the M3GM file of your interest.
OniSplit -extract:xml out in/OFGA*.oni OniSplit -extract:obj out in/M3GM*.oni
import
Be sure your obj file contains triangulated meshes. Quads can give you visual glitches.
OniSplit out_folder -create:m3gm [-tex:texture_name] input_folder/file.obj
- -tex argument is optional but you should use it to prevent bugs
After TXMP, M3GM and OFGA creation you can go on to furniture file.