PDA

View Full Version : C4D coordinate system data


mikeh64
04-03-2007, 06:24 PM
I have a client who has a proprietary system for combining photos with rendered footage - and he wants 3D footage. However, I would need to provide him with 3D position data in order to aligh the photos with the 3D (just like the after effects exchange does).

he says he has: "My camera is looking at 0,0,0 in 3D space. The range in each direction is -1 to 1 with a left handed coordinate system. My eye point is at (0,0,-0.023). A 4:3 photo at 0,0,0 is full height/width in the view"

(and he included the attached file)

Is there any way I can give him 3D postion data from C4D? He has looked at a C4D-generated ".aec" file used to go to After Effects, and says that does not help him.

Thanks for any insight.

Mike

Srek
04-03-2007, 08:30 PM
CINEMA 4D is using the coordinates system you show in your attachement.
The CINEMA 4D coordinates should be directly transferable.
Either export in VRML or any other ASCII format, or export the points of an object as a csv file
Cheers
Björn

mikeh64
04-03-2007, 09:40 PM
thanks srek - I'm glad it seems like this might work. however, I'm stuck on how I'd actually get this info out of C4D and to the client. I feel like I could figure out how to define a single moment in time, but not a complete animation.

I have attached an example file - what is the process for getting the animated position data of the 3 "canvas" objects into the format that the client's machine will like?

thanks

mike

RickBarrett
04-03-2007, 11:22 PM
Well, exporting using VRML will give you the animation data for the null, not each child.

If you want the children (and it looks like you do), I think you need a script/plugin. Attached is an example script that exports the global position of objects with an External Compositing tag at each frame. I'm not sure if you need rotation too - that could be tricky depending on whether his system uses HPB or XYZ rotation.

Keep in mind I didn't take the time to test this script very well. Also, this won't be able to export the positions of generated objects like the Array or Cloner (same limitation as the aec export basically).

Anyway, hope this helps.

- Rick -

RickBarrett
04-03-2007, 11:44 PM
OK, so I just realized I basically gave you a script that writes the same thing as the AEC export (doh!), so I guess the question is why the AEC export won't work. Does he need the rotation in HPB instead of XYZ? Or does he just need it formatted differently? Or is the AEC unworkable for some other reason?

- Rick -

RickBarrett
04-03-2007, 11:54 PM
OK - learning to read - sounds like he needs all the values remapped to a max of +/-1. But what is 1? Is it based on screen space? If so, I think it might require a jump up to the C++ SDK. Maybe it's more complicated than I initially thought, or maybe I'm just being dense.

Srek
04-04-2007, 06:31 AM
I would try it with csv. Convert the animation paths to a spline and export the spline via csv.
In Excel check for the largest and smallest value on any axis. This should give you your boundary. Then adjust the data to fit in this range (simple multiplication and offset), or if the positions are already correct only a multiplication to adjust scale.
At best set it up in a way that you can modify the scaling factor easily to adjust to the clients needs.
Cheers
Björn

mikeh64
04-04-2007, 03:17 PM
thanks rick and srek

rick, I sent you a private message about this with a request

CGTalk Moderation
04-04-2007, 03:17 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.