Jump to content
3DCoat Forums
haikalle

Blender Applink

Recommended Posts

24.08.2020 в 04:01 gbball сказал:

Привет @haikalle

Спасибо за всю вашу работу по поддержке Blender Applink. У меня были проблемы с этим, начиная с Blender 2.83. Эта версия поддерживается? Я могу отправить в 3DCoat без проблем, но у меня возникают проблемы, когда я пытаюсь вернуть текстурированные активы.

Я получаю сообщение об ошибке. Я использую последнюю версию приложения, которую вы разместили здесь.

Надеюсь, вы укажете мне правильное направление. Спасибо!

 

Отслеживание (последний вызов последний):
Файл "C: \ Users \ gavin \ AppData \ Roaming \ Blender Foundation \ Blender \ 2.83 \ scripts \ addons \ io_coat3D \ __ init__.py", строка 339, в invoke
рабочий процесс1 (ExportFolder)
Файл "C: \ Users \ gavin \ AppData \ Roaming \ Blender Foundation \ Blender \ 2.83 \ scripts \ addons \ io_coat3D \ __ init__.py", строка 1356, в workflow1
blender_3DC_blender (список текстур)
Файл "C: \ Users \ gavin \ AppData \ Roaming \ Blender Foundation \ Blender \ 2.83 \ scripts \ addons \ io_coat3D \ __ init__.py", строка 1130, в blender_3DC_blender
tex.matlab (объекты, список матов, список текстур, is_new)
Файл "C: \ Users \ gavin \ AppData \ Roaming \ Blender Foundation \ Blender \ 2.83 \ scripts \ addons \ io_coat3D \ tex.py", строка 697, в matlab
readtexturefolder (объекты, mat_list, texturelist, is_new, udim_textures)
Файл "C: \ Users \ gavin \ AppData \ Roaming \ Blender Foundation \ Blender \ 2.83 \ scripts \ addons \ io_coat3D \ tex.py", строка 300, в файле readtexture
createnodes (index_mat, texcoat, create_group_node, objekti, ind, is_new, udim_textures)
Файл "C: \ Users \ gavin \ AppData \ Roaming \ Blender Foundation \ Blender \ 2.83 \ scripts \ addons \ io_coat3D \ tex.py", строка 441, в createnodes
с open (json_address, encoding = 'utf-8') как data_file:
FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'C: \\ Program Files \\ Blender Foundation \\ Blender 2.83 \\ 2.83 \\ scripts \\ addons \\ io_coat3D \\ data.json'

местоположение: <неизвестное местоположение>: - 1

This error also occurs periodically and I fix it by simply copying objects to a new open project) I noticed that this error occurs when either there is no space on the disk or I deleted the old textures in the folder that it loads when it does export import.

Share this post


Link to post
Share on other sites
2 hours ago, Alex_Velger said:

This error also occurs periodically and I fix it by simply copying objects to a new open project) I noticed that this error occurs when either there is no space on the disk or I deleted the old textures in the folder that it loads when it does export import.

Yeah, looking at it some more, I've found that it's still an issue in an older project that I started a few months ago.  I don't have any problems when I use the applink in a fresh Blender scene.  I was going to try what you said to confirm whether or not it was the fact that it was an old project or not.  The other thing I was going to test was whether or not the number of instances in the Blender project had any effect.  Thanks for pointing out the workaround.

Share this post


Link to post
Share on other sites

Please help me understand what the problem is, I removed the addon that came with the delivery of blender 2.83 and installed the one that you gave me, since there is a button to update. But when exporting to a clean cube scene, an error occurs.

Traceback (most recent call last):
  File "E:\E_cycles_2.83.4_v20200807_win\Release\2.83\scripts\addons\io_coat3D\__init__.py", line 579, in invoke
    bpy.ops.export_applink.pilgway_3d_coat()
  File "E:\E_cycles_2.83.4_v20200807_win\Release\2.83\scripts\modules\bpy\ops.py", line 201, in __call__
    ret = op_call(self.idname_py(), None, kw)
