{"id":77,"date":"2017-02-06T20:00:25","date_gmt":"2017-02-07T01:00:25","guid":{"rendered":"http:\/\/www.vicdebaie.com\/blog\/?p=77"},"modified":"2017-02-21T22:21:14","modified_gmt":"2017-02-22T03:21:14","slug":"motionbuilder-python-where-to-start","status":"publish","type":"post","link":"http:\/\/www.vicdebaie.com\/blog\/motionbuilder-python-where-to-start\/","title":{"rendered":"MotionBuilder Python &#8211; Where to start"},"content":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" class=\"alignleft\" src=\"https:\/\/i0.wp.com\/farm8.static.flickr.com\/7799\/16697171583_7c33584c4b.jpg?resize=234%2C156&#038;ssl=1\" width=\"234\" height=\"156\" data-recalc-dims=\"1\" \/><\/p>\n<p>Finding information for Python scripting in MotionBuilder can be an uphill battle. Here is a list of some of the resources that I have been able to find (thanks google). A lot of the listed links have valuable scripts in which one can hack through and decipher what each line of code does, this can be a grueling task but also very rewarding.<\/p>\n<p><!--more--><\/p>\n<h1>Links:<\/h1>\n<ul>\n<li id=\"caas-title\" class=\"caas__title caas-content-result-mt\">MotionBuilder Help 2017:\u00a0<a href=\"https:\/\/knowledge.autodesk.com\/support\/motionbuilder\/learn-explore\/caas\/CloudHelp\/cloudhelp\/2017\/ENU\/MotionBuilder\/files\/GUID-94E0621E-E903-428C-AC26-DBA4F827AB7E-htm.html\">Accessing Python tools<\/a><\/li>\n<li class=\"caas__title caas-content-result-mt\"><a href=\"http:\/\/docs.autodesk.com\/MB\/2015\/ENU\/MotionBuilder-Developer-Help\/index.html#!\/url=.\/files\/mobu_sdk_landing.htm\">MotionBuilder SDK Help<\/a><\/li>\n<li class=\"caas__title caas-content-result-mt\">MotionBuilder Python Scripting Reference Guide (pyfbsdk)\n<ul>\n<li class=\"caas__title caas-content-result-mt\"><a href=\"http:\/\/docs.autodesk.com\/MB\/2015\/ENU\/MotionBuilder-Developer-Help\/index.html#!\/url=.\/py_ref\/modules.html\">Modules<\/a>\u00a0(Bookmark it!)<\/li>\n<li class=\"caas__title caas-content-result-mt\"><a href=\"http:\/\/docs.autodesk.com\/MB\/2015\/ENU\/MotionBuilder-Developer-Help\/index.html#!\/url=.\/py_ref\/examples.html\">Examples<\/a>\u00a0(You will be dissecting these examples a lot)<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"http:\/\/docs.autodesk.com\/MB\/2015\/ENU\/MotionBuilder-Developer-Help\/index.html#!\/url=.\/py_ref\/examples.html\">Alex Forsythe<\/a> has an amazing intro to MotionBuilder Python Scripting<\/li>\n<li>Sergey Solohin runs an awesome blog called <a href=\"http:\/\/neill3d.com\/\">Neill3d.com<\/a> which he has an amazing <em><a href=\"http:\/\/neill3d.com\/en\/motionbuilder\/scripts-for-motionbuilder\">Scripts for MotionBuilder<\/a><\/em> section.<\/li>\n<li><a href=\"http:\/\/www.tdhendrix.com\/\">Greg Hendrix<\/a> did a great posting called <a href=\"http:\/\/www.tdhendrix.com\/random-motionbuilder-python-tidbits\/\">Random MotionBuilder Python Tidbits<\/a><\/li>\n<li>When in doubt, search the <a href=\"http:\/\/forums.autodesk.com\/t5\/motionbuilder-forum\/bd-p\/area-b203\">Motionbuilder Forums<\/a> or better yet &#8211; POST a question! \ud83d\ude42<\/li>\n<\/ul>\n<p>These are not the only resources out there but they do seem like the ones I am currently relying on the most.<\/p>\n<p>Feel free to add a link in the comment section if you have any other MotionBuilder Python scripting resources to share. Thanks.<\/p>\n<p class=\"caas__title caas-content-result-mt\">\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Finding information for Python scripting in MotionBuilder can be an uphill battle. Here is a list of some of the resources that I have been able to find (thanks google). A lot of the listed links have valuable scripts in which one can hack through and decipher what each line of code does, this can [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":238,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[4],"tags":[5,6],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.vicdebaie.com\/blog\/wp-content\/uploads\/2017\/02\/16697171583_7c33584c4b.jpg?fit=500%2C333","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8pltq-1f","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":627,"url":"http:\/\/www.vicdebaie.com\/blog\/pivot-tool-v1-motionbuilder-python\/","url_meta":{"origin":77,"position":0},"title":"Pivot Tool v1 &#8211; MotionBuilder Python","author":"admin","date":"October 19, 2018","format":false,"excerpt":"\u00a0 Updated: Pivot Tool\u00a0 now supports MotionBuilder 2018! :) and in the post below under \"Versions\". 2018 version can be found here and in the post below under \"Versions\". Versions: PivotTool v1.0 for MotionBuilder 2018 PivotTool v1.0 for MotionBuilder 2015 Here is a tool that will help you quickly create\u2026","rel":"","context":"In &quot;Python&quot;","block_context":{"text":"Python","link":"http:\/\/www.vicdebaie.com\/blog\/category\/python\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.vicdebaie.com\/blog\/wp-content\/uploads\/2018\/10\/pivot.gif?fit=498%2C284&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":566,"url":"http:\/\/www.vicdebaie.com\/blog\/motionbuilder-python-parent-constraint-tool\/","url_meta":{"origin":77,"position":1},"title":"MotionBuilder Python Parent Constraint Tool","author":"admin","date":"June 18, 2018","format":false,"excerpt":"Here is a quick post to share a tool I created a little while back. It is designed to help to quickly create Parent Constraints between two objects as well as easily allow the user to bake that constraint down. The script can be found HERE and there are a\u2026","rel":"","context":"In &quot;Python&quot;","block_context":{"text":"Python","link":"http:\/\/www.vicdebaie.com\/blog\/category\/python\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.vicdebaie.com\/blog\/wp-content\/uploads\/2017\/02\/img_3937.jpg?fit=443%2C364&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":63,"url":"http:\/\/www.vicdebaie.com\/blog\/hello-world-a-k-a-let-us-begin\/","url_meta":{"origin":77,"position":2},"title":"Hello World! &#8211; A.k.a &#8220;Let us begin&#8221;","author":"admin","date":"February 6, 2017","format":false,"excerpt":"Here is my first posting for this experiment - \"the blog\". For the last two weeks I have been mucking around with Python scripting within MotionBuilder. It has been an uphill battle. With the limited resources out there all I can really do is hack away at bits and pieces\u2026","rel":"","context":"In &quot;Python&quot;","block_context":{"text":"Python","link":"http:\/\/www.vicdebaie.com\/blog\/category\/python\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.vicdebaie.com\/blog\/wp-content\/uploads\/2017\/02\/img_3934.jpg?fit=526%2C492&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":569,"url":"http:\/\/www.vicdebaie.com\/blog\/pick-favorite-object-with-motionbuilder-python\/","url_meta":{"origin":77,"position":3},"title":"Pick Favorite Object With MotionBuilder Python","author":"admin","date":"June 19, 2018","format":false,"excerpt":"Here is a Tool that I quickly built while working with a lot of controllers, nulls and objects that were either on top of one and other or very close. I could of used groups and what not but I had more fun taking a few minutes to write this\u2026","rel":"","context":"In &quot;Python&quot;","block_context":{"text":"Python","link":"http:\/\/www.vicdebaie.com\/blog\/category\/python\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.vicdebaie.com\/blog\/wp-content\/uploads\/2018\/06\/a-few-of-my-favorite-things-jan-7-2011.jpg?fit=587%2C315&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":190,"url":"http:\/\/www.vicdebaie.com\/blog\/motionbuilder-python-tool-saveit\/","url_meta":{"origin":77,"position":4},"title":"MotionBuilder Python Tool &#8220;SaveIt&#8221;","author":"admin","date":"February 12, 2017","format":false,"excerpt":"Here is a script\/tool I created for MotionBuilder using Python. \u00a0This tool will\u00a0do an incremental save of your scene. Why? Incremental saves are amazingly useful, I thought a tool that automates the process down to one click would be fun. A big thanks goes out to my college Raphael Lappiere\u2026","rel":"","context":"In &quot;Python&quot;","block_context":{"text":"Python","link":"http:\/\/www.vicdebaie.com\/blog\/category\/python\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.vicdebaie.com\/blog\/wp-content\/uploads\/2017\/02\/SaveIt_tool.jpg?fit=600%2C220&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":711,"url":"http:\/\/www.vicdebaie.com\/blog\/using-motionbuilder-python-to-cast-real-time-shadows\/","url_meta":{"origin":77,"position":5},"title":"Using MotionBuilder Python To Cast Real-Time Shadows","author":"admin","date":"September 18, 2019","format":false,"excerpt":"Using Python To Quickly Add A Real Time Shadow To Your MotionBuilder Scene.","rel":"","context":"In &quot;Python&quot;","block_context":{"text":"Python","link":"http:\/\/www.vicdebaie.com\/blog\/category\/python\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.vicdebaie.com\/blog\/wp-content\/uploads\/2019\/09\/ShadowCube.png?fit=1157%2C526&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.vicdebaie.com\/blog\/wp-content\/uploads\/2019\/09\/ShadowCube.png?fit=1157%2C526&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.vicdebaie.com\/blog\/wp-content\/uploads\/2019\/09\/ShadowCube.png?fit=1157%2C526&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.vicdebaie.com\/blog\/wp-content\/uploads\/2019\/09\/ShadowCube.png?fit=1157%2C526&resize=1050%2C600 3x"},"classes":[]}],"_links":{"self":[{"href":"http:\/\/www.vicdebaie.com\/blog\/wp-json\/wp\/v2\/posts\/77"}],"collection":[{"href":"http:\/\/www.vicdebaie.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.vicdebaie.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.vicdebaie.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.vicdebaie.com\/blog\/wp-json\/wp\/v2\/comments?post=77"}],"version-history":[{"count":5,"href":"http:\/\/www.vicdebaie.com\/blog\/wp-json\/wp\/v2\/posts\/77\/revisions"}],"predecessor-version":[{"id":115,"href":"http:\/\/www.vicdebaie.com\/blog\/wp-json\/wp\/v2\/posts\/77\/revisions\/115"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.vicdebaie.com\/blog\/wp-json\/wp\/v2\/media\/238"}],"wp:attachment":[{"href":"http:\/\/www.vicdebaie.com\/blog\/wp-json\/wp\/v2\/media?parent=77"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.vicdebaie.com\/blog\/wp-json\/wp\/v2\/categories?post=77"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.vicdebaie.com\/blog\/wp-json\/wp\/v2\/tags?post=77"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}