This annoys me so much. I’m trying to get an animated 3D-model into Papervision and I thought it would require:
- Building a textured 3D model in Cinema4D
- Animating the model
- Exporting it as Collada
- Importing it into Papervision
Yeah. Nice thinking. Making the model is pretty straight forward, easier than I thought, but that’s just where the problems start.
1. Building the Model
Texturing is alrady a bit of a problem. First you’ve got to unrwap your model, outline the texture and export it so you can edit it in Photoshop. C4D even conveniently saves your texture as Photoshop .PSD-file (though PV3d hates those, so one’d rather stick with PNGs and JPEGs). Here’s a tutorial that explains everything nicely. Exporting the model gives you a properly textured PV3D-compatible Collada .DAE (Tutorial on how to import).
However: Papervision doesn’t accept multiple UV-mapped materials, so you’ll have to combine your model into one object and make one texture for all of it… But if you do that, you can’t animate your model anymore. Here’s a class that seemingly repairs C4D’s Collada exports, but it didn’t work for me.
You could try to build different objects and map each of them with normal textures, which PV3d surprisingly understands, but I haven’t tried it with anything more complex than 2 textured planes. Animation of course doesn’t work if you do it this way, why should it.
2. Exporting Animation
This sucks. While C4D’s Collada exports seem to contain animation, they somehow don’t arrive properly at PV3D. First thing to mind is that you can only use linear transitions, but even that didn’t help me. Moving vertices, the only way to animate objects if you reduced them to a pulp (see 1), doesn’t work. Pv3D says that there is animation description in the .DAE, but it only shows the status you’ve last had in C4D and DAE.play(); doesn’t do anything.
Moving normally textured objects doesn’t work either: the moving object isn’t even shown and PV3D doesn’t trace any info about animation in the .DAE. Weird. Some people seem to get past what I’ve managed, but frequently moan that rotations and transitions or a whole axis is ignored. Same thing seems to happen if you use Blender, which, btw., ignores C4D animation; so going through Blender is no option either.
Still to come: Controlling the animation
DAEMC seems to be a good class to control DAE animation (if I were to even get animation into DAEs), but the development has stopped and it’s only compatible with PV3D rev 911 and below. The author says one should move to Away3D, but a quick Google Search doesn’t really look promising at all.
Another alternative would be to use MD2-Models… Quake II models format from those ancient times where PCs had less than 200 MHz. That seems to work reasonably well with Papervision, but then there’d still be the problem of creating MD2-files. I’ve found a C4D-MD2-Converter, but it’s from 2005 (!!) and you’d need a Windows PC for it, which I don’t have. Milkshape also builds MD2-Files, probably I could also set up the different animation sequences there… but it also requires a PC and doesn’t even support Cinema4D. I might try and check if Cast3D helps, but then again: I’d first need properly textured and structured models, or don’t I?
There seems to be no proper and straight-forward approach to building animated 3D-models for Papervision. 3ds Max seeeems to be better supported, but I’d still need a PC for that (Oh, yeah, and 3ds Max, of course). Damn it.
The stupid approach…
… would be to skip building the models with 3D editors and just use the primitives PV3D provides. Cones, Cubes, Planes, etc. and script the animation by hand.
Even further down the road:
When I somehow survived all problems stated above, I’d still need to dynamically change materials and get dozends of low-poly models running smoothly. Urrrrgh. Is it hopeless?
Update: Yes it is. Animation only works with 3ds Max.