Some requests ...

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Jedive

Some requests ...

Post by Jedive »

Me and my team started a game some months ago. I am considering to port the game to IrrLicht, but I don't know if I can attach animation to an scene node from different files. In Blitz, we use the .b3d format. We have, for example, a file called "walk.b3d". We load all the characters of the game, and attach the animation in "walk.b3d" to every character, saving a lot of disk space, because I don't have to store the same animation in every model. If this is not suported... will it be soon?

Another interesting request would be native support for Blitz3D .b3d format. The full specs of the format are here:

http://www.blitzbasic.com/sdkspecs/sdks ... _specs.txt

Some screens of the game (Blitz3D version):

http://www.eniac.es/usuarios/asier/drav ... tura10.jpg
http://www.eniac.es/usuarios/asier/drav ... ptura2.jpg
http://www.eniac.es/usuarios/asier/drav ... aptura.jpg
http://www.eniac.es/usuarios/asier/drav ... ptura5.jpg
http://www.eniac.es/usuarios/asier/drav ... ptura6.jpg
http://www.eniac.es/usuarios/asier/drav ... ptura8.jpg
Jedive

Post by Jedive »

Better see the images directly:
Image
Image
Image
Image
Image
Image
vermeer
Posts: 2017
Joined: Wed Jan 21, 2004 3:22 pm
Contact:

Post by vermeer »

Hola , jedive

hey, very nice shots.


Some comments:

-you could easily convert the b3d files to dx *.x files with Ultimate Unwrap (~35$). I have done so, tested that b3d<->x files was quite lossless and good. Done many types of tests. Indeed, tested several types of imports/exports of x files from max, conversions then to b3d in ultimate unwrap, etc, etc.

I don't know...x format would allow them to do what you want to do...hmm..right now I don't know, anyway, I am not a coder.

Someone told me once x files are a mesh with the object coords, other info is the animation (I suppose, joint rotations and traslations in space) , and other info is weight map: the weights. :) ..hmmmm...so...maybe, easier than add a new format, just parsing that info from the x file to combine animation info with whatever the mesh you want...

Don't take me seriously , I am not a coder, so I don't know what I am talking about XD

As you know Mark is adding weights... to the b3d engine.But the format , already have them...so those weights I test often that are well ported from x files to b3d ones.

I model, uv map, texture and animate my models (and don't do the concepts as too lazy ;) ) , so I can only guess the huge work into Century, its world and models.Much sincere congratulations.

I'm here all the time bugging with the importance of x files,(not for anything, is just paranoia ;) (j/k)) in case you did not notice ;) (sure you did)
Jedive

Post by Jedive »

Hi vermeer :)

Yep, I red in the blitz newsletter that Mark is finally adding vertex weight support in Blitz (and multiplyx2 mode), and i know it was already there in the .b3d format, it simply was not supported by the engine.

Anyway, I have red in these forums that IrrLicht will support pixel & vertex shaders, and i am interested in the Linux support (maybe compiling the engine in MacOSX is also possible?).

I have loaded the models perfectly in IrrLicht using the .ms3d format. The problem is that this format does not support 2 sets of UV coordinates, so I cannot add a lightmap. This format does not work for maps then. I have tried to load some .x files, but some of them make the program crash, and other are simply not loaded. Maybe the engine only supports DX8.1 format? (I am using DX7 format models). I don't know the specs for the DX8.1 format, but in DX7 there's only one set of UV coords, and no alpha an such information, so i cannot use this for maps. I know DX8.1 format added bone animation, so maybe multiple UV sets are in, i don't know.

I am also hoping for a much better material support. The ISceneNode::setMaterialType() function is VERY poor. I much rather prefer the way Blitz does it, setting the different blend modes and flags for each texture layer in the material, and with 8 texture layers :)

I would also like to see cube & bump mapping supported, and pixel & vertex shaders.

But, the most important thing right now for me is the ability to attach animations to a mesh, loading them from separate files :)
vermeer
Posts: 2017
Joined: Wed Jan 21, 2004 3:22 pm
Contact:

Post by vermeer »

Jedive wrote:Hi vermeer :)

Yep, I red in the blitz newsletter that Mark is finally adding vertex weight support in Blitz (and multiplyx2 mode), and i know it was already there in the .b3d format, it simply was not supported by the engine.

Anyway, I have red in these forums that IrrLicht will support pixel & vertex shaders, and i am interested in the Linux support (maybe compiling the engine in MacOSX is also possible?).
I suppose vertex colors have nothing related to this...vertex shaders. X file supports vertex colors. Niko said the other one thing interesting in x is hsl (?) shaders or something like that .

