Search Unity

  1. We are looking for feedback on the experimental Unity Safe Mode which is aiming to help you resolve compilation errors faster during project startup.
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

New FBX Exporter in 2017.2

Discussion in 'External Tools Previews' started by ans_unity, Oct 12, 2017.

  1. VoxelOne

    VoxelOne

    Joined:
    Jul 22, 2019
    Posts:
    1
    Greetings, All: Hoping this is a super easy fix...

    I am having trouble getting the FBX Export integration to work with any version of the FBX Export (2.0.x)

    With 2.0.2, When I click the "Install Unity Integration" button after selecting either 3ds Max 2019 or 202 I am not prompted for an install directory per the documentation and ultimately the install fails with a message that says "Failed to configure 3DS Max, Please check logs (exitcode--1)." Not really sure what logs to check.

    If I attempt to install the integration files with an older version of FBX Exporter (v2.0.1) I DO get the install directory prompt but the install still fails with the same error as above.

    I've tried Uninstalling and re-installing several times to no avail. I'm using Unity 2019.1.5f1.

    Any insight as to why this might be happening?
     
  2. shedworksdigital

    shedworksdigital

    Joined:
    Nov 7, 2016
    Posts:
    40
    Hi Viktoria,

    I have updated to the latest version of the fbx exporter but it doesn't seem to resolve this issue. Is there an ETA on this fix?

    I am also having the same problem as above when I update where the Unity to Maya integration is not included in the package and it seems to be broken..
     
  3. 41395

    41395

    Joined:
    Jun 16, 2013
    Posts:
    13
    I am having the same issue with 2019.1.11f1
     
  4. buc

    buc

    Joined:
    Apr 22, 2015
    Posts:
    60
    I can't install it anymore. Tested 2019.1.4f1 and 9f1, but it doesn't get listed in the package manager (preview packages and all packages selected). It takes pretty long until the packages are loaded, but no FBX exorter gets shown.
    Have I missed any changes? I've also checked the menu-items (in case it's build into the editor) one by one.
     
  5. asa989

    asa989

    Joined:
    Dec 18, 2015
    Posts:
    39
    Hi Guys,

    I would like to export some objects at Runtime (built version). I found this example from documentation and I changed scene name to mine. So, if i play the scene in editor, it will make an empty FBX file!!! and i dont have my objects. so i tried to build the project and then see what will happen but i get this error and it wont build "The type or namespace name 'Autodesk' could not be found". I do have "using Autodesk" and "using Autodesk.FBX" in my code.

    Does anyone know where the problem is? also what if, i just want to export some objects in runtime and not the whole scene?!

    using Unity 2019.1.5F
    FBX_Exporter 2.0.2
     
    Last edited: Jul 30, 2019
  6. markvi

    markvi

    Unity Technologies

    Joined:
    Oct 31, 2016
    Posts:
    58
    Hi, have you enabed "Show preview packages" under the Advanced drop-down?
     
  7. nigakniga321

    nigakniga321

    Joined:
    Aug 15, 2019
    Posts:
    1
    Does not work on Unity 2019.2.0f1. I am getting an error
    "Unable to resolve reference 'UnityEditor.Timeline'. Is the assembly missing or incompatible with the current platform?
    Reference validation can be disabled in the Plugin Inspector."
    Timeline package is enabled and present in a scene.
     
  8. markvi

    markvi

    Unity Technologies

    Joined:
    Oct 31, 2016
    Posts:
    58
    I'm not able to reproduce this error. Have you tried from a new project? Here's what I see in Package Manager, hope this is helpful:
    Screen Shot 2019-08-19 at 12.30.01 PM.png
     
  9. markvi

    markvi

    Unity Technologies

    Joined:
    Oct 31, 2016
    Posts:
    58
    IEdge likes this.
  10. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    612
    1. Great!
    2. How are issues for those repositories handled? Some Unity repos use Github Issues, others explicitly state that only issues through the Unity Bug Reporter are looked at and that they should be tagged with a specific tag.
    3. Please consider either linking to the currently known issues or porting currently known issues over to Github Issues (depends on answer to 2)
    4. Are you accepting pull requests to those? That's also something other Unity repos state in their description (some do accept them, some don't).
     
    Last edited: Aug 20, 2019
  11. markvi

    markvi

    Unity Technologies

    Joined:
    Oct 31, 2016
    Posts:
    58
    Great questions:
    1. Yay!
    2. Please use the Unity Bug Reporter with a minimal repro project. That will ensure the issue is properly tracked and assigned.
    3. At some future point, it's possible we will sync Github issues with our internal bug tracker. Things are happening internally that will permit that integration, but I can't attach a date to that (because I don't know).
    4. Yes, absolutely! I'll update the project descriptions. We're close to having CI working as well and tied to Github PRs, so you'll even know if your PR passes the unit tests. Keep in mind that it's holiday season at the moment, so please be patient.
     
    fherbst likes this.
  12. snoche

    snoche

    Joined:
    Feb 22, 2010
    Posts:
    70
    After installing the package for "FBX exports" ( "com.unity.formats.fbx": "2.0.2-preview.1") we can not longer make build for macOS, is this a known bug or there is something I am missing here?
     
  13. alexis_morin

    alexis_morin

    Joined:
    Jan 13, 2017
    Posts:
    4
    Hey!

    I tried to reproduce your issue and build on MacOS (on 2019.3) but I unfortunately couldn't! Do you think you could share some of this info so that we can reproduce the bug and eventually fix it:

    1. What version of Unity were you using?
    2. What happens when you build the game and it fails? Do you get an error message in the console?
    3. Does uninstalling the package fix it?
    4. What's your Scripting Backend, and is it IL2CPP? We recently fixed an error that happened when trying to build with IL2CPP with the package installed so it shouldn't be it but it'd be good to make sure.

    Thank you for reporting the issue - I look forward to hearing more about it!
     
  14. TAEKKWON

    TAEKKWON

    Joined:
    Dec 6, 2013
    Posts:
    2
    Unity Record was used to record the BlendShapes animation of the Skinned Mesh Renderer (iPhone X Facial Mocap). When using FBX Export for Game Objects containing the animation, the Animated key of BlendShapes in the Skinned Mesh Renderer is missing and exported to FBX.

    Is there any way to export to FBX including the BlendShapes key?
     
  15. bhudson

    bhudson

    Joined:
    Nov 21, 2014
    Posts:
    29
    Somehow the integrations didn't get published at all with 2.0.x; we're debugging why and we'll put up a new package as soon as we can fix that.


    As a temporary workaround, if you have a full development environment, you can build from the open-source repository here: https://github.com/Unity-Technologies/com.unity.formats.fbx

    That creates the integrations zip files, which you can manually add to the package cache.
     
  16. Quatum1000

    Quatum1000

    Joined:
    Oct 5, 2014
    Posts:
    809
    I have updated the "duplicate prefab/gameobjects" from hierarchy to 2019.2.2f1. The parent null error occur because of try catch doesn't work any longer for propertyInfo.SetValue(component, propertyInfo.GetValue(componentToGetFrom)) in 2019.2.2f1;

    This small script duplicates a prefab/gameobject is located in the scene with exactly identical property/inspector settings. Same like press CTRL+D (Duplicate) in the hierarchy. Until today there is no single API command that does in Unity.

    Use:
    var newGo = ValueTools.DuplicateGameObject(GameObjectToDuplicate);

    Code (CSharp):
    1. using UnityEngine;
    2. using System.Reflection;
    3. using System;
    4. using UnityEngine.SceneManagement;
    5. #if UNITY_EDITOR
    6. using UnityEditor;
    7. #endif
    8.  
    9. namespace ComponentUtility {
    10.    public static class ValueTools {
    11.  
    12.        /// <summary>
    13.        /// Duplicate GameObject excepting scene Prefabs
    14.        /// </summary>
    15.        /// <param name="gobject"></param>
    16.        /// <returns></returns>
    17.        public static GameObject DuplicateGameObject(GameObject gobject) {
    18.  
    19.            // Get original Position and Rotation
    20.            var pos = gobject.transform.position;
    21.            var rot = gobject.transform.rotation;
    22.  
    23.            // Get the current Scene. Selection can be different from the active Scene
    24.            var sceneCurrent = SceneManager.GetActiveScene();
    25.  
    26.            SceneManager.SetActiveScene(gobject.scene);
    27.            GameObject goCopy = null;
    28.  
    29. #if UNITY_EDITOR
    30.  
    31.            // ? GameObject is a Prefab ?
    32.            if (PrefabUtility.GetPrefabAssetType(gobject) == PrefabAssetType.Regular) {
    33.  
    34.                // Get the original path of the Prefab in the AssetDatabase
    35.                var path = PrefabUtility.GetPrefabAssetPathOfNearestInstanceRoot(gobject);
    36.  
    37.                // Create an Object out of the AssetDatabase given path
    38.                var obj = AssetDatabase.LoadAssetAtPath(path, typeof(GameObject));
    39.  
    40.                // Instantiate to the Scene where the otiginal GameObject was located
    41.                goCopy = PrefabUtility.InstantiatePrefab(obj) as GameObject;
    42.  
    43.                // The instantiated GameObject has default values are based on the original AssetDatabase Prefab
    44.                // Use Reflection to get all the data from the scene Prefab to match
    45.                // Parent GameObject
    46.                var goAllComponents = gobject.GetComponents(typeof(Component));
    47.                var goCopyAllComponents = goCopy.GetComponents(typeof(Component));
    48.  
    49.                for (int idx = 0; idx < goAllComponents.Length; idx++) {
    50.                    if (typeof(MeshFilter) == goAllComponents[idx].GetType()) { }
    51.                    // Do nothing, otherwhise we leak Unity
    52.                    else {
    53.                        //.GetComponentValues comes from the namespace ComponentUtility.ValueTools
    54.                        // goCopyAllComponents[idx] = goCopyAllComponents[idx].GetComponentValues(goAllComponents[idx]);
    55.                        goCopyAllComponents[idx].GetComponentValues(goAllComponents[idx]);
    56.                        if (goCopyAllComponents[idx] == default) {
    57.                            Debug.LogError(".GetComponentValues(Component) does not matched!");
    58.                        }
    59.                    }
    60.                }
    61.  
    62.                // Child GameObjects
    63.                Transform[] goChilds = new Transform[gobject.transform.childCount];
    64.                Transform[] GoCopyChilds = new Transform[goCopy.transform.childCount];
    65.  
    66.                for (int idx = 0; idx < goChilds.Length; idx++) {
    67.  
    68.                    goChilds[idx] = gobject.transform.GetChild(idx);
    69.                    GoCopyChilds[idx] = goCopy.transform.GetChild(idx);
    70.  
    71.                    goAllComponents = goChilds[idx].GetComponents(typeof(Component));
    72.                    goCopyAllComponents = GoCopyChilds[idx].GetComponents(typeof(Component));
    73.  
    74.                    for (int cidx = 0; cidx < goAllComponents.Length; cidx++) {
    75.                        if (typeof(MeshFilter) == goCopyAllComponents[cidx].GetType()) { }
    76.                        // Do nothing, otherwhise we leak Unity
    77.                        else {
    78.                            goCopyAllComponents[cidx].GetComponentValues(goAllComponents[cidx]);
    79.                            if (goCopyAllComponents[cidx] == default) {
    80.                                Debug.LogError(".GetComponentValues(Component) does not match!");
    81.                            }
    82.                        }
    83.                    }
    84.                }
    85.            } else goCopy = GameObject.Instantiate(gobject);
    86. #else
    87.                 goCopy = GameObject.Instantiate(gobject);
    88. #endif
    89.  
    90.            if (gobject.transform.parent != null)
    91.                goCopy.transform.parent = gobject.transform.parent;
    92.  
    93.            goCopy.transform.localPosition = pos;
    94.            goCopy.transform.localRotation = rot;
    95.  
    96.            goCopy.name = gobject.name;
    97.            goCopy.SetActive(true);
    98.  
    99.            SceneManager.SetActiveScene(sceneCurrent);
    100. #if UNITY_EDITOR
    101.            Selection.activeGameObject = goCopy;
    102. #endif
    103.            return goCopy;
    104.        }
    105.  
    106.        /// <summary>
    107.        /// Get all values of a Component by Reflection
    108.        /// </summary>
    109.        /// <typeparam name="T"></typeparam>
    110.        /// <param name="component"></param>
    111.        /// <param name="componentToGetFrom"></param>
    112.        /// <returns></returns>
    113.        public static T GetComponentValues<T>(this Component component, T componentToGetFrom) where T : Component {
    114.            Type type = component.GetType();
    115.            if (type != componentToGetFrom.GetType())
    116.                return default;
    117.  
    118.            BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Default | BindingFlags.DeclaredOnly;
    119.            PropertyInfo[] propertyInfos = type.GetProperties(flags);
    120.            foreach (var propertyInfo in propertyInfos)
    121.                if (propertyInfo.CanWrite)
    122.                    // Updated: 2019,08,25
    123.                    // During any reason try catch doesn't work on objects placed in the root since 2019.2.2f1
    124.                    // Error : Cannot set the parent of the GameObject 'A' while its new parent 'B' is being destroyed.
    125.                    // This Error is not correct because the parent is not destroyed at this time.
    126.                    if (propertyInfo.Name.Trim() == "parent" || propertyInfo.Name.Trim() == "parentInternal") {
    127.                        // Debug.Log("propertyInfo.Name. " + propertyInfo.Name + "  Parent? " + componentToGetFrom.gameObject.transform.parent);
    128.                    } else
    129.                        propertyInfo.SetValue(component, propertyInfo.GetValue(componentToGetFrom));
    130.  
    131.            FieldInfo[] fieldinfos = type.GetFields(flags);
    132.            foreach (var fieldinfo in fieldinfos)
    133.                fieldinfo.SetValue(component, fieldinfo.GetValue(componentToGetFrom));
    134.  
    135.            return component as T;
    136.        }
    137.    }
    138. }
     
    Last edited: Aug 25, 2019
  17. snoche

    snoche

    Joined:
    Feb 22, 2010
    Posts:
    70
    I tried to reproduce your issue and build on MacOS (on 2019.3) but I unfortunately couldn't! Do you think you could share some of this info so that we can reproduce the bug and eventually fix it:

    1. What version of Unity were you using?
    2019.1

    2. What happens when you build the game and it fails? Do you get an error message in the console?
    ERROR ITMS-90285: "Invalid Code Signing Entitlements. Your aplication bundle's signature contain code signing entitlements that are not suported on macOS. Specifically, key 'LSMinimumSystemVersion' ... UnityFbxSdkNative' is not supported."

    3. Does uninstalling the package fix it?
    Yes

    4. What's your Scripting Backend, and is it IL2CPP? We recently fixed an error that happened when trying to build with IL2CPP with the package installed so it shouldn't be it but it'd be good to make sure.
    Yes, IL2CPP

    Also it was using IOS 13, maybe this could be the problem?
     
    Last edited: Aug 30, 2019
  18. Reboorn

    Reboorn

    Joined:
    Jun 21, 2017
    Posts:
    1
    Hi , I met the same problem counld you tell me how to solve it ? thanks a lot
     
  19. newguy123

    newguy123

    Joined:
    Aug 22, 2018
    Posts:
    359
    How can we get this implemented guys?

    I've been chatting with the Autodesk 3ds Max Project Managers/Owners and according to them when exporting an fbx from max, things like the physical materials are also embedded into the FBX. So the information is already in the FBX. The issue is reading that info INTO Unity. Can we get the importer updated to also read the info for physical materials from FBX files please? Currently only Standard Materials and Stingray Materials are supported into Unity. So from a Max point of view, that means standard materials and directx Material with Stingray loader.

    What is needed from Unity side to read the available data in the FBX, for physical materials?
     
  20. newguy123

    newguy123

    Joined:
    Aug 22, 2018
    Posts:
    359
    I could never get this to work even from day one, any version, no matter.

    I keep having to manually install the scripts into Max to get it to work
     
  21. Kolyasisan

    Kolyasisan

    Joined:
    Feb 2, 2015
    Posts:
    314
    Hello, we have a very nasty problem with FBX exporter. Basically, it seems like ZW values from the UV channels get stripped on export. We use those for some baked info for our shaders. How can we fix this, if at all?
     
  22. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    612
    You'll probably have to build from source if you need a fix fast.
    From a quick look at the source, you'll have to change a couple places from Vector2 to Vector4 (in FbxExporter.cs). They really are truncating the UVs. Would be great if you can report a proper bug.

    upload_2019-9-2_16-52-46.png
     

    Attached Files:

  23. Kolyasisan

    Kolyasisan

    Joined:
    Feb 2, 2015
    Posts:
    314
    Already tried it. Passing FbxVector4 instead of FbxVector2 makes the UV values bleed into each other and offset, making the UV data broken.
     
  24. hot-knife-digital

    hot-knife-digital

    Joined:
    Oct 22, 2013
    Posts:
    11
    Hi. Just tried to install the Maxscript import / exporters via project/fbx export settings and they aren’t present in 3dsMax 2020 update 2.

    Version 2.0.2 of the fbx exporter I believe.
     
  25. pcreation

    pcreation

    Joined:
    Sep 1, 2012
    Posts:
    3
    Getting errors with FBX Exporter

    FBX Exporter - version 1.3.0f1

    Unity - version 2019.2.5f1

    Errors:

    · Error: Could not load signature of FbxExporters.Editor.ModelExporter:GetAnimationExportDataFromAnimationTrack due to: Could not load file or assembly 'UnityEngine.Timeline, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. assembly:UnityEngine.Timeline, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null type:<unknown type> member:(null) signature:<none>

    · Unloading broken assembly Assets/FbxExporters/Editor/UnityFbxExporterEditor.dll, this assembly can cause crashes in the runtime

    Have checked:

    · Under [Packages] Unity Timeline looks to be installed.

    · However can’t seem to find the ‘com.autodesk.fbx’ under the Package Manager and have searched everywhere for installs/packages without any luck.

    The tool is essential for our project, any help would be much appreciated.

    Cheers
     
  26. friuns3

    friuns3

    Joined:
    Oct 30, 2009
    Posts:
    290
    Hello
    Version 2.0.2 unity 2019.2.4f1
    there is skinned mesh bug, when exporting this setup, hands get moved to legs and skin weights are also been offset to legs.
    upload_2019-9-21_12-27-44.png
     

    Attached Files:

    Last edited: Sep 22, 2019
  27. bhudson

    bhudson

    Joined:
    Nov 21, 2014
    Posts:
    29
    Hi everyone, we've released version 2.0.3-preview.3 which fixes the issues with the missing integrations for Maya and Max.

    Update via the Package Manager.

    @VoxelOne @41395 @hot-knife-digital hopefully this fixes your bug reports.
     
  28. bhudson

    bhudson

    Joined:
    Nov 21, 2014
    Posts:
    29
    In Package Manager, have you selected "Show Preview Packages"? Then you should be able to search for 'fbx' and find it.

    You'll need the FBX Exporter package (com.unity.formats.fbx); com.autodesk.fbx is automatically installed when you get the exporter package.
     
    pcreation likes this.
  29. bhudson

    bhudson

    Joined:
    Nov 21, 2014
    Posts:
    29
    Thanks for the report, I'll log a feature request to see about handling UVWZ generically.

    Have you tried to use https://docs.unity3d.com/ScriptReference/Mesh.GetUVs.html rather than mesh.uv? mesh.uv only gives you Vector2, so already it lost your data.
     
  30. bhudson

    bhudson

    Joined:
    Nov 21, 2014
    Posts:
    29
    FBX can only be included in a standalone build if you're targeting macOS or Windows. You can't target iOS, we don't include a compiled version of the FBX SDK for that platform.

    If you can describe your use case we'll see if it can fit on the roadmap we're developing.

    EDIT: Just got reminded of a known bug. If your mention of iOS was a typo and you meant macOS, there's a workaround here: https://forum.unity.com/threads/autodesk-fbx-build-errors-for-windows.716867/
     
    Last edited: Sep 26, 2019
  31. Kolyasisan

    Kolyasisan

    Joined:
    Feb 2, 2015
    Posts:
    314
    Sorry for leaving this thread for a while. Yes, GetUVs gives us nice results and allows us to read proper UVWZ values. As a workaround to our problem we've decided to export our meshes as native unity .asset files. It gets the job done, but it still is a bit of an inconvenience in some regards. Thank you for considering our request.
     
  32. pcreation

    pcreation

    Joined:
    Sep 1, 2012
    Posts:
    3
    Blend Shapes not exporting from FBX Exporter.
    Using:
    • FBX Exporter 2.0.3
    • Unity 2019.1.14f1
    • Maya 2019
    Repro:
    • In Maya - Create simple cube, duplicate a few times and move some vertices around on each duplicate. Under Shape Editor create Blend Shapes and animate some keys to check setup is correct. Export to FBX.
    • In Unity - Import new FBX. Create own animation using the Bland Shapes. Export using ‘FBX Exporter’
    • In Maya - Import FBX generated by Unity FBX Exporter.
    Result:
    • Default settings don’t appear to bring across any animation.
    • If you check ‘Animated Skinned Mesh’ on export in Unity, the transform data is exported but still with no blend shapes.
    Questions:
    • Is it possible to export Blend Shape animation from Unity using the FBX Exporter?
    • If so any idea what I might be doing wrong?
    Many thanks
    FBX.jpg
     
  33. AlbyDj90

    AlbyDj90

    Joined:
    Feb 7, 2015
    Posts:
    33
    Hi everyone! I have a problem building my project with FBX export!

    error CS0234: The type or namespace name 'Formats' does not exist in the namespace 'UnityEditor' (are you missing an assembly reference?)

    There is some solution to this?

    EDIT: I see the problem is that i cant use something in the UnityEditor namespace...so the example script for exporting FBX models in the dev guide is no use for me.
    There is a way for export some objects in a FBX file like that example but in runtime? I cant find anything and i am searching some documentation for use the Autodesk.Fbx namespace for building my own exporter but i can't find it!
     
    Last edited: Oct 18, 2019
  34. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    612
    @markvi Documentation mentions texture export. How do I do this? There's no option as far as I can see.
    Also, how do I export a full FBX (geometry, animation, textures) to anywhere else but Assets folder using the context menu and not scripting custom stuff?
     
    Last edited: Nov 29, 2019
  35. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    612
    @markvi @bhudson

    (Case 1193945) [FBX Exporter] Materials and Meshes with identical names export and re-import as a single material/mesh while object names are made unique
    (Case 1193947) [FBX Exporter] Object visibility is not exported at all
    (Case 1193946) [FBX Exporter] LOD export is broken, doesn't actually export LODs
     
  36. Paul-van-der-Laan

    Paul-van-der-Laan

    Joined:
    Oct 12, 2013
    Posts:
    14
    I have a question:
    When I first make an FBX Linked Prefab of some objects in Unity which contain custom components (e.g. my own scripts), and when I (instance) duplicate those objects in Maya, is it possible to retain the custom components on the new duplicated objects when exporting back from Maya to Unity?

    Or better yet, is it possible to keep the normal Unity prefab links by instance duplicating those objects in Maya and exporting those back in Unity?

    Currently I only seem to be able to copy the geometry data, but custom components and other data such as prefabs are not copied unfortunately.

    I want to do this to be able to do VR level design iterations in Maya using the Maya Marui plugin.
     
  37. Kichang-Kim

    Kichang-Kim

    Joined:
    Oct 19, 2010
    Posts:
    513
    Hi. Is there any method for disabling logging?

    Currently, it always prints "Successfully exported: xxxxxx" message in every ModelExporter.ExportObject() call and it mess my console.
     
  38. Kichang-Kim

    Kichang-Kim

    Joined:
    Oct 19, 2010
    Posts:
    513
    @markvi Exported FBX's texture RelPath is not relative to final output path, but relative to its temporary path (xxxxx\AppData\Local\Temp in Windows). It makes issue in thirdparty application which using RelPath, like Simplygon.

    I reported this issue as Case 1199996.
     
  39. AlbyDj90

    AlbyDj90

    Joined:
    Feb 7, 2015
    Posts:
    33
    Guys, there is some way to use Autodesk.Fbx to export models & material at runtime (with the program compiled)? I can't find anything like that!
     
  40. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    612
    @markvi @bhudson
    (Case 1201942) FBX Exporter - Animation Export does not use default animation but first in internal list (?)
    (Case 1201937) [FBX Exporter] FBX Exporter does not support embedding resources, creates weird re-import effects

    @LeonhardP not sure if it's appropriate to tag you here, please let me know if it is not – no Unity reaction in 2 months about FBX bugs on this thread.
     
  41. vkovec2

    vkovec2

    Joined:
    Nov 5, 2019
    Posts:
    2
    Hi @Kolyasisan ,

    Unfortunately exporting UVs as Vector4 would require changes to the FBX SDK source code, therefore this is not something we can support in the FBX exporter right now. Sorry about that, but glad you could find a workaround.

    Best,
    Viktoria
     
  42. vkovec2

    vkovec2

    Joined:
    Nov 5, 2019
    Posts:
    2
    Hi @pcreation,

    Currently the FBX exporter does not support export of blend shape animation.

    Best,
    Viktoria
     
  43. vkovec

    vkovec

    Unity Developer - FBX Exporter

    Joined:
    Aug 9, 2017
    Posts:
    188
    Hi @AlbyDj90,

    In the documentation, there is a basic example under Runtime in the Developer's Guide for exporting at runtime.

    For additional export behavior I recommend taking a look at what is done in the FBX exporter, or you can also find the C# bindings for everything exposed from the FBX SDK in the com.autodesk.fbx package under com.autodesk.fbx/Runtime/Scripts/.

    I think the easiest way to locate the com.autodesk.fbx package is to navigate to the FBX exporter package folder in your Unity project, right click, and select " Show In Explorer" (see image below). This should take you to the PackageCache location.You may have to go up one folder to see the com.autodesk.fbx package.

    upload_2019-12-3_12-7-18.png

    Best,
    Viktoria
     
    AlbyDj90 likes this.
  44. vkovec

    vkovec

    Unity Developer - FBX Exporter

    Joined:
    Aug 9, 2017
    Posts:
    188
    Hi @fherbst,

    The FBX exporter exports the reference/path to the texture, but not the texture itself. Therefore, the FBX should be able to find the texture based on the path, but it will not contain the texture itself.

    I agree though that this is not clear in the documentation. Will log a task to update the docs.

    Best,
    Viktoria
     
  45. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    612
    @vkovec thanks, is embedded resources somewhere on the roadmap?
    Especially with Unity's way of finding texture references by name there's a number of cases we're hitting with the current way that are downright broken. Unity itself does not seem to use those relative pathes on re-import but just uses the texture name. See (Case 1201937) for an example where this currently breaks.
     
  46. vkovec

    vkovec

    Unity Developer - FBX Exporter

    Joined:
    Aug 9, 2017
    Posts:
    188
    Hi @Paul-van-der-Laan ,

    This is not currently possible as once you export from Maya to FBX the information about these new objects being duplicates is lost, and therefore the Linked Prefab does not know which objects have been duplicated and which components to add.

    However, the components on the original objects (the ones you duplicated in Maya), should retain their components. Let me know if this is not the case.

    Best,
    Viktoria
     
  47. vkovec

    vkovec

    Unity Developer - FBX Exporter

    Joined:
    Aug 9, 2017
    Posts:
    188
    Hi @Kichang-Kim ,

    There is not currently a way for disabling this log, however I agree that their should be. Will log an issue for this.

    Best,
    Viktoria
     
  48. Goooooooogle

    Goooooooogle

    Joined:
    Sep 30, 2016
    Posts:
    11
    Hi, is there any plan to make methods in the ModelExporter class public?

    In our production we need a tool to export timeline animation clips along with the animated character as a single FBX, and it seems that most of the functions I need for exporting & doing Maya conversion are already there. Right now only ExportObjects and ExportObject are exposed, which is not very useful in our case.

    Thanks!
     
  49. FeastSC2

    FeastSC2

    Joined:
    Sep 30, 2016
    Posts:
    865
    Dammit... This exporter removed all the ProBuilderMesh component on the assets of my scene, that just made me waste a big chunk of time because I didn't think it would remove components from my meshes.

    The 2nd time I wanted to export my scene, I discarded the changes on my scene after exporting in order to get my components back.
    Please fix that silly bug, I don't see why exported meshes should have their ProBuilderMesh component removed.
    I'm on version 2.0.3 preview 3 + ProBuilder 4.2.1 + Unity 2019.2.8f1 with Windows 10.
     
  50. vkovec

    vkovec

    Unity Developer - FBX Exporter

    Joined:
    Aug 9, 2017
    Posts:
    188
    Hi @fherbst,

    Thank you for the suggestion, we will look into it.

    A couple of things to try on the FBX file's material import settings if you haven't already:

    1. Under remapped materials try either changing the on demand remap settings, or you can also explicitly assign the correct materials in the material slots.

    upload_2019-12-12_11-16-22.png

    2. Switch "Location" setting to "Use External Materials (Legacy)" and try changing the settings to see if that fixes the issue.

    upload_2019-12-12_11-18-39.png

    Best,
    Viktoria
     

    Attached Files:

unityunity