19,721
edits
m (some minor info corrected) |
m (link fix) |
||
| (29 intermediate revisions by 5 users not shown) | |||
| Line 50: | Line 50: | ||
oh, there is a talk page - didn't notice that | oh, there is a talk page - didn't notice that | ||
EdT, i think the exception rises because of the old JVM version you are using ([http://www.devdaily.com/blog/Content/2/8/578/ they say this is the case]) | EdT, i think the exception rises because of the old JVM version you are using ([https://web.archive.org/web/20081021062327/http://www.devdaily.com/blog/Content/2/8/578/ they say this is the case]) | ||
try downloading the latest 6th version of J2SE JRE (or JDK) | try downloading the latest 6th version of J2SE JRE (or JDK) | ||
| Line 81: | Line 81: | ||
:my mind asks for some change of activity from time to time, | :my mind asks for some change of activity from time to time, | ||
:so i seem to be still developing from time to time, even tho | :so i seem to be still developing from time to time, even tho | ||
:::[ | :::[https://www.youtube.com/watch?v=YNawWKDfdkY HOLIDAYS ARE COMING!!!] | ||
::;4 | ::;4 | ||
| Line 133: | Line 133: | ||
:i have made some research on SE2, and found this [ | :i have made some research on SE2, and found this [https://www.ixbt.com/video2/tech_ss2.shtml illustrative article] (in russian) | ||
:also i have been searching for the 3d-model file specs, and found your post, submitted on 08-25-2006, 11:30 PM: | :also i have been searching for the 3d-model file specs, and found your post, submitted on 08-25-2006, 11:30 PM: | ||
| Line 216: | Line 216: | ||
:i haven't heard about collada before | :i haven't heard about collada before | ||
:seems that this 3d-format is the one i would prefer rather than any other one (since i am java minded, and java encapsulates XML) | :seems that this 3d-format is the one i would prefer rather than any other one (since i am java minded, and java encapsulates XML) | ||
:but it is a relatively complex format, jugdging from the page count int the [ | :but it is a relatively complex format, jugdging from the page count int the [https://www.khronos.org/files/collada_spec_1_4.pdf specification] PDF | ||
:maybe one time i'll read it, and these [ | :maybe one time i'll read it, and these [https://www.khronos.org/developers/library/web3d_2007_collada_tutorial/ 2 tutorials] | ||
:actually it is already a trivial step for me to implement 3ds animations extration, since today i found some sources hidden in the sea of internet | :actually it is already a trivial step for me to implement 3ds animations extration, since today i found some sources hidden in the sea of internet | ||
:but as for LWO+ - it is eliminated in my mind from now | :but as for LWO+ - it is eliminated in my mind from now | ||
| Line 225: | Line 225: | ||
:even more - models and animations, created by amateurs, would be horrible | :even more - models and animations, created by amateurs, would be horrible | ||
:but coding, texturing and level modelling is what oni fans can handle on an appropriate level | :but coding, texturing and level modelling is what oni fans can handle on an appropriate level | ||
: | :<nowiki>https://www.youtube.com/watch?v=Nc9mvd0-Z2Y</nowiki> наш лектор (половина потока идёт на комиссию) (dead link) | ||
::[[User:Kuchumovn|Kuchumovn]] 21:10, 7 January 2008 (CET) | ::[[User:Kuchumovn|Kuchumovn]] 21:10, 7 January 2008 (CET) | ||
:tonight i've been particularly thinking on what is OME supposed to do | |||
:in fact i haven't noticed that 3d-editors i've used before have only one animation track | |||
:that means if OME is supposed to extract all the animations, then 3d-editors' formats are not applicable | |||
:seems that collada can store multiple animations | |||
:so 3ds becomes more sandboxier | |||
:still i think i'll implement single animation extraction just to "finish the event chain" (like they say it in esoterics - unfinished business may take your powers; actually tonight i woke up, and there was a mess in my head about extracting animations to 3ds - it was like if i was insane; actually it happens sometimes - i create different insane theories, create new dimensions, new numbers, new figures, as if i took lsd before going to bed) | |||
::[[User:Kuchumovn|Kuchumovn]] 10:10, 8 January 2008 (CET) | |||
---- | |||
:"then you can import it to a 3d-editor and maybe flip normals for some bodyparts" It's up to you, ku4um, to detect the polygons that need to be flipped, and export them properly ;) | |||
::[[User:Geyser|geyser]] | |||
:i guess that face reverting can be done like this: | |||
:[[Image:Vectors.png]] | |||
:maybe i'll try it today | |||
::[[User:Kuchumovn|Kuchumovn]] | |||
:The issue is only with Oni's meshes and the way they're rendered in Oni. Basically, they're mostly using the face normals for backface culling, rather than the vertex order. | |||
:That is what happens for character meshes and animated cutscene objects. Certain body parts are obtained by flipping existing ones, which preserves correct face normals, but flips the polygons. Same for "cloned-and-mirrored" parts of a single mesh (e.g., wheels of a car). Therefore, if you export ONCC or OBAN meshes and preserve the triangles listed in the IDXA as strips, some of them will be culled incorrectly by 3D programs. Because 3D tools typically use the vertex order for backface culling. And because Oni does not use the vertex order at all for character and "object" M3GM - it uses face normals instead. The reason why these meshes have inconsistent vertex ordering is because that order is irrelevant to Oni. The only way to fix the order is to check face normals against triangle orientation. For character M3GM, the mesh is usually flipped as a whole, but for car wheels, you have to check every triangle, because the flipping may be limited to a part of the mesh (e.g., left wheel is not flipped, and right wheel is a flipped clone). | |||
:For powerups (and probably weapons, turrets, consoles, particles etc as well), they'not culling the backfaces, at least not according to the face normals. We know that because some face normals are just plain wrong for, e.g., powerup_shield, for example, has some messy normals, inconsistent with the layout of the polygons for some reason. There are normals pointing inwards for that one, so there is no way it can be culled based on those. Either it's not culled at all, or it's culled based on the usual vertex order (which, for powerups and weapons, is consistent). This basically means that you can export all these "minor" meshes without flipping the triangles at all. Since the normals can be wrong, just ignore them for these meshes (powerups, weapons, turrets, consoles, particles etc) and do not check them again triangle orientations. | |||
:Other than that, your algorithm for checking normals and flipping polygons is correct. If for the "interpolated" normal you use not the (possibly wrong) normals from VCRA but your own interpolation (and preferably evaluate the vertex normals as well), then you can apply that algorithm to every face of every mesh in Oni. You can, however, spare yourself that trouble and use the above rules. For character meshes, you only have to do the checking for one face, then flip the triangles for the whole mesh if necessary. For powerups etc, never flip the triangles. For cutscene objects, do an extensive check and flip every face individually, as needed. | |||
:The problem is just that, e.g., powerup_shield (and powerup_cell IIRC) has wrong normals (even pointing inwards), so I wouldn't recommend to handle these in the same systematic way as cutscene objects. As for the lack of a flag, you're correct, but the cutscene objects belong to the OBOA hierarchy, so you can detect them that way. | |||
::[[User:Geyser|geyser]] | |||
:i.e. one can check all the OBOAs in the level, and if some M3GM is not part of those OBOA M3GAs, then it is not a cutscene object? | |||
::[[User:Kuchumovn|Kuchumovn]] | |||
:For example, yeah. Rather than backtracking the hierarchy, you can also list the cutscene M3GM directly through the ONLV tree. | |||
:I think the easiest way to handle this is to NOT bother detecting whether a mesh "is not a cutscene object". Here's my suggestion. | |||
:Unnamed meshes should only be listed and exported through their respective parents (ONCC/TRBS, ONWC, TURR, CONS, etc). | |||
:Named ones can be listed without any distinction, and viewed/exported in a silly way (no normals checking or triangle flipping). | |||
:However, you should also allow the user to list OFGA and M3GA meshes through their respective parents (i.e., additional trees). | |||
:When the user lists furniture/cutscene M3GM through that tree, THEN the normals will be checked before viewing or exporting. | |||
:So you have a lazy default behaviour for standalone named meshes, and an optional, more zealous checking for "array meshes". | |||
::[[User:Geyser|geyser]] | |||
:i've just implemented normal flipping for ONCC - it appeared to be a 15-minute job (shorter than pating this discussion here) | |||
:i think then i'll make normal flipping also for powerup_shield today | |||
::[[User:Kuchumovn|Kuchumovn]] 18:25, 15 January 2008 (CET) | |||
:normal flipping has been implemented | |||
:normal of a face is then defined as '''[AC, AB]''' | |||
:normals of bodyparts are not recalculated, normals of standalone M3GM are recalculated by averaging parent face normals | |||
::[[User:Kuchumovn|Kuchumovn]] 20:18, 15 January 2008 (CET) | |||
:these days i have been fixing my university business (сдал зачёты и психологию - фрейд извращенец), and tried to add some functionality to OME | |||
:in this thread (<nowiki>https://collada.org/public_forum/viewtopic.php?p=3457</nowiki>, dead link) i have been requesting for support on COLLADA file format | |||
:today i've finished extracting from M3GM to COLLADA (and i might say that COLLADA is very natural, essential, or whatever) | |||
:you can get a C++ COLLADA loader [https://sourceforge.net/projects/colladaloader/ here] (a bunch of sample models is included, even with animations) | |||
::[[User:Kuchumovn|Kuchumovn]] 00:19, 28 January 2008 (CET) | |||
:extracting from ONCC to COLLADA has been implemented | |||
:currently there is no skeletal hierarchy - every bone is being translated independently | |||
::[[User:Kuchumovn|Kuchumovn]] 20:01, 28 January 2008 (CET) | |||
:skeletal data has been implemented | |||
:also, while testing the exporter, i've found that only [https://sourceforge.net/projects/colladaloader/ this COLLADA loader] gives satisfactory results | |||
:i've googled a bit, and haven't found any other COLLADA loader (even 3DS MAX doesn't load the exported DAE files; btw, they have written there ''"Autodesk (.FBX, .DAE)"'' - i think someone may trail them for this) | |||
:maybe you've met some other satisfactory COLLADA loaders? | |||
::[[User:Kuchumovn|Kuchumovn]] 14:15, 30 January 2008 (CET) | |||
*Other loaders: you can try [https://www.blender.org/ Blender]. Seems to work correctly if you don't have animations in the .dae file. | |||
*3DS Max (and Maya): As far as I know you need the ColladaMax (ColladaMaya) plugin from [http://web.archive.org/web/20080115044318/http://www.feelingsoftware.com/content/view/16/30/ Feeling Software]. In addition Autodesk's [https://aps.autodesk.com/developer/overview/fbx-converter-archives FBX Converter] can convert from/to Collada and FBX/3DS/OBJ. As for "trailing" them... yeah suuuure... | |||
*Me: I'm using [https://web.archive.org/web/20140620124403/https://www.autodesk.com/products/softimage/overview XSI Mod Tool]. Unlike Blender it can import animations correctly. | |||
[[User:Neo|Neo]] | |||
:thanks, i'll try these out | |||
::[[User:Kuchumovn|Kuchumovn]] 16:48, 30 January 2008 (CET) | |||
---- | |||
Site <nowiki>http://myjavaserver.com/~kuchumovn/ome/</nowiki> is unavailable. :\ -- [[User:Striker|Striker]] | |||
:Thanks for letting us know. It seems that the whole site is down. Check the article on OME again for a new download link. --[[User:Iritscen|Iritscen]] 23:59, 18 February 2009 (CET) | |||
[[Category:Outdated modding tools]][[Category:Windows-only modding tools]] | |||