Meshfoot OBJ Sequencer (Release v01a)

Hi All,

I have been trying to find an import path to get exported animations from other packages into Blender for rendering. There is still no FBX import (as of 2.48a) and with the recent discovery of the Rest Pose error for certain BVH files, this prevents skinning of an otherwise fully animated armature.

The only thing left are those useless OBJ sequences that Poser, Grobot, 3DS Max and even Blender export.

With no other import choice available I started to develop Meshfoot for Blender. Meshfoot imports a series of OBJ files and manages them within the Blender environment. Meshfoot, as the name kind of implies, treats a series of OBJ sequences as if they were footage. This means they have a start, an end, and can be time stretched as well. Meshfoot also supports an out-of-range option so when the OBJ sequence runs out you can loop or hold the final frame.

I have completed a first draft of the script and you can download it here. Open up the BLEND file and run the script in the window.

Version v01a has a new feature called “Frame Offset”. After making a couple of objects that all share the same footage, you can use the frame offset slider to offset the starting point of a sequence in time.

I have also uploaded a test OBJ sequence of a horse galloping that you can download and use with Meshfoot. You can find it here:
http://www.sharecg.com/v/34388/3D-Model/Horse-Gallop-(24-frame-OBJ-sequence)

I have test Meshfoot release v01a on Windows XP 64 and OSX 10.5.5. So I appreciate any feedback from Linux users or other OS variations.

I have added some screen shots of the interface and a brief description of the action you should perform at each stage to get Meshfoot up and running. The step order in the images is from top left to bottom right. It’s not that difficult.

STEPS:
1.) Add a footage object using the GUI, give it a name.
2.) Browse to the OBJ sequence (the horse you downloaded) for the newly created footage object.
3.) Switch to the Object TAB.
4.) Add a Meshfoot object using the GUI, give it a name.
5.) Associate the Meshfoot object with a footage object via the drop down box.
6.) Adjust time stretch and out-of-range action.
7.) Press play in the timeline or ALT-A in a 3D window.
8.) Enjoy!:cool:

WHAT CAN GO WRONG?

Q: I see a spindle in my scene and my OBJ sequence never shows up?
A: The spindle is the Meshfoot icon for a Meshfoot object that can not locate it’s footage source in memory for a particular frame. If you see the spindle then you may have to re-browse to the footage source to bring it back into memory.

.

Attachments




meshfoot_release_v01a.blend (592 KB)

Very nice Atom… I whish I had had meshfoot a few days ago. but I guess we can’t download it anywhere yet can we?

Very nice…!
The alien is smooth…

I thought I’d release the mockup GUI script for for Meshfoot. The script is inside the BLEND file, feel free to download and examine the code.

This is my first real attempt to make something other than a barely functional in the GUI display.

The concept behind it is that the screen space is divided into a grid and objects are created on the grid. The premise is a rectangle management system. You can create rectangle, and request a position on the grid and a rectangle will be returned to you. Once you have a rectangle, you can use it’s values to place any standard control anywhere on the grid. I also inverted the Y-coordinate system. It drove me crazy always thinking of Y at the bottom of the screen. There is also an experimental stretch to full screen space feature built into the form (a little buggy on certain sizes).

The example code uses a TAB style interface to allow multiple property sheets. Select a TAB and you get a new set of objects to work with.

More to come!

Attachments


meshfoot_GUI_design.blend (269 KB)

Nice idea, Atom!

I’ve been working on a complicated GUI for a poses and anim control script (now project suspended cause I work more actively on other projects) where I have several interrelated screens of about 50-60 controls :wink: I rganised them differently, not like yourself… and so far they work… NOT in a form to publish it though… I’ll do that later in the year, I hope :spin:

In the beginning of your script, rows 16-27 can be replaced by your row 23 -

from Blender import *

I think this will be sufficient cause the math module is ALWAYS available and there is no need to import it explicitly. Other rows are simply included in the statement at row 23… I think :wink:

Regards,

Oops, sorry… You truly need to import math module in BLENDER. It’s not needed when you’re making a python program outside BLENDER.

I have finally got Meshfoot to work with multiple objects in the same scene. I have also implemented footage sharing for objects. So if the OBJ sequence is in memory, any number of Meshfoot objects can access and sample the OBJ sequence at various rates.

