Page 1 of 2

Asset editor

PostPosted: Mon Dec 05, 2016 9:57 am
by joepal
Me and Aranuvir have been working on a new plugin: the asset editor.

The goal of this editor is to allow the user to edit asset metadata and settings via the GUI rather than having to manually edit the asset text files. Further, the editor will ensure correct file encoding, correct line endings, and give best practice recommendations.

asseteditor_wip.png


asseteditor_wip2.png


To test this, download the repo at https://github.com/makehumancommunity/community-plugins and then copy everything from the makehuman dir (https://github.com/makehumancommunity/c ... /makehuman) to your plugins directory.

Note that this is a first test version. You may want to manually backup asset files before editing them, in case something gets messed up.

A known limitation is that all added fields will end up at the bottom of the asset file. This doesn't make any functional difference, but for readability reasons it might be better if the settings were collected at the top. Also, the best practice recommendations are still pretty few and rather crude.

Re: Asset editor

PostPosted: Mon Dec 05, 2016 1:41 pm
by CallHarvey3d
this is cool. can i test this with 1.1.0 or do i need to be using something fancy? can it show poly count?

Re: Asset editor

PostPosted: Mon Dec 05, 2016 2:24 pm
by RobBaer
Congratulations to you and Aranuvir. This could be incredibly useful.

My first quick try at this caused exceptions to occur when I clicked on an asset.

Code: Select all
Exception during event onFileSelected
Traceback (most recent call last):
  File "./core\events3d.py", line 211, in callEvent
    method(event)
  File "plugins/8_asseteditor\asseteditor.py", line 195, in onFileSelected
    assetInfo = mhapi.assets.openAssetFile(filename)
AttributeError: 'API' object has no attribute 'assets'

I guess the mhapi folder has been updated because reinstalling the latest version of mhapi fixed the problem. Guess I should learn to read, "copy everything " :)

Re: Asset editor

PostPosted: Mon Dec 05, 2016 2:30 pm
by RobBaer
CallHarvey3d wrote:this is cool. can i test this with 1.1.0 or do i need to be using something fancy? can it show poly count?


Currently (12-5-2016) , this works with the bitbucket Mercurial version (on Windows at least), but not the release version of MH 1.1.0 where it produces an exception:
Code: Select all
Could not load 8_asseteditor
Traceback (most recent call last):
  File "c:\jenkins\workspace\Windows_release_11x\buildscripts\win32\build\makehuman\out00-PYZ.pyz\mhmain", line 528, in loadPlugin
  File "plugins/8_asseteditor\__init__.py", line 29, in <module>
    from asseteditor import AssetEditorTaskView
  File "plugins/8_asseteditor\asseteditor.py", line 33, in <module>
    import uuid
ImportError: No module named uuid

I'm sure this will be fixed shortly.

Re: Asset editor

PostPosted: Mon Dec 05, 2016 2:45 pm
by Aranuvir
The editor is still under heavy development and it shouldn't be used for productive things, yet.
@Rob: The uuid error you are reporting is interesting. Are you on Linux or Windows? I thought the uuid module is a common module and can't remember to have installed it separately.

Edit: maybe we should have an extra bug tracker for plug-ins.

Re: Asset editor

PostPosted: Mon Dec 05, 2016 2:54 pm
by RobBaer
Aranuvir wrote:The editor is still under heavy development and it shouldn't be used for productive things, yet.
@Rob: The uuid error you are reporting is interesting. Are you on Linux or Windows? I thought the uuid module is a common module and can't remember to have installed it separately.


This was a quick test on Windows 10. Haven't had much free time lately so I haven't gotten to Linux yet. Worked fine with the Hg version, but I haven't had time to find out what's happening to cause the uuid exception on plugin loading with the install version. I can only gather that this python module is not included with the build version.

Re: Asset editor

PostPosted: Mon Dec 05, 2016 3:46 pm
by joepal
RobBaer wrote:Currently (12-5-2016) , this works with the bitbucket Mercurial version (on Windows at least), but not the release version of MH 1.1.0 where it produces an exception:
Code: Select all
Could not load 8_asseteditor
Traceback (most recent call last):
  File "c:\jenkins\workspace\Windows_release_11x\buildscripts\win32\build\makehuman\out00-PYZ.pyz\mhmain", line 528, in loadPlugin
  File "plugins/8_asseteditor\__init__.py", line 29, in <module>
    from asseteditor import AssetEditorTaskView
  File "plugins/8_asseteditor\asseteditor.py", line 33, in <module>
    import uuid
ImportError: No module named uuid

I'm sure this will be fixed shortly.


Huh.

Yeah, I can see why that happens with the build. The pyinstaller compiler only includes stuff actually used, and it seems the rest of the MH code only uses home-brewed uuid routines.

I've pushed a fix I think temporarily "solves" this. The uuid module will now only be imported if you push the "generate uuid" button. So the rest should work even if uuid isn't available.

Any chance you could test this?

Re: Asset editor

PostPosted: Mon Dec 05, 2016 3:49 pm
by joepal
CallHarvey3d wrote:this is cool. can i test this with 1.1.0 or do i need to be using something fancy? can it show poly count?


With the fix I pushed just now, you should just have to copy stuff from the repo to your plugins directory. Nothing fancy needed, and the stable 1.1.0 release should suffice on any platform.

No, the editor only works on the text files (mhclo, mhmat etc). It doesn't edit or analyze any binary assets (ie for example obj files).

Re: Asset editor

PostPosted: Mon Dec 05, 2016 3:50 pm
by joepal
Aranuvir wrote:Edit: maybe we should have an extra bug tracker for plug-ins.


There is an issue tracker on github we can use for the community plugins, if the main bugtracker isn't applicable.

https://github.com/makehumancommunity/c ... ins/issues

Re: Asset editor

PostPosted: Tue Dec 06, 2016 11:08 am
by Aranuvir
On Windows uuid4.py from makeclothes is used now on my development branch. @Rob: Could you clone my branch (https://github.com/makehumancommunity/c ... e/Aranuvir) and check if the uuid generator works on windows? uuid4.py creates errors on my Linux system.