X file...supports maaany things. So many that several export dialogs for x in 3d packages mess people with so much settings ;)

compiling in macOs...you're speaking to total ignorant in programming.

I have loaded the models perfectly in IrrLicht using the .ms3d format. The problem is that this format does not support 2 sets of UV coordinates, so I cannot add a lightmap.
Indeed.
This format does not work for maps then. I have tried to load some .x files, but some of them make the program crash, and other are simply
I'd strongly advice using panda Exporter for Max 6, and of course, Max 6. In case what you use is Max. If you are talking avout two uv channels, lightmap generation...one the tools I know that do support two uv channels are...

-Ultimate Unwrap (I'm a registered user)
-max

I mean, the more common.
In many ways, Ultimate has become quite advanced...

If u use Ultimate, maybe surely this is your path: Use FSRad 004 freeware for the actual bitmap generation (lightmap) , or the LumeTools of dxlab.tk.Then load that bitmap in the material lightmap tab of Ultimate and you are done.

But I have a feeling you don't use Ultimate Unwrap.

So the path is surely export b3d file with b3d pipeline... After generating the lightmap in max exported in uv channel2.

not loaded. Maybe the engine only supports DX8.1 format? (I am
The engine...Niko knows. ;) I read something about a directx 9 driver, but I don't know... I don't have the dx8.1 or 8.0 specs, and is something I'd like to have for other reasons...But Have found a clue really important for your question ;)
using DX7 format models). I don't know the specs for the DX8.1 format, but in DX7 there's only one set of UV coords, and no alpha an such information, so i cannot use this for maps. I know DX8.1 format added bone animation, so maybe multiple UV sets are in, i don't know.
At least, I know it has 2 uv channels. I was gonna do a search at that "tiny" web of ms, and then thought of looking at the x readme of the x file plugin export, in my Ultimate's folder ,see :

"Export uvsets:
This will export a 2nd set of texture coordinates"

hmmm...that means: x 8.1 (I think is the x he supports, but v8 load perfect in Ultimate, I know as I export Character fx animations into it) does support TWO uv channels.(max terminology, he calls it uv sets)

:)

I am also hoping for a much better material support. The ISceneNode::setMaterialType() function is VERY poor. I much rather prefer the way Blitz does it, setting the different blend modes and flags for each texture layer in the material, and with 8 texture layers :)
Well, that I don't know. But you see: Niko is right now fixing x format. While I like b3d also, I see mroe point on supporting x, as There are actually more packages exporting skinned meshes animations in x format than b3d ones. The fact is with free Bone Collector (I have it in several cds, as it's not available anymore for download??) you can convert also x--->b3d with weights...But never tested that tool. I just use my Ultimate.

I know x format has lots of material settings, but probably what you are seing is the ones Niko has been able to code; indeed the x format in incredibly young in Irrlitch.

About second uv set in x, Ultimate had some issue, fixed the 26th of last month, as now , plugins like b3d and x, neeeded to be replaced: second uv set had problems when exported from it, it does seems now it's solved.

I would also like to see cube & bump mapping supported, and pixel & vertex shaders.
excuse my ignorance, but... If the engine does support bumps (if not doesn't matter the x format doe sor not) , then it'd be a matter of linking whatever the tga (bump map) to the mesh, once in the code. Isn't that just a line or so? I don't know, as I don't code, but...

vertex shaders...I keep not knowing..well, surely is that advanced feature only supported for modern cards (well, now, any) vertex colors..I have seen them used over the textures giving a damn cool efect of extra lighting and smooth overlaying subtle color transparencies. And that is supported by x.
I don't know. That, with a good artist , gives you lots of quality, I have seen it done...

About hsls shaders or whatever the name, that x files have, I don't have a single idea of what they are, but read lately in some place like a a fashion in game engines...

IMHO, the last trend here is concentrate in one unversal and solid format, but wether Niko is likely to add b3d format, that's a thing I don't have the smallest clue. All that above was my crappy opinion :)

But, the most important thing right now for me is the ability to attach animations to a mesh, loading them from separate files :)
[/quote]

with x files, I don't know. With some Irrlitch feature, I either know.

Great help, you can say :)

We may ask some x-box or ms developer... (j/k)
vermeer
Posts: 2017
Joined: Wed Jan 21, 2004 3:22 pm
Contact:

Post by vermeer »

HEY!

Microsoft DirectX 8.1 (C++) X File Format Reference <---click