To my pleasant surprise, Meshfoot worked with the array modifier without any additional coding effort. I can’t wait to try it with the particles system!

I have posted videos here:

Alien Dive Roll:
http://vimeo.com/4268287

Robot Golf Swing:
http://www.vimeo.com/4285763

Two Horses:
http://www.vimeo.com/4400136

Horse with Array modifier:
http://www.vimeo.com/4411609

Attachments





I finally got the out-of-range action types in place. When the OBJ sequence runs out of frames it can do one of three things. One, hold the last frame. Two, loop. Or three, ping-pong back to the start frame.

This video demonstrates the ping-pong out-of-range action for a ninety frame Groboto Auto Morph Bot.
http://www.vimeo.com/4436034

Once again, I cringed, as I applied a subsurf modifier for the first time to a Meshfoot object. To my amazement, it worked! I expected Blender to crash because I am changing the underlying link to the mesh it is subsurfing every frame. But Blender holds true and does not leak memory or crash. This leads me to the conclusion that Blender modifiers must fetch the mesh data for the object they modify on a per-frame basis.

Attachments


Nice. Groboto is an interesting app for sure.

Atom,

it looks really interesting!
Just curious: have you tried it by chance with mograph?
The latter example seems to be mograph stuff…

If Mograph can export a .OBJ sequence, then Meshfoot can manage it. I don’t have C4D to test that, however.

I have been conducting more tests on Meshfoot and exported OBJ sequences from Poser. This lead to minor changes in the script and I have release it as v01a. In version v01a, you can now use OBJ sequences that do not start at frame #0. This is important for Poser users because a lot of the time you are exporting only a portion of an animation. So you end up with a range like 123-345. Meshfoot now works with such OBJ sequences. You must specify the starting frame before you browse to the footage or you will get an import error.

Version v01a also supports a new feature called “Frame Offset”. It does what the name implies. It offsets the frame to display by the slider amount. This allows clones to start at a different point in time relative to their neighbors on the timeline.

I decided to max out memory just to see if I could crash Blender. Nope, Blender does come to a crawl when you exceed your physical memory, but it has not crashed as of yet. So best practical use of Meshfoot is to keep your OBJ sequence memory usage within the limits of your installed physical memory.

My most recent animations involves the freely available Zuni Doll for Poser.

You can view it here:
http://www.vimeo.com/4520856

Attachments


Hey Atom, I’ve gotta problem with your Meshfoot. When I’m trying to make step 1 from your short instruction (clicking ‘add’), nothing happens! Just nothing. Even console doesn’t show anything.

Maybe I did something wrong? I’m using the newest version of Blender (248.1), I just downloaded file and opened it.

I need to get your script work, it’s the only way for me to get a mesh animated in Maya to be exported to md3 from Blender. And you’re my only hope :frowning:

That is odd? So you are saying it does not ask you for name when you click the Add button?

I think you had downloaded meshfoot_GUI_design.blend link. I had the same problem at first but then I downloaded Atom’s program from the first link posted in this thread. i.e., meshfoot_release_v01a.blendand everything worked well.

Hi Atom,

If you don’t mind my asking; is there a Meshfoot version for Blender 2.5 anywhere please?

Thanks for your time and scripts!

Hi Atom,

I would be also highly interested in a Blender 2.5 version of your Meshfoot script. Do you have any plans to port it?

Anyway, thanks a lot for providing the Blender 2.49 version, which I am using pretty often! :slight_smile:

Hi guys,

I’ve been wondering whether it would be possible to ‘hack’ the fluid simulator to also import animated obj’s. The fluid simulater reads and writes zipped bobj’s which is a binary format of obj. So a tool that can convert your obj’s to the suitable bobj’s might make it possible to load up those meshes too. Nowhere near as much control as Meshfoot obviously but it might still be enough in certain situations till Meshfoot is ready.

Did it cross anybody else’s mind?
Someone preferably more competent than me at giving it a shot? :wink:

@ilac and nst: With the release of my new AddOn: Install Frame Change Event, a version of Meshfoot 2.5 is quite possible.

nice models man