User talk:Neo
Jump to navigation
Jump to search
New OniSplit (beta) version: OniSplit v0.9.30
What's new:
- SNDD importer
- -WAV files (.wav, mono/stereo, 22.05KHz/44.1KHz, uncompressed(PCM)/compressed(MS-ADPCM)) produce SNDD files that are compatible with Oni PC retail.
- -AIFC files (.aif/.aifc/.afc, mono/stereo 22.05KHz, compressed(ima4)) produce SNDD files that are compatible with Oni Mac.
- Example
OniSplit -create out_dir test.aif OniSplit -create out_dir test.wav
- LOD support for creating TRBS files. This can be done by creating an xml file containing the following:
<?xml version="1.0" encoding="utf-8"?> <Oni Version="0.9.29.0"> <Instance id="0" type="TRBS"> <Elements> <Link>barabus_body_1.dae</Link> <Link>barabus_body_2.dae</Link> <Link>barabus_body_3.dae</Link> <Link>barabus_body_4.dae</Link> <Link>barabus_body_5.dae</Link> </Elements> </Instance> </Oni>
- and running the command (assuming the created xml file's name is barabus_body.xml):
OniSplit -create out_dir barabus_body.xml
- It's not strictly necessary to create 5 different geometries for each LOD. The following works just as well:
<?xml version="1.0" encoding="utf-8"?> <Oni Version="0.9.29.0"> <Instance id="0" type="TRBS"> <Elements> <Link>barabus_body_1.dae</Link> <Link>barabus_body_2.dae</Link> <Link>barabus_body_2.dae</Link> <Link>barabus_body_2.dae</Link> <Link>barabus_body_3.dae</Link> </Elements> </Instance> </Oni>
- An xml file can contain "links" to other xml/obj/dae files. For example you can have the following line in an ONWC xml file:
<Geometry>pistol.obj</Geometry>
- Assuming the file pistol.obj exists in the same directory an M3GM .oni file will be automatically created from it.
- Relative paths work just as well:
<Geometry>geometry/pistol.obj</Geometry>
- The -create:subt, -create:txmp and -create:m3gm are sort of obsolete. They still work but now you can simply use '-create' (or just 'create'):
OniSplit -create out_dir crate.dae OniSplit create out_dir -format:bgr555 -genmipmaps pic.tga OniSplit create out_dir subtitles.txt
- Work in progress: the AKEV importer now reads Collada materials so the resulting AKEV is textured.
- Sample levels:
- TestLevel1 -- This level should look like this in-game: Image 1 Image 2 Image 3
- TestLevel2 -- This level should look like this in-game: Image 1
- A zip file contains the minimum needed to get a new level running in Oni. To "compile" a level extract it to a folder and run the following commands:
OniSplit -create out -genmipmaps -format:dxt1 *.xml OniSplit -import:nosep . Oni\GameDataFolder\level1_Final.dat
- (Of course, you need to change the output .dat file path to match your Oni installation path)
I did a quick update to 0.9.30 to fix a problem with relative paths handling.
- Iritscen - looks like you've overlooked the 0.9.30 fix when updating OniSplit. Neo - thanks a lot, I'll try to test the new features and put them to good use.
- Can someone tell me what was wrong with hexagon2.dae (unless it was just user error on the part of 'Scen?)? and what's up with using DXT1 for AKEV?
- geyser 01:34, 11 November 2008 (CET)
- DXT1 - well, you need to specify a texture format so you don't end up with bgr32.
- Hexagon "wrongness" - not sure what exactly you are talking about. Sure, it needs to be scaled up a bit (somewhere between x20 and x40), it needs to be rotated a bit and some textures have non power of 2 sizes. Appart from that "it just works". Currently I'm investigating some "falling through the floor" problems but it appears that the problem is in OniSplit and not in Hexagon.
- Neo
- Well, I'm OK with bgr32, actually (and I'd be even more OK if I could use bgra32 ^_^ ) - it's not like the levels we're importing so far have hundreds of detailed textures... So the only critical flaw with hexagon was non-power-of-two texture sizes? is that really a critical flaw (as in "blam"), or did 'Scen mess up somewhere else (he's the one who reported a blam after importing hexagon2.dae; I didn't try)? About the scale - it's funny, what units is the original in, then? I thought the original was in millimeters, and hexagon2.dae in decimeters, so that it should be scaled up by 1.5 or 2, not more... 30 you say? huh. --geyser 02:00, 11 November 2008 (CET)
- Well, maybe you're OK with bgr32 (or bgra32) but Oni is not :). I don't know what OpenGL exact behavior is for non power of 2 sizes (XNA throws an exception) but some (or all) hardware does not support this for texture with mipmaps.
- That "blam" may have been caused by other stuff in the level that was not cleaned up. The sample levels I mentioned above are completly empty (they don't even have a splashscreen :)).
- I don't know what the correct scale is but 20-40 looks nice, my first impression was like: "wow, halo 2"...
- geyser 01:34, 11 November 2008 (CET)
- Tested non power of 2 textures in Oni: it rounds to a power of 2 so the result has ugly black bands. Do no use such textures! :)
- I found and fixed the problem with falling through the floors, and now the hexagon works fine.
- In fact I'm quite impressed with it. The framerate is good, the octree visibility works well and moving around feels OK. I can even walk on some "pipes" if you know them.
- In addition this thing is a very good candidate for experiments with pathfinding autogeneration due to its exclusive usage of ramps instead of stairs.
- Good thing you like the hexagon despite the "wow, halo 2" impression. HERE are other models by the same (Russian) guy. All of them use ramps rather than stairs (so there you have more candidates for pathfinding autogen), but some of them are more specifically designed with FPS gameplay in mind. He released a new model last month, so I sent him another message: it would be great if we managed to contact him. --geyser 13:02, 11 November 2008 (CET)
I tried to extract the .dae from AKEVhexagon2.oni and got the following error message from OniSplit:
mono onisplit.exe -extract:dae hex3d level7_Final/AKEVhexagon2.oni
/level7_Final/AKEVhexagon2.oni /level7_Final/AGDBhexagon2.oni System.NullReferenceException: Object reference not set to an instance of an object at Oni.Imaging.Texture.Read (Oni.InstanceDescriptor txmp) [0x00000] at Oni.Geometry.GeometryDaeExporter.WriteImageLibrary (Oni.InstanceDescriptor[] textures) [0x00000] at Oni.Geometry.GeometryDaeExporter.WriteEnvironment (Oni.InstanceDescriptor descriptor, System.String filePath) [0x00000] at Oni.Geometry.GeometryDaeExporter.ExportInstance (Oni.InstanceDescriptor descriptor) [0x00000] at Oni.Exporter.ExportInstanceList (System.Collections.Generic.List`1 descriptors) [0x00000] at Oni.Exporter.Export (Oni.FileManager fileManager, System.String sourceFilePath, System.String filter) [0x00000] at Oni.Program.ExtractGeometry (System.String[] args) [0x00000] at Oni.Program.Main (System.String[] args) [0x00000]
EdT 03:42, 12 November 2008 (CET)
- I added a few characters to the hexagon level, but Oni constantly crashes within a few minutes of playing.
- Video: http://edt.oni2.net/3D/hexcrash.wmv
- Oni crash log: http://edt.oni2.net/3D/hexcrash.txt
- EdT 02:23, 15 November 2008 (CET)
- EdT, what TRAMs are you using? I don't recognize some of Barabus's moves. And that crash seems to have happened at Griffin's jumpkick (or whatever that was). Can you supply the Characters.xml you used for that? Gumby 06:48, 15 November 2008 (CET)
- I'm not sure why does it crash, it appears to be texture related. Better send me your xml/dae files to see if I can reproduce.
- Neo
- Here are the actual .dat files for Mac and PC: http://edt.oni2.net/3D/Level7_Hex2.zip
- The crash seems to be related the number of characters fighting, if there is just 2 AI fighting, they will fight for several minutes, then suddenly stop fighting, but no crash.
- gumby, Barabus's new moves are from Loser's modified TRAMs AE:Combat_system
- Finally, is it possible to manually write pathfinding data for just that area of the level?
- EdT 17:28, 15 November 2008 (CET)