{"id":882,"date":"2018-05-16T18:30:28","date_gmt":"2018-05-17T01:30:28","guid":{"rendered":"https:\/\/williamgs.com\/wp_backup\/blog\/?p=882"},"modified":"2019-06-20T20:53:48","modified_gmt":"2019-06-21T03:53:48","slug":"blender-to-unreal-fbx-t3d-exporter-with-instancing","status":"publish","type":"post","link":"https:\/\/williamgs.com\/wp_backup\/posts\/blender-to-unreal-fbx-t3d-exporter-with-instancing\/","title":{"rendered":"Blender to Unreal FBX + T3D exporter with instancing"},"content":{"rendered":"<figure id=\"attachment_894\" aria-describedby=\"caption-attachment-894\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/exporter_blender.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-894 size-medium\" src=\"https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/exporter_blender-300x169.png\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/exporter_blender-300x169.png 300w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/exporter_blender-600x338.png 600w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/exporter_blender-150x84.png 150w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/exporter_blender-768x432.png 768w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/exporter_blender-760x428.png 760w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/exporter_blender.png 960w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/exporter_blender-200x113.png 200w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/exporter_blender-400x225.png 400w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/exporter_blender-800x450.png 800w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/exporter_blender-450x253.png 450w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/exporter_blender-900x506.png 900w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-894\" class=\"wp-caption-text\">Blender: these objects share linked mesh data<\/figcaption><\/figure>\n<figure id=\"attachment_895\" aria-describedby=\"caption-attachment-895\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/editor_unreal.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-895 size-medium\" src=\"https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/editor_unreal-300x165.png\" alt=\"\" width=\"300\" height=\"165\" srcset=\"https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/editor_unreal-300x165.png 300w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/editor_unreal-600x329.png 600w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/editor_unreal-150x82.png 150w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/editor_unreal-768x421.png 768w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/editor_unreal-760x417.png 760w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/editor_unreal-960x527.png 960w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/editor_unreal-200x110.png 200w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/editor_unreal-400x220.png 400w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/editor_unreal-800x439.png 800w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/editor_unreal-450x247.png 450w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/editor_unreal-900x494.png 900w, https:\/\/williamgs.com\/wp_backup\/wp-content\/uploads\/editor_unreal.png 1928w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-895\" class=\"wp-caption-text\">Unreal: import one FBX, paste T3D as instances<\/figcaption><\/figure>\n<p>I wrote a very simple Blender to Unreal exporter because I couldn&#8217;t find one that exported scenes to FBX and T3D at the same time. The purpose is to export only unique data to FBX, instead of all object data, this way duplicates (with linked data in blender) are preserved and objects can be pasted in to Unreal after placement was done in Blender. Now I can export a whole scene at once and still benefit from the efficiency of linked data, without needing to reconstruct object placement manually in Unreal.<\/p>\n<p>It&#8217;s no <a href=\"https:\/\/docs.unrealengine.com\/en-US\/Studio\/Unreal-Datasmith\/Datasmith\">Datasmith<\/a>, but this is all I need for testing and it works with Blender.<\/p>\n<p>Usage:<\/p>\n<ol>\n<li>In Blender:\n<ol>\n<li>Select objects to export, run script. (FBX names are based on mesh data names)<\/li>\n<li>Copy (T3D) text from console output to clipboard (Placed instance\/object names will be the same in Unreal and Blender)<\/li>\n<\/ol>\n<\/li>\n<li>In Unreal:\n<ol>\n<li>Import FBX files<\/li>\n<li>paste (T3D) clipboard<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>To Do:<\/p>\n<ul>\n<li>Convert to exporter addon<\/li>\n<li>Options for file output destination, and content path in Unreal<\/li>\n<li>Optionally skip either FBX or T3D output<\/li>\n<li>Send T3D to clipboard or text file instead of console<\/li>\n<li>Optional scale conversion<\/li>\n<li>Instanced Static Mesh Component for Array modifier instances.<\/li>\n<li>More features for iterative workflow?<\/li>\n<\/ul>\n<p><!--more--><br \/>\n<a href=\"https:\/\/gist.github.com\/williamgs\/4966912faef38770514eab2a9b182c5e\">https:\/\/gist.github.com\/williamgs\/4966912faef38770514eab2a9b182c5e<\/a><script src=\"https:\/\/gist.github.com\/williamgs\/4966912faef38770514eab2a9b182c5e.js\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I wrote a very simple Blender to Unreal exporter because I couldn&#8217;t find one that exported scenes to FBX and T3D at the same time. The purpose is to export <a class=\"more-link\" href=\"https:\/\/williamgs.com\/wp_backup\/posts\/blender-to-unreal-fbx-t3d-exporter-with-instancing\/\">Continue Reading<span class=\"screen-reader-text\">Blender to Unreal FBX + T3D exporter with instancing<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,56],"tags":[32,62,43],"class_list":["post-882","post","type-post","status-publish","format-standard","hentry","category-python","category-training","tag-blender","tag-pipeline","tag-unreal-engine"],"_links":{"self":[{"href":"https:\/\/williamgs.com\/wp_backup\/wp-json\/wp\/v2\/posts\/882","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/williamgs.com\/wp_backup\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/williamgs.com\/wp_backup\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/williamgs.com\/wp_backup\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/williamgs.com\/wp_backup\/wp-json\/wp\/v2\/comments?post=882"}],"version-history":[{"count":14,"href":"https:\/\/williamgs.com\/wp_backup\/wp-json\/wp\/v2\/posts\/882\/revisions"}],"predecessor-version":[{"id":1852,"href":"https:\/\/williamgs.com\/wp_backup\/wp-json\/wp\/v2\/posts\/882\/revisions\/1852"}],"wp:attachment":[{"href":"https:\/\/williamgs.com\/wp_backup\/wp-json\/wp\/v2\/media?parent=882"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/williamgs.com\/wp_backup\/wp-json\/wp\/v2\/categories?post=882"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/williamgs.com\/wp_backup\/wp-json\/wp\/v2\/tags?post=882"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}