RuntimeError: Error: Traceback (most recent call last):
  File "E:\E_cycles_2.83.4_v20200807_win\Release\2.83\scripts\addons\io_coat3D\__init__.py", line 613, in execute
    coat3D.exchangedir = set_exchange_folder()
  File "E:\E_cycles_2.83.4_v20200807_win\Release\2.83\scripts\addons\io_coat3D\__init__.py", line 137, in set_exchange_folder
    if(source != coat3D.exchangedir and coat3D.exchangedir != '' and coat3D.exchangedir.rfind('Exchange') >= 0):
UnboundLocalError: local variable 'source' referenced before assignment

location: E:\E_cycles_2.83.4_v20200807_win\Release\2.83\scripts\modules\bpy\ops.py:201

location: <unknown location>:-1image.thumb.png.a5763669c52ee762eb06d248b51865d1.png

image.png.91ac7217763f1257999c9a951ae3c894.png

 

Share this post


Link to post
Share on other sites

Hello, I have a long time ago there is an error when a large project is already. The part is not imported back, and when you click the update button, this error window appears. How to remove this error.

Traceback (most recent call last):
  File "E:\E_cycles_2.83.4_v20200807_win\Release\2.83\scripts\addons\io_coat3D\__init__.py", line 339, in invoke
    workflow1(ExportFolder)
  File "E:\E_cycles_2.83.4_v20200807_win\Release\2.83\scripts\addons\io_coat3D\__init__.py", line 1356, in workflow1
    blender_3DC_blender(texturelist)
  File "E:\E_cycles_2.83.4_v20200807_win\Release\2.83\scripts\addons\io_coat3D\__init__.py", line 1130, in blender_3DC_blender
    tex.matlab(objekti,mat_list,texturelist, is_new)
  File "E:\E_cycles_2.83.4_v20200807_win\Release\2.83\scripts\addons\io_coat3D\tex.py", line 686, in matlab
    updatetextures(objekti)
  File "E:\E_cycles_2.83.4_v20200807_win\Release\2.83\scripts\addons\io_coat3D\tex.py", line 109, in updatetextures
    for node in index_mat.material.node_tree.nodes:
AttributeError: 'NoneType' object has no attribute 'nodes'

location: <unknown location>:-1

 

image.thumb.png.1707ce35106d91d94e111cb005d82777.png

Edited by Alex_Velger

Share this post


Link to post
Share on other sites

Updated to Blender 2.9, was working fine in 2.83.5. But for some reason, not really working in the newest version. Having the same kind of problem as alex. But with all the functions of the applink. Tried a clean install of blender and deleting the things in the 3dc2blender folder as someone suggested. But that folder only consists of the Exchange-folder.txt file for me. 

Share this post


Link to post
Share on other sites
7 hours ago, haikalle said:

@Alex_Velger написать Вы можете мне в личку сцену с блендером. Очень помогло бы.

Sent an example of a personal message, the project consists of many objects, and some of them cause the error. The question why may planyou don't like certain characters.

Share this post


Link to post
Share on other sites
On 9/2/2020 at 12:02 AM, Alex_Velger said:

image.thumb.png.1707ce35106d91d94e111cb005d82777.png

Found the reason for this error, one of the objects did not use nodes. But why is addons so critical of such an object in the project? After all, I worked with a completely different object that has nodes, but the addon did not like that the project has material from another object without nodes.

Edited by Alex_Velger

Share this post


Link to post
Share on other sites

The object that gives an error and had no nodes. Did you ever took that object into 3d-coat. Applink is only checking/updating objects that has "Sended into 3dcoat" tag on them. It should leave other objects alone.

Share this post


Link to post
Share on other sites
On 9/1/2020 at 12:42 PM, Archnila said:

Updated to Blender 2.9, was working fine in 2.83.5. But for some reason, not really working in the newest version. Having the same kind of problem as alex. But with all the functions of the applink. Tried a clean install of blender and deleting the things in the 3dc2blender folder as someone suggested. But that folder only consists of the Exchange-folder.txt file for me. 