some more dumb rants of this artist non-coder....

from the irllitch features lists :

"New materials like lightmaps with dynamic lighting."


That not only sounds great, also means lightmaps are handled by the engine. (dynamic lighting...? lights that moves...like..a medieval candle moving and lights moving to create the effect?..yum...)

"Spline animation support."

I have a doubt about if this means spline interpolation, or another quite advanced thing...

sorry, getting off topic, but.."Mouse wheel support" ,means wheel for zoom, hehe, nice...

"Direct3D 9.0 support. Now we have D3D8.1, D3D9.0, OpenGL, and the Software renderer."

Though I read there's a problem with dx9, but don't ask me ;)

"Stencil buffer shadows now also work with OpenGL." always wanted to know which means every flavour of shadows out there...I can paint them in oil, for sure, but not idea of those names...XDDD

you asked alpha?

"Alpha blending Support 100% Complete Draws transparent geometry"

"Multitexturing 100% Complete Possiblity to combine 2 or more textures"

I know you spoke about 8 textures, but if the engine supports 2, then the point is not this format or the other, but the engine.

Heh, tell ur artist to blend the 42.000 layers to make a texture in Photoshop, and flaten ;) :D (joke)

No,seriously, I think 2 for texture blending is enough...

heck, I worked in game without that, and dirtier tricks worked...

"Bump map Support 0% Planned Draws 3d geometry texured with bump maps"

oops.Again, not a matter of the format....

MacOs...

"More platforms like MacOS are planned, but have not been implemented yet. The Engine works with all supported platforms the in the same way, the programmer only has to write his game/application code once, and it will run on all supported platforms without the need of changing one single line of code."


and let's see what can I paste about animation... :D

" * Morph target animation: Meshes are linear interpolated from one frame to the next. This is how it is done in the Quake game series, and how the Irrlicht engine does it when importing .md2 files.
* Skeletal animation: A skin is manipulated by animated joints. The Irrlicht Engine will do this when loading .ms3d or .x files. It is easily possible to attach objects to parts of the animated model. It is possible e.g. to attach a weapon to the hand of a model, which will be moved as the hand moves, with only one line of code."

hey!

"Dynamic shadows using the stencil buffer"
You don't have that in Blitz3d unless you purchase swifft system, ain't it so? :?:


not sure if you have this in blitz...
"Customizeable Particle systems for snow, smoke, fire"

I am not comparing systems, it could not be done. And way even less by a crappy artist :) Just trying to see advantages you'd have in your future work porting the game.

"Realistic water surfaces"...

hey, I know this gets to be really nice (in the artist side I can comment a bit) "environment mapping"

As this usually rocks for metals. It's absolutely great for them.

many other features, plus you have access to all the code...

Just would like to see your game in irrlitch :)

About the exchangeable animations, I don't know...

but if we are forgetting the engine, only talking strictly about the format comparison (x<--->b3d) well..I either know, reading now a bit of the file format specs at dx section in ms..the link up there....

Who knows...it has a thing called "AnimationSet"

You may perhaps be able to use it to exchange between different meshes...

"Contains one or more Animation objects. Each animation within an animation set has the same time at any given point. Increasing the animation set's time increases the time for all the animations it contains."


in materials, I suppose dx9 is way more advanced... I see here "emisive" "specular" "power" "facecolor" ...I suspect what they do for artist "knowledge" I have.

euh, yes, x file seems to support vertex shaders...or at least, directx...


I don't know, I suppose as you can do all with c++, you will be able to mix animations and mesh independently..

I mean, if you can do somecode to replace the mesh vertices (uv vertices, etc) and the skinweights for it, with a new mesh vertices chunk, and its skinweights...hehe...an artist always think coding is "cut&paste" ... :D

"D3DXWeldVertices"

nice command :)

about exporting from Max, I'd advice Max 6 as Panda Exporter is heading mainly to focus on Max 6 version, and is the latest. Also, look here at these forums, as I made tests with the max5 trial, and put the settings that worked finally with panda. Still there are issues though inside Irrlitch, which Niko is solving. But the fact is Panda works. Also tested recently with Max6 trial (amazing) and worked nicel, again, basicly same things to note.

Dig on these forums, i am quite disordered, but I mainly focus all my posts in x format :)
VeneX
Posts: 228
Joined: Sun Nov 30, 2003 3:32 pm
Location: The Netherlands
Contact:

Post by VeneX »

