Search Unity

[RELEASED] aiImporter - Runtime Model Importer

Discussion in 'Assets and Asset Store' started by akderebur, Mar 17, 2015.

  1. akderebur

    akderebur

    Joined:
    Apr 21, 2013
    Posts:
    18
    Hello everyone!

    I released an asset for Unity some time ago and I decided create a forum thread for it, so that people can post their questions and get help.

    Asset Store Link

    Currently aiImporter is for Windows only.

    What is aiImporter?
    aiImporter is an asset for Unity 3D Game Engine that enables runtime loading of various well known 3d model formats such as .fbx, .dae, .3ds and others.

    It depends on a separate executable that reads and parses the model data and then converts it to a middle format that can be loaded and used in Unity. This separate executable uses the Assimp library to load the models, so lots of model formats are supported.

    Features
    - Loading mesh geometry.
    - Loading materials with textures.
    - Loading separate transparency textures.
    - Loading skinning data. (Skeleton and bone weights)
    - Loading animation - NEW!

    You can download the demo package to see if aiImporter can load your models. Demo does not support materials and skinning.

    Videos

    Animation support showcase


    Model poser (like XNALara) created using aiImporter. This is not included in the package.


    Tutorial on how to use aiImporter. The same test scene is included in the package.


    Thank you!
     
    Last edited: Sep 3, 2015
  2. WalterEspinar

    WalterEspinar

    Joined:
    Aug 23, 2011
    Posts:
    84
    Hello, i just buy this asset, the model are imported fine, but the console show this errors:

    Multiple plugins with the same name 'systemwiperecognizerdll' (found at 'Assets/Plugins/x86_64/SystemWipeRecognizerDll.dll' and 'Assets/Plugins/x86_64/SystemWipeRecognizerDll.dll'). That means one or more plugins are set to be compatible with Editor. Only one plugin at the time can be used by Editor.

    Multiple plugins with the same name 'devil' (found at 'Assets/aiImporter/Importer/DevIL.dll' and 'Assets/aiImporter/Importer/DevIL.dll'). That means one or more plugins are set to be compatible with Editor. Only one plugin at the time can be used by Editor.

    Multiple plugins with the same name 'assimp64' (found at 'Assets/aiImporter/Importer/Assimp64.dll' and 'Assets/aiImporter/Importer/Assimp64.dll'). That means one or more plugins are set to be compatible with Editor. Only one plugin at the time can be used by Editor.
     
  3. akderebur

    akderebur

    Joined:
    Apr 21, 2013
    Posts:
    18
    Hi, first of all thank you for supporting my work.

    I think the error you are getting is a bug related to your Unity version. I didn't encounter this problem with Unity versions below 5.0 and 5.0 beta builds. I didn't test it using the final builds.

    There should only be one DevIL.dll and Assimp64.dll in the Importer folder, so I don't know why it says there are multiple plugins. I think it is safe to ignore this error for now, since it doesn't cause any problems.
     
  4. RobinWinter

    RobinWinter

    Joined:
    Jul 2, 2015
    Posts:
    3
    I am getting dll collide with eachother and this:

    Plugin 'DataLib.dll' is used from several locations:
    Assets/aiImporter/Plugins/DataLib.dll would be copied to <PluginPath>/DataLib.dll
    Assets/aiImporter/Importer/DataLib.dll would be copied to <PluginPath>/DataLib.dll

    when I try to build a windows standalone. This causes the build to fail silently.

    If I remove one of the DataLib.dll's it will build but the file browser will not launch.
     
  5. akderebur

    akderebur

    Joined:
    Apr 21, 2013
    Posts:
    18
    Hi,

    Like you said removing one of the dlls should fix the error. Looks like the dlls in the plugin folder are unnecessary because Unity find them in any folder. I should remove them in the next update.

    The file browser not showing up is not related to aiImporter. The code that is used in the example will only work in Unity Editor because it uses the EditorUtility namespace. You have to implement your own file browser or you can find some plugins in the asset store.

    Thank you.
     
  6. RobinWinter

    RobinWinter

    Joined:
    Jul 2, 2015
    Posts:
    3
    Thanks a bunch. I love your plugin. Very needed and has many future applications. Keep up the good work and thanks for getting back so fast.
     
  7. zheng_caliper

    zheng_caliper

    Joined:
    Aug 19, 2015
    Posts:
    1
    I exported a sketchup model to .fbx. when I loaded it using aiimporter, I got error message:
    "Invalid wire-type; this usually means you have over-written a file without truncating or setting the length; see http://stackoverflow.com/q/2152978/23354"
    How should I resolve that?
     
  8. zerg93101

    zerg93101

    Joined:
    Sep 1, 2015
    Posts:
    1
    i got few issue here:

    1. it said that i have lost "MSCVR110.dll" file, i tried to install a lot of like Visual Studio C++ Redistributable or what and i finally pass but i dont know what i have done . So whats the exactlly environment i need?

    2.After i remove the "Plugins" folder is successful to build. but it didnt respond after that. Only a button to click but nothing happend. i'v changed nothing but delete the "Plugins" folder. i dont know how to fix it

    (my version Unity 5.1.2f1 (64-bit))
     
  9. akderebur

    akderebur

    Joined:
    Apr 21, 2013
    Posts:
    18
    Can you send me your model via email, so that I can investigate the issue better. My email address is akderebur@hotmail.com

    1) You need to have Visual C++ Redistributable for Visual Studio 2012 for the aiImporter to work. I will release a new version very soon and it will probably require 2013.

    2) File browser will only work inside the Unity Editor because it uses the EditorUtility namespace. Normally you need to implement your own file browser. I will include a file browser in the new version. I can send you a test version which includes a file browser. Please email me at akderebur@hotmail.com
     
  10. wherewolfjohnson

    wherewolfjohnson

    Joined:
    Jan 20, 2016
    Posts:
    6
    Is this still supported? I want to create a moddaable game and was wondering if the plugin will, on runtime load external fbx file/refresh with new one will keeping same nodes & replace textures.
     
  11. akderebur

    akderebur

    Joined:
    Apr 21, 2013
    Posts:
    18
    Hi,

    sorry for the late reply. I sometimes forget to check the forums.

    The project is still supported and it should be able to load your external fbx model at runtime.

    You can download the demo here to see if aiImporter can import your models properly : http://burakakdere.com . Note that materials and rigging are not supported in the demo version.

    Thank you for your interest.
     
  12. 1576546943

    1576546943

    Joined:
    Sep 22, 2015
    Posts:
    2
    Hi,
    I have download your package from asset store. But it do not work for me. My unity version is 5.3.3. Can you give me a favor. I can load all node in the fbx file. But I cannot see any mesh.
     
  13. pakmafia

    pakmafia

    Joined:
    Feb 24, 2011
    Posts:
    43
    hi, can this work on ios
     
  14. Cascho01

    Cascho01

    Joined:
    Mar 19, 2010
    Posts:
    1,347
    Yes, is it possible to port it to iOS and Android?

    PS: Demopackage links are dead
     
    Last edited: Sep 11, 2016
  15. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853
    Hello. I see no activity on this thread for a while so i am hoping this gets an answer. I see an OnGUI call in the ModelImport.cs. I want to kill this as it dropped framerates from 1250-2500 down to 300. I am hoping I can just link this code to an Import Model button in the new UI that I already have to start the import process. I have not worked with command line console stuff in Windows prior so i note that you also have a variable in a conditional that needs setting once the operation is executed.
    Code (CSharp):
    1. aiImporter.WaitForExit();
    2. //and then
    3. if (aiImporter.ExitCode == 0 ) {
    4.      LoadFile();
    5. }
    This code in OnGUI appears to wait for the process to complete. If I place the button call in a function I name LoadModelFromFileBrowser(), then that gets called and all of it's internal code just once when i hit the button. I am assuming this will breeze right on by and ignore the waiting process. What is the proper way to do this..and i wish devs would stop using OnGUI. It kills framerates and i am doing VR so I have to squeeze every last drop of performance out of the code I write and use that others wrote.
     
  16. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853
    I am getting as dialog after clicking the Load button in the Test scene that reads "Object reference not set to an instance of an object". It provides no other information as to what object reference and where. It basically opens the console and file browser..I browse to the Revit created FBX file, click open and the file browser disappears and the console chugs with nothing but the caret blinking for about two seconds (it is a 199 megabyte file) and then puts up the dialog pane with the message as above. How can this be resolved?
     
  17. Zhukovp

    Zhukovp

    Joined:
    Mar 31, 2017
    Posts:
    3
    Hi akderebur.

    As I already wrote to you in a letter, I tried the demo (http://burakakdere.com/aiImporter/aiImporterDemo_1_9.unitypackage), and it does not work.
    I click on the Load button, select the file, then click Open, and nothing happens, the model does not load.
    Windows 10 64 bit, Unity Plus.

    I have installed Visual C++ Redistributable 2012 and .NET framework 4.0
    I'm tested in Unity 5.6.1f1 and 2017.1.x
    After click Load->Open, application AssimpImporterDemo.exe just closes without any errors or messages.
    Also I tested in Unity 4.5.5 - here even the scene test.unity does not load.

    My research:

    Process aiImporter = Process.Start(exePath, lookFor + " " + "\"" + filePath + "\"");
    aiImporter.WaitForExit();
    //Here aiImporter.ExitCode == -1

    Help please.
    Thank you.
     
  18. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853
    Same issue months back. No reply from developer. It is apparently a wrapper for a free open source framework someone else wrote. I ran across it a month or two after purchasing this and it not working.
     
  19. Zhukovp

    Zhukovp

    Joined:
    Mar 31, 2017
    Posts:
    3
    ippdev, Thank you so much for the info!
     
  20. Radekk

    Radekk

    Joined:
    Dec 27, 2014
    Posts:
    9
    I bought a full version and it also does not work.
    I do not recommend buying it !
     
  21. Straafe

    Straafe

    Joined:
    Oct 15, 2012
    Posts:
    73
    Is this project long dead? Looking for a DAE runtime importer