Poser .B3D exporter?

Blitz3D Forums/Blitz3D Programming/Poser .B3D exporter?

Grasy(Posted 2002) [#1]
Is there no way to reduce the polys in Poser?


RocketGnome(Posted 2002) [#2]
Maybe export to lightwave or 3DSM and use the "reduce poly's" functions?

Though I hear the export to these are a bit mangled in the way poly's are glued together.


WendellM(Posted 2002) [#3]
Thanks for the MilkShape BVH importer tip, bradford6. The free version is still out there at http://www.fileplanet.com/index.asp?section=1429&noloop=1&file=62995 - I got it a couple of days ago and have only tested it out briefly, but it looks like it does the job.

Poser does include some "low-poly" models (low relative to its default, high-poly ones). I tested some in Blitz a while back and found the speeds acceptable when repeatedly rescaling eight of them on-screen at once:

Poser3 (28,820 triangles each) = 11 FPS
Poser2 (17,538 tri's) = 16 FPS
P4Lo (4,410 tri's) = 69 FPS
P2Lo (4,170 tri's) = 74 FPS
Poser1 (3,436 tri's) = 85 FPS


Ariel(Posted 2002) [#4]
You could also run them through "Decimator" if you have that.. it seems to work pretty nicely for reducing polygons...


ping(Posted 2002) [#5]
@WendellM - could u send me the BVH-importer file
PLZ
:)
cp@...


WendellM(Posted 2002) [#6]
It's on the way, ping.


Doggie(Posted 2002) [#7]
Whoa. A 150 minute wait to download. Care to mirror that somewhere. Or kind enough to e-mail it to me also?
dinman55@...

Doggie


WendellM(Posted 2002) [#8]
Yeah, FilePlanet can be annoying... Mirroring makes sense, Doggie, so it's now available at http://webpages.charter.net/yamato/msBVHImporter1.01.zip - I've also emailed it to you.


Doggie(Posted 2002) [#9]
Much Grass Amigo!

Doggie


Jay Mattis(Posted 2002) [#10]
So, what do you do to use poser models? (I'm REALLY stupid at modeling) Export the model from poser as which format? Then, I'm assuming you export the BVH as well. Load the BVH and the model you exported from Poser into MS3D, remap the BVH to the model and then export as B3D?


WendellM(Posted 2002) [#11]


The skeleton conversion went much better than Casual Man. It's a lot easier to assign joints and bones using an actual skeleton, and it was a good learning experience. The files are larger this time, so they're available separately:

SkelWalk.ZIP - contains SkelWalk.b3d (converted from Poser via MS3D & CFX) and SkelWalk.bb - about 280 K
SkelWalkCFX.ZIP - contains the finished CharacterFX version - about 860 K
SkelWalkMS3D.ZIP - contains the raw MilkShape 3D version - about 615 K

All this made for a fun and productive Saturday - in some ways, Blitz projects are great games in themselves!


Lee-m(Posted 2002) [#12]
Any chance of a quick tutorial for idiots (that would be me) ?


WendellM(Posted 2002) [#13]
I'm heading into work now, but yes. I can put a tutorial together when I get home and post a link, with some other neat stuff I've come across since doing the skeleton. (BTW, I don't think anyone is "stupid" or an "idiot" about all this - it's just a bit tough if you aren't familiar with it :) )


EbolaBoy(Posted 2002) [#14]
I am looking forward to your tutorial Wendell, this one of those 'all important pieces to the puzzle' needed for my current project.

For those of you unfamiliar with Poser, the poly-count of their models is generally too high for use in most games (don't forget about copyright issues as well) but there is nothing stopping you form importing your own low-count models and assigning bones to them just as you would in CFX. It is a bit of work and the 'ProPack' makes this process easier but is not necessary.

As you can see with Wendell's examples, just using it for the 'Walk Designer' is well worth the effort. Animating a good walk cycle is a nightmare by hand!

Once the Blitz's weighted verts come into play, things will be even better! ...Mark? ^_^

- EbolaBoy


WendellM(Posted 2002) [#15]
Whew, creating a tutorial like this really makes me appreciate Psionic, Krylar, and all the others who have made such good ones for Blitz programmers in the past! Theirs are so thorough and well put-together compared to this first effort. :)

Anyway, this is a summary of how I created the SkelWalk files above. It's a little rough around the edges, but will hopefully help others in getting started.

Poser, LithUnwrap, MilkShape, CharacterFX Tutorial

If it gives anyone problems or you see errors in it, please let me know. It uses the "detailed" way of assigning vertices in CFX - it's also possible to select a named section of mesh and assign all its vertices to a joint at once, the same way you can in MilkShape. That works nicely for a skeleton, but not well when there's flesh and clothing involved. So, I demonstrate the "picky" way of doing it.

I'm continuing to learn new things to do in Blitz with .BVHs and .B3Ds originally from Poser. I'll see if I can't put them together into a nice demo in the next few days.

I'll be interested to see what you're doing, EbolaBoy. I'm glad I'm not the only one who saw bones in Blitz and thought, "Poser should work great with these!" :)


Lee-m(Posted 2002) [#16]
Thanks ! I really need to start learning how to model, so I can get a tech demo of my game some time soon lol :)

Im sure it will be useful to allot of people, you submited it to blitzcoder too ?


WendellM(Posted 2002) [#17]
You're welcome, Lee; good luck with your game. I'd like to tidy it up a bit and add more on MilkShape and Blitz before giving it wider exposure - it's a "beta tutorial" right now. :)


Lee-m(Posted 2002) [#18]
Anyone know where any were I can get the free verson of lith unwrap ? the new shareware version doesn't allow saveing :(


WendellM(Posted 2002) [#19]
Anyone know where any were I can get the free verson of lith unwrap ?


I've made it available at: http://www.petesprint.com/~wendell/LithUnwrap1.3.zip (488K)

Though it no longer seems available on the 'net, its readme states: "This program is free! Gratis! Frei! Libre! Libero! Vrij! You are allowed to distribute this program freely as long as it is not for profit."

Oh, and while checking the MilkShape BVH importer's text file to make sure it's OK to mirror ("This plugin is Shareware, but it is not crippled in any way, and will not time-out. If you find this plugin useful and it meets your needs then you should register on the following secure server: https://www.regnow.com/softsell/nph-softsell.cgi?item=5291-2") I also read, "DON'T MOVE THE SKELETON!! Scale and move your mesh to fit the default pose instead of moving the bones. If you move the skeleton, the animations won't match up." So, even though it *seems* to work, quite possibly my tutorial's method of adjusting the skeleton to fit the mesh isn't the best way to go.... I'll look into this.


bradford6(Posted 2002) [#20]
It really is much easier than all this guys.


1. create animation set in poser export to BVH

2. import BVH into Milkshape

3. model character and export to MS3D format

4. import into Character FX and attach the mesh to the bones.

you can play with the weights in CFX to make the skin look better


WendellM(Posted 2002) [#21]
Bill,

In step 3, are you talking about creating a new mesh from scratch in MilkShape? What I'm trying to do is use an existing Poser mesh and get it to animate as well as it does in Poser. Have you had luck getting Poser-quality (i.e. Poser's idea of "low-poly") meshes with flesh/clothing to animate well in Blitz?

You mention playing with the weights in CharacterFX: does the .b3d format take weights into account? I'd read that it uses rigid assignments from a single joint rather than multiple weighted ones (and in the case of multiple ones, just assigns the strongest one). I haven't tested this, however. Have you verified that weights are used in .b3d models?

Please reply, even with uncertain findings. If you've found a better way to do any of this, I'd love to learn the details. This is new territory, and I'm just feeling my way along (no doubt making mistakes as I go).

---

As for moving the mesh, rather than moving the skeleton joints, I did a quick redo of Skeleton Man, and it looked much the same animating in Blitz as the first version (though the collarbones seemed a bit off). I also tried redoing Casual Man, quickly assigning mesh groups to joints with the same name in MilkShape, rather than doing vertex assignments in CharacterFX. I'd previously tried this in MilkShape, and while it was *much* faster to create, it didn't look as good: the joints showed right-angle bends rather than smooth curves. While I saw these same artifacts in the redo (as expected), the overall joint movement didn't seem noticably different (which is what I was looking at). So, further testing seems required to verify if moving the BVH skeleton really is a no-no.


Lee-m(Posted 2002) [#22]
thanks WendellM, your the man !


WendellM(Posted 2002) [#23]
The procedure you describe sounds essentially correct, Jay. At present, here's what I'm doing:

Animate model in Poser.
Export .bvh from Poser.
Scale mesh 10,000% (Poser meshes seem to be *teeny*) and export default pose (standing upright, arms out to sides) from Poser as .obj.
Import .bvh and .obj in MilkShape.
Export together as one MS3D ASCII file.
Import MS3D ASCII into CharacterFX.
Tweak bones and attach to mesh (before animation, since .bvh shifts vertically when animated).
Fine-tune animation and export as .b3d.

It should be possible to adjust the bones, assign them in MilkShape, and export .b3d from there as you mention; I just prefer CFX myself. I'm not certain that .obj is the best format for the mesh; it's just the first one I got working.

Here's a .b3d version of Casual Man from Poser (~750 K, includes MS3D and CFX files as well), still rather crude but presented for what it might be worth to others getting started. The MilkShape file (a combination of the .bvh and .obj exports) has some mis-assigned materials, but I only used it as a bridge to CFX. The CharacterFX file still has several rough spots, but it's good enough for a test. The Blitz3D program is a simple loader and viewer.

The result: a reasonably convincing figure walking along, no doubt heading to an doctor to have his shoulders looked at. ;) The material of the shirt gave me problems assigning the shoulder regions to the proper bones. The next test will use a Poser skeleton or nude figure to avoid the problems of clothing (hmm, I think I'll use a Poser _female_ for that one... :) ). Once that's sorted out, it should be easier to deal with the complications of clothes.


WendellM(Posted 2002) [#24]


Here's a pair of demos showing how BVH animations can be copied from one .B3D model to another: SkelDuplicate.ZIP - 284 K
(Also required is SkelWalk.ZIP (279 K) if you haven't already downloaded it - be sure to unzip both into the same directory.)

The first demo (SkelWalk duplicate) shows a somewhat-improved Casual Man copying walk animation from Skeleton Man. The "intensity" of the motion can be increased, decreased, or even reversed (going too far in either direction produces bizarre results). This shows how a .B3D model can copy another's animation instead of using its own. It also shows how models with different names for the joints can be used together (in this case, the two models use the same names, but if they were different, changing the names used by FindChild would make them both refer to the same joint).

The second demo (Dance duplicate) shows Skeleton Man copying dance animation from a simple cube. I needed some mesh in the scene to convince MilkShape to export the file - it wouldn't export just a BVH skeleton/animation, but the cube serves no other purpose; the BVH isn't even attached to it. This is a quick & dirty way to import BVH animation without writing a Blitz loader (the cube could be hidden). It also shows how animations can be modified in Blitz: the arms were too far back, so TurnEntity is used to move them forward.

In both of these demos, the head and hands can be enlarged/reduced in size, just for fun. :)


eos(Posted 2003) [#25]
Is there any way to export de texture?


WendellM(Posted 2003) [#26]
Wow, is this an old thread! :)

The technique I used was just:

man2=LoadAnimMesh("casualman.b3d")
tex2=LoadTexture("casualman.jpg")
EntityTexture man2,tex2

That worked fine except for the eye pupils, which weren't textured, so the guy looks like a zombie. Since then, I was drawn away from Poser by other aspects (the ship for the crew to be in), so I never got around to trying to solve the eye problem.


mearrin69(Posted 2003) [#27]
Well, since this was dredged up from the depths...what's the deal with licenses for the poser models? The manual says there's some redistributable content but that most is for your use only - except renderings, etc.

Anyone looked into this? Just curious, I don't have it installed right now or I'd check myself. Thanks.
M


WendellM(Posted 2003) [#28]
Which version of Poser do you have that mentions "for your own use"? My Poser 4 user guide goes on about the "Program" but I don't see anything specifically addressing the models. The closest match is "E. Any portion of the Program merged into or used in conjunction with another program will continue to be the property of the Company [...] You must reproduce and include Company's copyright notice on any portion merged in or used in conjunction with another program."

So, it *sounds* like if you use a straight Poser 4 model (if that's indeed part of "the Program") in your game, you'd just need to include the Metacreations copyright info somewhere (however, Curious Labs later bought the rights). In the front of the user guide, Zygote is credited with creating the models, but there's no copyright for them - only the overall copyright for Metacreations. But, I am not a lawyer (thank the stars).


jhocking(Posted 2003) [#29]
I've not played with it much but Ultimate Unwrap also has a bvh importer and can export animated b3d models. This may or may not be useful instead of Milkshape however because there is no direct way to get from Ultimate Unwrap to CharacterFX.


mearrin69(Posted 2003) [#30]
Yeah, this is Poser 5, after the Curious Labs thing. I think it's mixed in with the second batch of legal mumbo jumbo ... there's a EULA in the front and then this is embedded in chapter one or two or something.


fuzzy(Posted 2003) [#31]
Does anybody know if you can import BVH files into 3D max or Maya?