Made a B3D Loader
Added alpha maps, the code is a bit hacky so some mesh may not render right, (can you send me any meshes that don't work)
afecelis, I cannot get your hallway mesh to work right, I'll look at it later.
Here is the updated CAnimatedMeshB3d.cpp and CAnimatedMeshB3d.h.
http://www.uploading.com/?get=AWOKQZFW
I'm having a break for today
edit: also use setMaterialFlag(EMF_LIGHTING, false) on the meshes for now
afecelis, I cannot get your hallway mesh to work right, I'll look at it later.
Here is the updated CAnimatedMeshB3d.cpp and CAnimatedMeshB3d.h.
http://www.uploading.com/?get=AWOKQZFW
I'm having a break for today
edit: also use setMaterialFlag(EMF_LIGHTING, false) on the meshes for now
Last edited by Luke on Sun Jul 23, 2006 6:04 am, edited 1 time in total.
-
- Posts: 518
- Joined: Tue Mar 29, 2005 9:02 pm
- Location: Alex,Egypt
- Contact:
LukeLuke wrote:
Here is the updated CAnimatedMeshB3d.cpp and CAnimatedMeshB3d.h.
http://www.uploading.com/?get=AWOKQZFW
i did not know how to download from that page where is the download link in the page?
thank you for your great work.
Magic 2d Library For Irrlicht : http://www.freewebs.com/bcxgl/index.htm
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
http://www.freewebs.com/bcxdx/index.htm
http://groups.yahoo.com/group/bcxdxc/
kudos for all the success, I encourage you to continue
@afe
Anim8or, another free tool, reported to work in wine, is adding in a beta plugins support for exporter and more stuff...I think a b3d would get out there, tehre was already one, tho...just that can't glue joints to floor yet, no constraints for that...
You personally can do, tho, Afe. I'll tell u the 2 workfows u have:
-Export directly fromMax using the free plugin called Pipeline or something like that....Or...one reported to be greater for characters animated, export as U3d with the free plugin max extras for your max version, there at u3d site, and then, open in u3d, do some fixing if neeed, and export as b3d Works like charm.U need to add the u3d plugin to max plugins folders as explained in zip, and also inu3d plugins folder the b3d plugin , downloaded free from u3d site.A plugin is loaded in u3d inside the iterface, once copied. Load plugins, or something like that...download the latest u3d version -the man doesnt stop working..- and latest b3d plugin...
-A third way, Blender based (I know u'r more freak of Blender ) .Export using Ben's latest script -in my sig(besides what I told u with the worm, remember: set the anim to baked PREVIOUS to start animating and so before adding keyframes) , u need that so that the ipo curves get well baked, as the plugin last time I checked only does a linear output(feeet sinking, unnatural floating, non wanted moves, etc) baking does export a keyframe per frame, every bone. Md5 format does export well ipos, no need to bake, but now u need x. Now the x file, should import well in Ultimate Unwrap, tho it needs certain different settings in the exporter, check as allways ben's doc, my signature. Once in u3d, do a fix if neeed, and export as b3d. Of course, you'd have needed for all this to download the b3d plugin and etc.
For levels and its lightmaps...I cant remember all but...LMMAKER, Deled, Giles, Cartography, Slimshady, etc,etc...
b3d allows 4 channels of multitexturing. Bones and weights, and lets hope, that feature I mentioned...
A full round format. before there werent as much tools as today supporting it...
@afe
Nope...but there have been several tries...I think there...wait a minute...for some reason I havein my brain that somebody could do it...BTW I wonder if there's an export script to b3d for blender animated characters?
Anim8or, another free tool, reported to work in wine, is adding in a beta plugins support for exporter and more stuff...I think a b3d would get out there, tehre was already one, tho...just that can't glue joints to floor yet, no constraints for that...
You personally can do, tho, Afe. I'll tell u the 2 workfows u have:
-Export directly fromMax using the free plugin called Pipeline or something like that....Or...one reported to be greater for characters animated, export as U3d with the free plugin max extras for your max version, there at u3d site, and then, open in u3d, do some fixing if neeed, and export as b3d Works like charm.U need to add the u3d plugin to max plugins folders as explained in zip, and also inu3d plugins folder the b3d plugin , downloaded free from u3d site.A plugin is loaded in u3d inside the iterface, once copied. Load plugins, or something like that...download the latest u3d version -the man doesnt stop working..- and latest b3d plugin...
-A third way, Blender based (I know u'r more freak of Blender ) .Export using Ben's latest script -in my sig(besides what I told u with the worm, remember: set the anim to baked PREVIOUS to start animating and so before adding keyframes) , u need that so that the ipo curves get well baked, as the plugin last time I checked only does a linear output(feeet sinking, unnatural floating, non wanted moves, etc) baking does export a keyframe per frame, every bone. Md5 format does export well ipos, no need to bake, but now u need x. Now the x file, should import well in Ultimate Unwrap, tho it needs certain different settings in the exporter, check as allways ben's doc, my signature. Once in u3d, do a fix if neeed, and export as b3d. Of course, you'd have needed for all this to download the b3d plugin and etc.
For levels and its lightmaps...I cant remember all but...LMMAKER, Deled, Giles, Cartography, Slimshady, etc,etc...
b3d allows 4 channels of multitexturing. Bones and weights, and lets hope, that feature I mentioned...
A full round format. before there werent as much tools as today supporting it...
Finally making games again!
http://www.konekogames.com
http://www.konekogames.com
I have uploaded here
http://www.savefile.com/files/9249461
the last update tehre bellow the green room screenshot...It is full thing, tho being an update, isn't it?
@hybrid
I was indeed 80% sure it happened so, just in case u werent much about this temp sites, often down...
http://www.savefile.com/files/9249461
the last update tehre bellow the green room screenshot...It is full thing, tho being an update, isn't it?
@hybrid
I have a bad costume of explaining allways the too obvious things...sorry. (maybe as I was a teacher...)Although it took some time to find this damn small download button I managed it before (otherwise I couldn't have said to prefer a shorter version than one with full source code), but the patch wasn't accessible, I always got timeouts.
I was indeed 80% sure it happened so, just in case u werent much about this temp sites, often down...
Finally making games again!
http://www.konekogames.com
http://www.konekogames.com
pd: can be also the config of security/javascript, or features....in the browsers...
tho, most sure, the hour when u tried, is often there with timeouts...
tho, most sure, the hour when u tried, is often there with timeouts...
Finally making games again!
http://www.konekogames.com
http://www.konekogames.com
ahhhhhh! thanks luke, take a month holiday break; you more than deserve it!! About other meshes with alpha not working, I guess the hallway mesh is a good challenge for you since you say it's not working. Or maybe the trees in the temple level? (is the alpha for the leaves working there?)EDITED: nevermind; I hadn't seen the screenshot where it's working. I was so excited reading that I jumped over it!!!. The funny thing is that all 3 of the examples I sent you were exported from Giles, so if alpha was achieved in "finca" it should work the same in the others (or at least in hallway). MMM, anyway, let me know how else I canhelp improving your loader.
ahhhhhhh! thanks Vermeer!
I use the U3d export plugin in max but never used it for animated characters. I've also read some stuff about "pipeline" but it's a bit tricky to get it to work. I'll also look into the blender option as indeed I'm totally addicted to it now; and I remember your worm with constraints thing but lost the files to it and never found the link to it again. Do you remember where you placed it in the forums or got a direct DL link to it?
Many thanks!!
here's a direct link to Lukes update:
http://afecelis.gdlib.net/Irrlicht/B3dloaderUpdate2.zip
ahhhhhhh! thanks Vermeer!
I use the U3d export plugin in max but never used it for animated characters. I've also read some stuff about "pipeline" but it's a bit tricky to get it to work. I'll also look into the blender option as indeed I'm totally addicted to it now; and I remember your worm with constraints thing but lost the files to it and never found the link to it again. Do you remember where you placed it in the forums or got a direct DL link to it?
Many thanks!!
here's a direct link to Lukes update:
http://afecelis.gdlib.net/Irrlicht/B3dloaderUpdate2.zip
vermeer:
No, that update is not the full thing, I’ll make a full update later.
And can I have a link to some info on the type of spline interpolation your talking about, is it fast enough for games?
hybrid:
I'm not sure why the meshes are not loading,
But I have not tested any the "#ifdef PPC" parts of the code, I don't think "OSReadSwapFloat32" is a real command, I know OSReadSwapInt32 is, does it work with floats?
afecelis:
Thanks
When I get some free time I will try and fix the problem with the hallway mesh (have you tried it, it comes up super bright) and also add transitions between the different animations, (eg from idle to walking) so there is no jump.
I probably will need a custom AnimatedMeshSceneNode to get transitions to work, so at the same time I might make options to move/rotate joints in your code, (eg head) using the custom AnimatedMeshSceneNode, so you could make a head look at the mouse, or hand with gun aim at a target, etc.
Can anyone think of a better way of doing this? I don't have much experience with irrlicht.
No, that update is not the full thing, I’ll make a full update later.
And can I have a link to some info on the type of spline interpolation your talking about, is it fast enough for games?
hybrid:
I'm not sure why the meshes are not loading,
But I have not tested any the "#ifdef PPC" parts of the code, I don't think "OSReadSwapFloat32" is a real command, I know OSReadSwapInt32 is, does it work with floats?
afecelis:
Thanks
When I get some free time I will try and fix the problem with the hallway mesh (have you tried it, it comes up super bright) and also add transitions between the different animations, (eg from idle to walking) so there is no jump.
I probably will need a custom AnimatedMeshSceneNode to get transitions to work, so at the same time I might make options to move/rotate joints in your code, (eg head) using the custom AnimatedMeshSceneNode, so you could make a head look at the mouse, or hand with gun aim at a target, etc.
Can anyone think of a better way of doing this? I don't have much experience with irrlicht.
I think...I am referring to actually be able to leave intact, to carry the animatio curves information.That is, of course, it depends on if the exporter is also respecting it. Sadly, unsure if pipeline, one of the most known, In max, would help there, as, being blitz3d limited to linear, the plugin authors do instead aovid it...Pipeline plugin seem to be able to take the curves, but it then bakes em into m any keyframes, as they know linear interpolation is what the engine will make... Maybe the pipeline plugin internal code could be of really great help, as I guess it is exactly looking at the spline curves that the artist made for those bones, in the 3dsMax "curve editor"...and which are indeed the key for good animations.
The Piepeline plugin.A b3d exporter for max :
http://www.onigirl.com/pipeline/
here, an example of a plugin porting the curves, for very old max4.
http://members.optushome.com.au/ghra/sc ... slator.mcr
The task would not be to extract the spline curves from the scene, but , in case the max or whatever the package plugin, did extracted those curves, your loader would be respecting and also carrying them, if I explained well...
here, a wikipedia explanation of the types...(but is no use, as I refer to just bring the curves already extracted by the package exporter, being your function only to keep them...)
http://en.wikipedia.org/wiki/Spline_interpolation
here, screenies of blenders animation curves...The thing here would be taking them imported with b3d file (not in the case of Blender, but for example, Max, LW, or Ultimate unwrap...)
http://www.blender.org/cms/Animation_Cu ... 717.0.html
I know md5 Blender exporter does well the task, and is based I think in blender2java or blender2cal...
md5 plugin works great as an exporter for blender.(CODE included, read the python py file with notepad, wordpad or the like..)
http://home.tiscali.de/der_ton/blender2md5.rar
The blender plugin does allow two very important things I have not seen in other weights formats exporters for Blender:
-it takes in consideration the bone pose module of new blender 2.41 and newer...
-it does get the IPO curves from the bones. I have been now looking at the code of the plugin , altho I don't konw how to program, I can read there a getcurves fro ipos sort of code, so I guess it is doing it, besides I could test that visually...
Unluckily, have not been able to find the Pipeline max plugin source code. What it does is take the curves info and bake as a keyframe per frame and bones.
I have seen many formats bringing the spline info and seen right at the engine....
but tru that I dont know if that's actual spline curves extracted files, or baked from curves to keyframes. In the case of the second case, well, you are already doing linear interpolation. It'd be a matter of the artist to just bake all frames as keyframe per every bone in the model, every frame.
Wether that is or is not more heavy in memory, and cpu or gpu, than using just the really keyframes done (an animator tends to use very few, and then manipulate the curves, it's seen usually better, and no problems arise...but if he bakes it, is seen just as smooth...not if he continues editing after that ) and extracting the curves he did....wel I plainly don't know.
True that I have another data: long ago, did seem to me that half life 2 new smd files, which support well weights and all (opposite to old hl1 files) at least importing back into max...it took all frames keyframed!!! As if the exporter would have done so in its moment, or as if the importer did at import time back into max, is my only doubt.
So, thinking it well, it's already done your loader, just the need of bake for the artist of every bone in every frame...i don't know indeed how heavy is that in HD memory nor for the engine. Have you made a test? or the dwarfes hasnt got all baked?if so, weird stuff is to happen.
But I'd love if loaders and plugins just grabbed the curves info.
Ive heard of , art side, artists not needed to care,just exporting as is,...but with that or performance, you put me in doubt if it's the case that then engine loaders, or even the same exporting plugins of the 3d package...actually "bakes" it all per frame...
I dunno, have I been clear?
The Piepeline plugin.A b3d exporter for max :
http://www.onigirl.com/pipeline/
here, an example of a plugin porting the curves, for very old max4.
http://members.optushome.com.au/ghra/sc ... slator.mcr
The task would not be to extract the spline curves from the scene, but , in case the max or whatever the package plugin, did extracted those curves, your loader would be respecting and also carrying them, if I explained well...
here, a wikipedia explanation of the types...(but is no use, as I refer to just bring the curves already extracted by the package exporter, being your function only to keep them...)
http://en.wikipedia.org/wiki/Spline_interpolation
here, screenies of blenders animation curves...The thing here would be taking them imported with b3d file (not in the case of Blender, but for example, Max, LW, or Ultimate unwrap...)
http://www.blender.org/cms/Animation_Cu ... 717.0.html
I know md5 Blender exporter does well the task, and is based I think in blender2java or blender2cal...
md5 plugin works great as an exporter for blender.(CODE included, read the python py file with notepad, wordpad or the like..)
http://home.tiscali.de/der_ton/blender2md5.rar
The blender plugin does allow two very important things I have not seen in other weights formats exporters for Blender:
-it takes in consideration the bone pose module of new blender 2.41 and newer...
-it does get the IPO curves from the bones. I have been now looking at the code of the plugin , altho I don't konw how to program, I can read there a getcurves fro ipos sort of code, so I guess it is doing it, besides I could test that visually...
Unluckily, have not been able to find the Pipeline max plugin source code. What it does is take the curves info and bake as a keyframe per frame and bones.
I have seen many formats bringing the spline info and seen right at the engine....
but tru that I dont know if that's actual spline curves extracted files, or baked from curves to keyframes. In the case of the second case, well, you are already doing linear interpolation. It'd be a matter of the artist to just bake all frames as keyframe per every bone in the model, every frame.
Wether that is or is not more heavy in memory, and cpu or gpu, than using just the really keyframes done (an animator tends to use very few, and then manipulate the curves, it's seen usually better, and no problems arise...but if he bakes it, is seen just as smooth...not if he continues editing after that ) and extracting the curves he did....wel I plainly don't know.
True that I have another data: long ago, did seem to me that half life 2 new smd files, which support well weights and all (opposite to old hl1 files) at least importing back into max...it took all frames keyframed!!! As if the exporter would have done so in its moment, or as if the importer did at import time back into max, is my only doubt.
So, thinking it well, it's already done your loader, just the need of bake for the artist of every bone in every frame...i don't know indeed how heavy is that in HD memory nor for the engine. Have you made a test? or the dwarfes hasnt got all baked?if so, weird stuff is to happen.
But I'd love if loaders and plugins just grabbed the curves info.
Ive heard of , art side, artists not needed to care,just exporting as is,...but with that or performance, you put me in doubt if it's the case that then engine loaders, or even the same exporting plugins of the 3d package...actually "bakes" it all per frame...
I dunno, have I been clear?
Finally making games again!
http://www.konekogames.com
http://www.konekogames.com