Managed to fix it myself lol. I forgot to set the exchange folder to the right place in the Blender settings. Everything is working as it should now!  :) 

  • Like 1

Share this post


Link to post
Share on other sites

At current I only use 2.83 LTS version, then It usually work but when I try to use some complex scene items, (armature or other modifier)

I can send mesh to 3d coat, and set material, but when I return to 3d coat, by "open in original app" 

blender send these error often.  then plug in not generate 3d coat nodes. 

Traceback (most recent call last):
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 98, in every_3_seconds
    workflow1(ExportFolder)
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 1328, in workflow1
    blender_3DC_blender(texturelist)
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 1067, in blender_3DC_blender
    updatemesh(objekti,obj_proxy, texturelist)
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 323, in updatemesh
    objekti.data.uv_layers[0].data[indi].uv[0] = proxy.data.uv_layers[index].data[indi].uv[0]
IndexError: bpy_prop_collection[index]: index 52934 out of range, size 52934

 

Btw To make it simple (and test safe), when I export mesh to 3d coat,  I duplicate mesh first, then export duplicate one.

And the duplicated mesh already attached many shader nodes (It auto generate by another importer,) ,

so I clean up them  (but keep material group (aka material slot with material name)  then export 3d coat and set material..

I can still manually improt and generate nodes in blender,, but I miss auto generate flexible 3d coat shader nodes^^;  

(And new mesh generate with 0.01 gloval scale, so I reset scale as visible (blender 1m unit) I do not know why it happen)

 

Share this post


Link to post
Share on other sites
13 minutes ago, tokikake said:

At current I only use 2.83 LTS version, then It usually work but when I try to use some complex scene items, (armature or other modifier)

I can send mesh to 3d coat, and set material, but when I return to 3d coat, by "open in original app" 

blender send these error often.  then plug in not generate 3d coat nodes. 

Traceback (most recent call last):
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 98, in every_3_seconds
    workflow1(ExportFolder)
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 1328, in workflow1
    blender_3DC_blender(texturelist)
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 1067, in blender_3DC_blender
    updatemesh(objekti,obj_proxy, texturelist)
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 323, in updatemesh
    objekti.data.uv_layers[0].data[indi].uv[0] = proxy.data.uv_layers[index].data[indi].uv[0]
IndexError: bpy_prop_collection[index]: index 52934 out of range, size 52934

 

Btw To make it simple (and test safe), when I export mesh to 3d coat,  I duplicate mesh first, then export duplicate one.

And the duplicated mesh already attached many shader nodes (It auto generate by another importer,) ,

so I clean up them  (but keep material group (aka material slot with material name)  then export 3d coat and set material..

I can still manually improt and generate nodes in blender,, but I miss auto generate flexible 3d coat shader nodes^^;  

(And new mesh generate with 0.01 gloval scale, so I reset scale as visible (blender 1m unit) I do not know why it happen)

 

Can you send blender scene to test?

Share this post


Link to post
Share on other sites

That error could happen if after pressing export button you modify mesh in blender before pressing sendback. The objects has different polycount.

Share this post


Link to post
Share on other sites

I send zip scene. which only include duplicate mesh.. I have a few question about import option too, about the mesh.

I suppose if it (change vertex count) happen, the mesh attached some modifier. 

but I do not change mesh, once I export the duplicated mesh.  (I select it only),

One thing I sitll not clear with you tube training video, 

this mesh only need one UV set. but in blender (and it is desgined as default), have 4 material group. about the case, which import option should good for the mesh?

I believe, I need not 4 UV set,  and textures, of the mesh.. (I do not need to generate 4 texture for each mat (UV set) about diffuse , glossy etc^^;)

So I usually un-check all, when import, then 3d coat keep 1 UV set, with 4 material group. if it matter to re-import texture about blender? 

Anyway I only need to know, correct work-flow, so I simply wait you test... (I believe I miss something,,^^;)

Share this post


Link to post
Share on other sites

If you want to use uvsets and not materials please uncheck option "Treat materials as separate textures" from import window. That way textures are created based your uvsets. I can see that your way to create nodes in first place can confuse applink. Right now applink dosen't handle well if only Material Output node is in nodetree. I will improve this. When you create new material, it creates principled BSDF and output nodes and link them together... this is what applink is trying to find too.

Share this post


Link to post
Share on other sites

OK  I see. then I now add pricipled bsdf for all material again.  

Then about UV sets, yes as you said , if I un-check "Treat materials as separate Textures",  3D coat only use one UV sets, for all material. It is what I need. 

(then I can still select each part of mesh, but use one UV set texture for all material. ) 

But when I export from 3d coat which option is correct,, and plug in will handle correctly attach nodes for the blender mesh?

That means, plug in need to generate 3d coat node for each material, but use same UVset texture, for all material slotl (diffuse, glossy, metalness, normal,,).

I afraid, if it not work well...  (if plug in can manage it, I reall welcom)    anyway, try again. thanks. 

==========
Ah OK now it work as same as before ;)

The problem seems, when I first try to export material, I keep all nodes (which custom made, then not use principled bsdf, but many group node)

so there was case, plug in can not atach new node correctly.  Then next I delete all nodes. (only remain material out put) but it cause issue too.

 

most reliable way seems , set principled bsdf for all mat.. (without set any texture) to export  I feel. 

 

Edited by tokikake

Share this post


Link to post
Share on other sites

Ah thanks, finally I can directly generate nodes with one click, and tweak again in 3d coat, then foce to overwrite..it suceed. I need not serch around texture,,.:)

