buddhi1980 / mandelbulber2

Official repository for Mandelbulber v2
GNU General Public License v3.0
900 stars 115 forks source link

Tool to Share - Mandelbulber to Houdini Animation Editor #698

Closed adrianmeyerart closed 5 years ago

adrianmeyerart commented 5 years ago

Hi guys, sorry for camplaining a bit about the animation system in the last days :-P

I really had to do some edits that I couldn't and editing 100s of single values in a text editor was not an option for me. Hopefully one day Mandelbulber will have a nice Animation System (-;

But till then I build a little Tool that allows full Animation Editing of Mandelbulber Animation in Houdini (-; I know not a lot of users have this Software (even though its for free wth the basic license!!), but for those who dare to give it a try, I'll share the tool.

Just prototyped it today, its working quite nicely. Going to do some cleanup tomorrow and then put it on github.

Little screenshot in advance:

mdb_anim

mclarekin commented 5 years ago

cool!!

"sorry for camplaining a bit about the animation system in the last days :-P ". Not an issue, we are indebted to you for help fixing the padding problem :)

On Tue, Jul 30, 2019 at 5:46 AM Adrian Meyer notifications@github.com wrote:

Hi guys, sorry for camplaining a bit about the animation system in the last days :-P

I really had to do some edits that I couldn't and editing 100s of single values in a text editor was not an option for me. Hopefully one day Mandelbulber will have a nice Animation System (-;

But till then I build a little Tool that allows full Animation Editing of Mandelbulber Animation in Houdini (-; I know not a lot of users have this Software (even though its for free wth the basic license!!), but for those who dare to give it a try, I'll share the tool.

Just prototyped it today, its working quite nicely. Going to do some cleanup tomorrow and then put it on github.

Little screenshot in advance:

[image: mdb_anim] https://user-images.githubusercontent.com/45898930/62069883-91c50900-b239-11e9-834e-7159ba69386d.JPG

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/buddhi1980/mandelbulber2/issues/698?email_source=notifications&email_token=ADBNSHDV3GAC2V2TWKEO6NLQB4UIDA5CNFSM4IHUXYTKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HCDLL6A, or mute the thread https://github.com/notifications/unsubscribe-auth/ADBNSHHZHMDOWW5LX57KXR3QB4UIDANCNFSM4IHUXYTA .

adrianmeyerart commented 5 years ago

Here you go. https://github.com/MeyerAdrian/mandelbulber_vfx_tools

Allows for arbitrary Keyframe or light Animation Editing from .fract Files in Houdini. Then exports back to .fract Flight Animation with per Keyframe Values.

One thing that I didn't implement yet. To visualize the Camera properly in Houdini.

I'm missing one thing there. You are storing 3 parameters for the camera animation main_camera_xyz main_target_xyz main_camera_top_xyz How can I calculate the Camera Transform XYZ and Rotation XYZ from that? What means the main_camera_top_xyz parameter? You are storing the values I need in the EXR Metadata already, so I guess should be easy to calculate. Just need that how you calculate these values so I can feed them to the Houdini Camera.

One other thing I'm still missing for this, how the camera FOV is calcualted... Asked that in detail here (last comment): https://github.com/buddhi1980/mandelbulber2/commit/b6a6c1bfbd8f93edce8e29e5549e2dfeede6bb2e

I'm going to vacation for 3 weeks now. Will post the little Tool in the Facebook Group when I'm back. Maybe someone will find it usefull.

adrianmeyerart commented 5 years ago

PS. I will add more Mandelbulber VFX Tools from time to time during the project. Especially when I have these new Image Layers... So thats just the start (-;

ghost commented 5 years ago

Thanks for the contributions! Why not add them to our repo and become a contributor? Best Regards, coast

On Jul 30, 2019, at 10:01 AM, Adrian Meyer notifications@github.com wrote:

PS. I will add more Mandelbulber VFX Tools from time to time during the project. Especially when I have these new Image Layers... So thats just the start (-;

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

adrianmeyerart commented 5 years ago

Hey. Very welcome. Sure, wouldn’t mind that! Just didn‘t think this would be fitting so much, as the tools i‘m writing are more third party plugins. And not actually coding on Mandelbulber itself. (Which I would actually, if I was into C++. But unfortunately my skills are limited to VFX knowledge and Python and VEX scripting) They will be mostly using Nuke and Houdini. So wouldn’t know where to put my stuff. But sure, if you would like to include it nevertheless, lets do it. Maybe then it would make sense to create a „third party plugin“ or „utilities“ folder?

ghost commented 5 years ago

We would greatly appreciate your contributions. In general, the pattern I’ve recognized across multiple Linux projects is to include a folder in the root directory call “contrib”. Then you make a new sub folder, for example: contrib/newvfx_plugin

On Jul 30, 2019, at 3:47 PM, Adrian Meyer notifications@github.com wrote:

Hey. Very welcome. Sure, wouldn’t mind that! Just didn‘t think this would be fitting so much, as the tools i‘m writing are more third party plugins. And not actually coding on Mandelbulber itself. (Which I would actually, if I was into C++. But unfortunately my skills are limited to VFX knowledge and Python and VEX scripting) They will be mostly using Nuke and Houdini. So wouldn’t know where to put my stuff. But sure, if you would like to include it nevertheless, lets do it. Maybe then it would make sense to create a „third party plugin“ or „utilities“ folder?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

buddhi1980 commented 5 years ago

main_camera_top_xyz is the vector which indicates direction of the top of the camera. When camera is horizontal, then it is {0, 1, 0} (top vector is parallel to y axis). Just two point: camera and target are not enough to fully describe camera orientation. There are enough to describe yaw and pitch of the camera but not roll. To rotate camera you need to move camera target against the camera. Camera always looks toward the target. To roll the camera you need to rotate top vector. It is not an easy math, but this way of defining camera guarantees very well behavior of the camera when pitch angle is high. None of directions is privileged (which is necessary with fractals). When camera is described by angles yaw, pitch and roll, there is very difficult to rotate the camera in animation when pitch is about 90 degrees.

buddhi1980 commented 5 years ago

About camera-target approach it is very similar to this which I learned from Cinema 4D (I worked a lot with this program) https://www.youtube.com/watch?v=-uXctw54wkY There was CameraTarget object defined in the same way as in Mandelbulber and UpVector (in camera options) which defined roll angle.

adrianmeyerart commented 5 years ago

thanks! I'll try to recreate that.

what is your opinion about putting my little vfx tools in the main repo? just wanna do it if you agree. will be on vacation for a bit... cya

buddhi1980 commented 5 years ago

You can create pull request on a way how coast described. Create contrib/vfx_tool directory in root of a repository and put your code there.

adrianmeyerart commented 5 years ago

Done

buddhi1980 commented 5 years ago

I wrote some notes to your pull request. You need to do very small adjustments.

ghost commented 5 years ago

@MeyerAdrian thank you for sharing your code!

adrianmeyerart commented 5 years ago

sure (-; welcome