Jump to content
Hash, Inc. Forums
Sign in to follow this  
GruberR

Exporting Camera Data

Recommended Posts

OK, after literally hours of searching specs and the internet I just have to post my problem:

 

What I'm trying to do: I want to do a pretty simple animation, a "walk through" through a virtual building. I have the building modelled already and the camera movement is easy enough to animate (constrain to path, look at...) BUT: the scene is supposed to start outdoors and I'd really like to use a nice landscape created by Terragen 2 as a backdrop. To combine the two outputs I would of course need to replicate the camera movement from A:M inside Terragen.

 

Here's the first problem: A:M has an "export" feature on the camera inside my coreography and it writes a "raw" file. Terragen would like to import a "mov" file.

Here's the second problem: A:M always exports 30 entries in the raw file - I take it it's exporting one second with 30fps worth of data, although I've set just about every "duration" and "range" option to 53 seconds and my project is set up for 25fps.

 

I'm capable of writing computer code - so I could build my own convertion tool for the raw/mov conversion but I couldn't find either file specification... Any ideas/pointers? I even tried exporting my building in various formats and place it in Terragen as an object but not a single format could be read.

 

Greetings,

Roman Gruber

Share this post


Link to post
Share on other sites

Inferno (Raw) is an Autodesk format, no? They have no specs on their format?

 

 

The format could be discerned by exporting a file with one known keyframe and a file with two known keyframes and comparing the two.

 

 

Partial other ideas:

 

BVH export

 

 

Did you check these other threads the reference TerraGen?

Share this post


Link to post
Share on other sites
Inferno (Raw) is an Autodesk format, no? They have no specs on their format?

 

I tried several Google searches - but nothing even close to a file format spcification came up. Blast them for using a generic extension like "raw" :(

 

The format could be discerned by exporting a file with one known keyframe and a file with two known keyframes and comparing the two.

 

True, but if somebody has an idea where to look for the specs it would be more reliable. There are a bunch of "0" values in there even though I animated every aspect of the camera...

 

Partial other ideas:

BVH export

 

I didnt even find a way of creating a BVH file from my animaion - the camera only has the "raw" export - which ist simply too short as well.

 

 

Yes, just about any of those. But most (if not all) of them refer to pretty old versions (2005/2006) whereas I'm running current versions of both packages.

 

Thanks for the fast reply,

Roman Gruber

Share this post


Link to post
Share on other sites

Kevin Detwiler (detbear onthe forum) has been moving A:M camera motions to Vue. Perhaps he will notice an dchime in.

 

 

 

 

 

If you RMB on the "Choreography Action" for the Camera you can "Export as Action" which gets you a file like this

 

ProductVersion=15
Release=15.0j+ PC



InstanceCropStyle=InsteadOfCache









StrideStartPosition=0 0 0
StrideEndPosition=0 0 0
PlayRange=0 1:0

MatchName=FocalLength

1 0 70
1 1:0 50



MatchName=Transform

MatchName=Rotate
ParentToBone=0 0 0 1

MatchName=X

1 0 0
1 1:0 0



MatchName=Y

1 0 0
1 1:0 91



MatchName=Z

1 0 0
1 1:0 0




MatchName=Translate

MatchName=Z

1 0 0
1 1:0 -201.903



MatchName=Y

1 0 0
1 1:0 0



MatchName=X

1 0 0
1 1:0 198.457








FileInfoPos=1161

 

 

If you're a coding guy, that may useful in itself.

 

If you re-import that into your Actions folder you can RMB>Plugins>export to a variety of things some of which may be appropriate like BVH or MOT

 

 

I suggest baking (with 0 "tolerance")the camera motion to get it keyed on every frame.

 

I'm sure converting focal length will be an adventure also.

 

If you come up with a practical solution, it would be great to share it here.

Share this post


Link to post
Share on other sites

Well, after countless tries I've downloaded the A:M SDK and took a look at the provided source code (thanks!) - the "export camera as RAW" plugin is hard-coded to export only the first 30 frames! I wonder if anybody has EVER used it... Besides ther's a comment in there: "Dan: finish implementing this" for the depth of field vlaues. It seems that the plugins don't have access to these properties...

 

I'm tinkering around a bit with the format now and have already managed to get my own little export plugin to be loaded and executed by A:M, also I have found out about the format that TG2 uses (.chan) and have successfully created one by hand. Now the last step involves some math to convert the A:M data into suitable numbers for TG2...

 

Greetings,

Roman

Share this post


Link to post
Share on other sites
the "export camera as RAW" plugin is hard-coded to export only the first 30 frames! I wonder if anybody has EVER used it... Besides ther's a comment in there: "Dan: finish implementing this" for the depth of field vlaues.

 

:D

 

I'll guess the "Dan" was Dan Tiedy.

 

Current whereabouts unknown.

 

 

If you can make something that exports a "standard" that can be used with programs like Vue or Particle Illusion (or terragen) that would be great.

Share this post


Link to post
Share on other sites
If you can make something that exports a "standard" that can be used with programs like Vue or Particle Illusion (or terragen) that would be great.

 

OK, I don't know if it's "standard" but it works with Terragen 2 (I have a licensed version that supports animaion and full resolution renders, I don't know off hand if the free version supports animation)

I decided to slightly modify the provided "RAW" export plugin. The math might be incedibly funny and complicated (hey, I'm no math major :rolleyes:)

 

BUT: I have a little problem here. When I call the "SaveRequest" function to prompt for a filename, AM becomes unresponsive AFTER the user selected a filename. I have validated it, no other plugin code after the call gets executed. On a related note, if the user cancels the selection, AM will call the plugin nother two times. I might have missed a setting in Visual Studio (I use 2008 by the way) but since every other operation works fine, I doubt it.

 

Attached is a quick test-render, combined with Premiere. One of the frames didn't render in TG so there's black background for a bit....

post-2131-1268706349_thumb.jpg

 

Greetings,

Roman

Share this post


Link to post
Share on other sites

Wow, that looks nice. I wish I could help on the coding front, but I don't know know c++ :(

Share this post


Link to post
Share on other sites
BUT: I have a little problem here. When I call the "SaveRequest" function to prompt for a filename, AM becomes unresponsive AFTER the user selected a filename. I have validated it, no other plugin code after the call gets executed.

 

Not seen this yet .

Maybe You should try to link with the actual libs (VS2008) A:M 150 SDK

 

 

On a related note, if the user cancels the selection, AM will call the plugin nother two times. I might have missed a setting in Visual Studio (I use 2008 by the way) but since every other operation works fine, I doubt it.

 

The return value from a plugin must be always true , didn't remember correct, when this was changed , I think V14 or earlie V15 .

Share this post


Link to post
Share on other sites
If you can make something that exports a "standard" that can be used with programs like Vue or Particle Illusion (or terragen) that would be great.

 

Vuepython (camera,light,chor export as python script)

Pimotion (described on my website ..)

Share this post


Link to post
Share on other sites
Not seen this yet .

Maybe You should try to link with the actual libs (VS2008) A:M 150 SDK

 

I have discovered an issue with an "AFX_MANAGE_MODULE_STATE" (cited from memory) it works now. Don't know which sample I used to copy/paste that line but it was wrong.

 

The return value from a plugin must be always true , didn't remember correct, when this was changed , I think V14 or earlie V15 .

 

I have changed that as well. But it's still a strange way of handling a "false" return value IMHO.

 

Greetings,

Roman

Share this post


Link to post
Share on other sites
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...