and alpha node work correclty.   I will test with armature modified (and other mesh),, but basically making duplicate mesh then remove modifiers once, seems most reliable.

import.thumb.JPG.7c9ef4aa218eac3733b9924297329e05.JPG

 

Share this post


Link to post
Share on other sites

I don't know if it's relevant, but I advise using the node wrangler addon (is included in Blender by default)

Add Texture Setup
Adding the same set of nodes over and over again every time you want to add an image texture is tiresome.

Instead, select your shader and hit Ctrl+T to add the image texture, mapping node and texture coordinates.

If you already have a texture node, then just the mapping node and texture coordinates will be added.

Share this post


Link to post
Share on other sites

@tokikake

I realized that you are using old version(Only send button)  there is better version where is (send and getback buttons). It works better and it also may have fix for some errors you have had. Please roll up from this thread a bit and download the latest zip file.

Share this post


Link to post
Share on other sites

mmm,, I still see same error when I try to use mesh which applied armateru modifier and sub D modifier.

I actually remove all modifier, and remove shape keys (which driven by bone), then export the mesh with blender applink.

but when I import it to blender,, blender make new duplicate mesh (I think it is usual) without any material.

About this mesh, I already apply principled BSDF shader for all material. then can not find reason why there is case it not work well.

sometimes mesh actually corrupted as if vertex order change, but as I said, I aleady remove all driver, modifier, and shape key, after that select the mesh,

then export.  Only one thing I can suppose is,, if there is up-date problem. when export mesh.. I select the clean mesh, but if data remain old modifiere applied one etc. with blender new 2.8 depthgrap.  I am not master ob blender python, but I remember, 2.8 need some new function to up-date mesh data correctly. Then I afraid it.

If I delete all, then append the mesh in another scene,, this problem seems not happen.  

FBX Import: start importing I:\myfile\3dcoat\link\export\\3DC001.fbx
FBX version: 7400
        FBX import: Prepare...
                Done (0.000000 sec)

        FBX import: Templates...
                Done (0.000000 sec)

        FBX import: Nodes...
                Done (0.000000 sec)

        FBX import: Connections...
                Done (0.000000 sec)

        FBX import: Meshes...
                Done (0.734375 sec)

        FBX import: Materials & Textures...