In Blitz basic you still have to write your own engine, it isn't that easy...
Visit my website @ www.venex.be
Plethora project will be added to the site
AMD AthlonXP 2600+, 512MB DDR, Radeon M10 (mobile 9600) PRO 64MB, WinXP
Jedive

Post by Jedive »

Ok, so it seems that DX8 .x files are the way to go. I have to take a look at Ultimate Unwrap, it seems very good. Pixel and vertex shaders are a completely different thing than vertex colors. I think that the most important improvement in games graphical quality in the next years will be due to shaders. It would be cool to have them in IrrLicht, I know that Ogre and NeoEngine currently support them.
Jedive

Post by Jedive »

In Blitz basic you still have to write your own engine, it isn't that easy...
Blitz Basic is very old an unsupported. Currently, the new line of Blitz languages is Blitz3D (like the old Blitz Basic, but with a good 3D engine), and BlitzPlus (the old 2D commands with native GUI controls). I am currently using Blitz3D for the game Century, the shots on the previous post have been made with that.

vermeer, when i requested some things, i was not talking about adding them to one or other file format, i was talking about engine improvements ;)

Ey thank you, you are helping me a lot :)
vermeer
Posts: 2017
Joined: Wed Jan 21, 2004 3:22 pm
Contact:

Post by vermeer »

oh... HLSL shaders niko did mention.... " high-level shader language"

shaders, and seems it allows animation blending (not possible in blitz yet, I think) with some technique.But I suppose that is having to code knowing directx.

for me all these is Klingon language.. .


Panda exporter don't export 2nd uv channel in x export from max. neithe rthe quest plugin. just cause they want it to make it compatible with the more limited meshview utility, and others.

Ultimate Unwrap does support it. But remember: you'd need to download the latest x and b3d plugins, as those specially have problems fixed since 26th feb, specially with 2nd uv set.

Format plugins are appart from main Ultimate 2.15 download, but x, asc , obj and others are included in main. So u need to see in news the link to download the udpated x format and other 3 ones. Besides downloaded the updated b3d format in the main formats list in download section.

read that there's a great tut bout skinn meshed x files at Flipcode, and another at gamedev, in articles.It explains structure and that. Anothe rto parse the x file...

And a cool thing could be neverengine.com Contact the author. He got the way to extract animation from an x file,(posted in flipcode) he also uses x file format in his engine. The file was temporary, so try and ask him to pass you the zip he put , it was the solution to extract animation from x files!

also has available -this zip is actually there- a terrain builder with x export and other things.

Direct x support shaders of both types, but it depends on what the engine will support. I guess you should not be afraid, as graphically I think Irrlitch is already quite, really capable.

contact the neverengine author, if he's kind, I'd expect you'll have good advantage of that :)
vermeer
Posts: 2017
Joined: Wed Jan 21, 2004 3:22 pm
Contact:

Post by vermeer »

great thread about aniamtion inside x files
http://www.gamedev.net/community/forums ... _id=122128


great tutorial-article.Every body recommend it...
http://www.gamedev.net/reference/articl ... le1835.asp


More great threads on this very specific matter...


http://www.gamedev.net/community/forums ... _id=124810

http://www.gamedev.net/community/forums ... _id=103938

http://www.gamedev.net/community/forums ... _id=149551



code and explanations but based on dx9...I hope we all stick to something compatible with v8 , 8.1 too, as most packages are exporting to v8.x ...
http://www.moon-labs.com/ml_resources.htm
Guest

Post by Guest »

Interesting links.

I wonder if niko has read this post, i would like to hear a comment from him about the requester i made to append animations and that. This is currently stoping me to port Century to IrrLicht.
Jedive

Post by Jedive »

hmm the previous post was mine
Jedive

Post by Jedive »

nothing about this? niko?
niko
Site Admin
Posts: 1759
Joined: Fri Aug 22, 2003 4:44 am
Location: Vienna, Austria
Contact:

Post by niko »

Anonymous wrote:I wonder if niko has read this post, i would like to hear a comment from him about the requester i made to append animations and that. This is currently stoping me to port Century to IrrLicht.
It is possible to exchange animations between .x files, but Irrlicht does not support this currently directly. It simply loads the animations which are in the .x file of that mesh. But there is a workaround: I think Mview.exe, which is part of the DX9 SDK can modify and add animations in .x files. And if that is not enough, you can manually copy them between .x files, using a simple text editor. The animations are stored at the end of the file, so one simple copy and paste would be enough.
About all the other stuff like pixel and vertex shaders: They are planned, as I already wrote about one hundred times in this forum, I think. :)
Post Reply