1 0
1 0
1 0
                Done (0.203125 sec)

        FBX import: Cameras & Lamps...
                Done (0.000000 sec)

        FBX import: Objects & Armatures...
                Done (0.000000 sec)

        FBX import: ShapeKeys...
                Done (0.000000 sec)

        FBX import: Animations...
                Done (0.000000 sec)

        FBX import: Assign materials...
                Done (0.000000 sec)

        FBX import: Assign textures...
                Done (0.000000 sec)

        FBX import: Cycles z-offset workaround...
                Done (0.000000 sec)

        Done (1.078125 sec)

Import finished.
Array iterator out of range: (index 63384)
Traceback (most recent call last):
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 98, in every_3_seconds
    workflow1(ExportFolder)
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 1328, in workflow1
    blender_3DC_blender(texturelist)
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 1067, in blender_3DC_blender
    updatemesh(objekti,obj_proxy, texturelist)
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 334, in updatemesh
    v.co = proxy.data.vertices[ind].co
IndexError: bpy_prop_collection[index]: index 63384 out of range, size 63384

Share this post


Link to post
Share on other sites

Thanks Yes I really need the 2 button version !!!   I try again..  

Then one thing I really hope to know is, 3d coat export setting options when I return textues in blender.

I suppose I can set texture directory, or how set texture name with those options, but if it cause matter?

which map will be sent, I usually use default customize option, and I know it have worked. 

(there were case, some texture name not used for plug in, like normal >> normalmap etc,, )

But Can I still change texture folda name, etc with export option? then plug in can serch texture with the setting?

open3.thumb.JPG.e00f4eabb47032a1f5e9186e5a22c66d.JPG

Edited by tokikake

Share this post


Link to post
Share on other sites

mmm,, I really do not know when it happen, but I often see, the "index out of range" error, when return to blender. (now I use version which have "Get Buck" button.

I can confirm the mesh have no sub-D, and modifier, shape keys. Because I remove untill I export.

in 3d coat, mesh is same. then I add material ,re import again (try open in original app, and export blender)  . but now I get these error about the item.

boots.thumb.JPG.8aec5922b2b52694e87b83e5cd7eb32b.JPGbooterturn.thumb.JPG.de46fd198976fef441ba9a2c80dea5eb.JPG

output log

Array iterator out of range: (index 63384)
Traceback (most recent call last):
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 339, in invoke
    workflow1(ExportFolder)
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 1356, in workflow1
    blender_3DC_blender(texturelist)
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 1094, in blender_3DC_blender
    updatemesh(objekti,obj_proxy, texturelist)
  File "C:\myprograms\blender-2.83.5-windows64\2.83\scripts\addons\io_coat3D\__init__.py", line 307, in updatemesh
    v.co = proxy.data.vertices[ind].co
IndexError: bpy_prop_collection[index]: index 63384 out of range, size 63384

===
Then I suppose, the returned mesh change vertex order. . (the broken mesh is same when I improt wrong mesh for shape key)

or when export mesh blender happend to keep old mesh data, which I removed all modifier. (though I select clean one, and exported)

Share this post


Link to post
Share on other sites

I see that you have "Export with modifiers" turned on in applink settings. If you turn this option off. Does that helps?

That option only says that it will apply all modifiers into mesh before exporting the mesh into 3d-coat and most situations you want to turn this option off.

Edited by haikalle

Share this post


Link to post
Share on other sites
2 hours ago, haikalle said:

I see that you have "Export with modifiers" turned on in applink settings. If you turn this option off. Does that helps?

That option only says that it will apply all modifiers into mesh before exporting the mesh into 3d-coat and most situations you want to turn this option off.

Thanks I may try again.  yes I understand the option meaning, pefectly forgot about it ^^; 

And after export mesh from blender to 3d coat, then return mesh, add on must need to export FBX from 3d coat? 

 (I used " open in original app" command, which 3d coat training video explain as new option. (remove bug )

I did not modify UV or change shape etc.  but  I still need to check on export mesh in 3d coat export option? 

or even though I did not activate it (only export textures from 3d coat), add on try to duplicate mesh?   

And there are quite a few export option about texture naming,  Can I set as I like?  eg (do not include UV set name, and do not include obj name, because I do not export mesh) 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×