Jump to content
3DCoat Forums

3DCoat 2024 development thread


Recommended Posts

  • Contributor

Thanks for adding 

coat.ui.enablePenChannel

and the others. You are doing great!! also mentioning it in the Releasenotes is good!

1. Quick Question. How do I select a Front/Back Color in UI with Python? ae with hex #7f7f7f??

2.When I Select Documents\3DCoat\python-3.8.10\python.exe in MS Code as Interpreter i get:image.png.ff26b646adcc5bc48fcdf07315bf9757.png

Its running anyway but it is always reporting as Problem and falling back to another Python.

024-02-28 09:21:25.492 [warning] Identifier for virt-virtualenv failed to identify C:\Users\xxx\Documents\3DCoat\python-3.8\python.exe [Error: ENOENT: no such file or directory, scandir 'C:\Users\xxx\Documents\3DCoat\python-3.8'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'scandir',
  path: 'C:\\Users\\xxx\\Documents\\3DCoat\\python-3.8'
}
Link to comment
Share on other sites

45 minutes ago, Ctc_nick said:

Thanks for adding 

coat.ui.enablePenChannel

and the others. You are doing great!! also mentioning it in the Releasenotes is good!

1. Quick Question. How do I select a Front/Back Color in UI with Python? ae with hex #7f7f7f??

2.When I Select Documents\3DCoat\python-3.8.10\python.exe in MS Code as Interpreter i get:image.png.ff26b646adcc5bc48fcdf07315bf9757.png

Its running anyway but it is always reporting as Problem and falling back to another Python.

024-02-28 09:21:25.492 [warning] Identifier for virt-virtualenv failed to identify C:\Users\xxx\Documents\3DCoat\python-3.8\python.exe [Error: ENOENT: no such file or directory, scandir 'C:\Users\xxx\Documents\3DCoat\python-3.8'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'scandir',
  path: 'C:\\Users\\xxx\\Documents\\3DCoat\\python-3.8'
}

Please read about debugging in the Manual.
https://pilgway.com/files/3dcoat/PythonAPI/index.html
You can't just choose the interpreter because Python is not external to 3DCoat, it is embedded.

Regarding font, there is settings class, you may change any option using that class:

coat.settings.setString("FontColor1", "FFFF0080")

As stated in options class doc:

ID the identifier, go to Documents/3DCoat/UserPrefs/Preferences/, look for files Options #.xml, open and look for required identifier, use it as ID


And if you opened the file as RMB->Edit in 3DC, the .pyi file will be copied and VS Code will open the project folder, launch.json created. The correct hints will appear as you type code.

Also, the AI helper for 3DCoat coding will appear soon. The current one may be helpful, but not always.

  • Like 1
Link to comment
Share on other sites

  • Advanced Member

Having just upgraded, let me reiterate a few things I've requested over the years, all related to painting:

-using CTRL to invert a tool for _all_ stroke modes. Currently shapes (vertex lasso etc) don't erase when holding down ctrl for instance.

-Nodes in the Paint room (not just sculpt!)

-A metalness channel we can toggle on/off like the others

-Fill layers (non-destructive layers that fill a colour, texture, or nodes)

-Fill Masks (non-destructive masks that automatically mask a certain Object, Surface Material or Poly Group, updating when these change (internally or from a reimport)

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

  • Contributor
2 hours ago, Andrew Shpagin said:

Please read about debugging in the Manual.
https://pilgway.com/files/3dcoat/PythonAPI/index.html
You can't just choose the interpreter because Python is not external to 3DCoat, it is embedded.

Regarding font, there is settings class, you may change any option using that class:

coat.settings.setString("FontColor1", "FFFF0080")

As stated in options class doc:

ID the identifier, go to Documents/3DCoat/UserPrefs/Preferences/, look for files Options #.xml, open and look for required identifier, use it as ID


And if you opened the file as RMB->Edit in 3DC, the .pyi file will be copied and VS Code will open the project folder, launch.json created. The correct hints will appear as you type code.

Also, the AI helper for 3DCoat coding will appear soon. The current one may be helpful, but not always.

Hi!! I meant Frontcolor not Font :rofl: change with Python. This guy: image.png.0b97446c51e904648742ac317ed6382c.png

It has no asignment with rmb+mmb command, like the channels, thats why i ask. I can not find the Python Command.

I will read the Docs for the debugger thing. definitions and Hints are already displayed fine!! I didnt select anything, and I know its embedded. Should I just ignore: [warning] Identifier for virt-virtualenv failed to identifyimage.thumb.png.1e8ee670af5f62345f6ef83c3938e1dd.png

Ill now stop bothering, because Python in Coat really evolved in a positive way. My Script is working good. So Thank You!!

If you are able to feed the AI with all functions this will be very handy. ChatGPT does a very good Job aswell, for the Python Stuff and general questions. yes well sometimes.

Edited by Ctc_nick
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, Mighty Pea said:

Having just upgraded, let me reiterate a few things I've requested over the years, all related to painting:

-using CTRL to invert a tool for _all_ stroke modes. Currently shapes (vertex lasso etc) don't erase when holding down ctrl for instance.

-Nodes in the Paint room (not just sculpt!)

-A metalness channel we can toggle on/off like the others

-Fill layers (non-destructive layers that fill a colour, texture, or nodes)

-Fill Masks (non-destructive masks that automatically mask a certain Object, Surface Material or Poly Group, updating when these change (internally or from a reimport)

At least first one will be done for the next build.

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

  • Advanced Member

Oh, another one I requested in this thread already, but I fear it got lost: The ability to get rid of this window entirely, not just collapse it. image.png.ef455d0dc1179584b1b2601bd4a085f4.png

Hotkeying of Brush Presets would also be great!

And while we're reiterating points:

-Preference for Layer Thumbnail size, and preference for the size of the thumbnail you get when you hover

-Hotkey for toggling between painting/displaying a layer and its mask, I suggest alt-clicking as in Photoshop

-Hotkey for turning mask on/off (shift-click?)

-Brush Tilt/rotation: Many tablets have tilt and rotation, and it's an annoying limitation not to have access to these. Especially brush rotation would help a _lot_ in the style I work in.

 

Another quirk related to the ctrl-inversion of tools is this:

3DCoatGL64_xcapFVHp68.gif.25649b88f1d79e161185b43e0339818b.gif

If you press ctrl while already drawing, you'll get an odd pattern of erased pixels. This happens every so often, and if you're working fast you might not notice!

If you let go of ctrl before finishing a stroke however, nothing happens. So intended or not, it's an odd discrepancy

Edited by Mighty Pea
Link to comment
Share on other sites

  • Advanced Member

Oh, another long-standing request I'm only now thinking of:

-Allow users to paint outside of uv islands in the Texture Editor. As it stands, when moving from the inside to the outside, strokes are often cut off too soon

Here's a gif that should hopefully demonstrate the issue well:

 

3DCoatGL64_BRgs8YkvvC.gif.2cced9aecef3dd52aa61c36c4e50ee24.gif

I set the Steady Stroke as high as it goes to show it as well as I can

 

Edited by Mighty Pea
  • Like 2
Link to comment
Share on other sites

42 minutes ago, micro26 said:

Thank you for the layer updates! Quick question does the layer group discards included layers blend modes (multiply overlay etc) ?

It does not discard. But bottom layer in group acts over empty background, second acts over first etc. So the group with just one layer inside looks like that layer is not blended (except some blend operations).

  • Like 1
Link to comment
Share on other sites

  • Member

Just a quick upgrade related question...

I've just updated to 2024.13 and have lost all my keyboard shortcuts, grid settings, panel arrangements, custom brushes, sculp object folders, etc...

Is there a simple way to use the settings I had?  Or do I have to reload and reset everything manually?

 

When uploading, I did get a message saying that because of a conflict or incompatability with onedrive, lots of config stuff was being moved to (I think) my user folder. I didn't really pay too much attention to the details of the message...

Cheers, Derek 

Edited by DMG
Link to comment
Share on other sites

Your old files placed at c:/Users/_username_/OneDrive/Documents/3DCoat/

Since the 3DCoat 2024 new placement is (to avoid conflicts with OneDrive):

c:/Users/_username_/Documents/3DCoat/

So, you may copy the folder UserPrefs from the first folder to second one manually and all your settings and alphas will appear . 

 

 

  • Thanks 2
Link to comment
Share on other sites

  • Member

Thanks Andrew.

I tried that, but it didn't work. Then I remembered I'd relocated all 3DCoat's data to a folder on my D: drive.  Pointed it to that, and and everything is back where it belongs.

 

Thanks,

Derek

  • Thanks 1
Link to comment
Share on other sites

  • Member

a small request for dev team to consider.

Can we have the option to remember the setting for resampling when click Control R or Enter? 

If the user does not choose the "remember setting", clucking Ctrl + R will pop up the dialogue.

If user choose remember setting, ctrl + r will resampling without dialogue pop up, until user click another key like shift + ctrl + R to call up the dialogue.

 

IMG-20240302-WA0004.jpg

  • Thanks 1
Link to comment
Share on other sites

  • Member

Hello, Just wanted to express my gratitude because this is such a great update. Thank you sincerely to all of the devs. The new masking system is so much more intuitive, and I can safely tuck away Substance Painter forever now :)) Thank you guys! Keep up the great work.

  • Like 1
  • Thanks 4
Link to comment
Share on other sites

  • Advanced Member

Just something I noticed: the 'Copy Channels' dialog doesn't yet offer copying from or to masks.

image.png.3121233625449d090d93cb999627a13c.png

As I often do this, it'd be really useful if I didn't have to resort to workarounds with selection etc

  • Like 1
Link to comment
Share on other sites

  • Member
4 hours ago, Mighty Pea said:

Just something I noticed: the 'Copy Channels' dialog doesn't yet offer copying from or to masks.

I was trying the same thing today.  I just copied the red, green and blue channels individually to the mask channel and it worked fine. I suppose the mask should just be a single B&W  channel, but it works. But being able to copy all three channels at the same time would save some clicking.

It would also be good if there was a function to select a non mask layer, and make it a mask of a different layer. But I suppose this is just a 'same but different' approach to copying another layer to a mask layer. 

Link to comment
Share on other sites

  • Contributor
Carlosan
This post was recognized by Carlosan!

Ctc_nick was awarded the badge 'Helpful' and 1 points.

On 3/2/2024 at 3:56 PM, Jones C said:

a small request for dev team to consider.

Can we have the option to remember the setting for resampling when click Control R or Enter? 

If the user does not choose the "remember setting", clucking Ctrl + R will pop up the dialogue.

If user choose remember setting, ctrl + r will resampling without dialogue pop up, until user click another key like shift + ctrl + R to call up the dialogue.

 

IMG-20240302-WA0004.jpg

You can do this:

1.Create an empty Python Script from Menu and paste this. 2.Assign Hotkey

import coat
 
#Desired Polycount
PolyCount=100000
 
CurName=coat.Scene.current().name()
print(CurName)
 
# we take the current volume
v = coat.Scene.current().Volume()
 
#Turn to Surface, voxels cant be decimated this way
v.toSurface()
 
# as Mesh:
m = coat.Mesh()
CurrentPolycount = v.getPolycount()
print(CurrentPolycount)
 
#m.fromReducedVolume(v, reduction_percent=99, with_subtree=0, all_selected=0)
m.fromVolumeWithMaxPolycount (v, max_polycount = PolyCount, with_subtree = 1, all_selected = 0)
 
v.clear()
v.insertMesh(m)
se=coat.Volume.inScene(v)
#v.mergeMesh(m)
#se = v.getSceneElement()
se.mergeSubtree()
NewPolycount = v.getPolycount()
print(NewPolycount)

That way you can get quick to a desired Polycount.

I could not manage to get access to the Resample Dialog. when I tried lambda, I could not exit the dialog (stuck in loop).

#coat.ui.cmd("$ResampleParams::RequiredPolycount",lambda:str("1000"))
3Dcoat Team: Can you make a small library/list of all residing and hidden "$" Commands. or give sources where to find. 
Thank You!
 
  • Thanks 2
Link to comment
Share on other sites

  • Member

Hi to all

I´m not sure if this is the correct part of the forum to report problems.

If not please excuse and forward me to the correct section.

---

In the new version 2024.13, when loading a file with File - open, the file name in the headline is not shown. When loading with File - open recent, the file name is shown.

---

Best regards

Walter

  • Thanks 2
Link to comment
Share on other sites

  • Reputable Contributor
1 hour ago, Stefka said:

Hi to all

I´m not sure if this is the correct part of the forum to report problems.

If not please excuse and forward me to the correct section.

---

In the new version 2024.13, when loading a file with File - open, the file name in the headline is not shown. When loading with File - open recent, the file name is shown.

---

Best regards

Walter

I confirm the above. Waiting for 2024.14 to see if it is fixed.

Link to comment
Share on other sites

  • Contributor

@GorbatovskyHello!!

Could you make the selectionModes and Transform Gizmo of Modelling Room available in the Tweak Room? It would be a Timesaver. 

It is about not having to rebake everything everytime. At the moment this requires exporting and reimporting.

image.png.48ddedfac8c2bce6dbc812893fa6fee0.png

Tweak Room can only modify the highres Model of Paint, but should allow modify low paint poly.

"Take model from Paint room" merges the PaintObjects into one Polygroup and looses name. Surface Materials get lost.

-Vertex Selection Lists of Modelling and Tweak Room are incompatible. That was my second thought.

- Im dealing with adjustment of displaced mesh and not Displaced Mesh Objects. It would be so cool to have that mod factor inside Tweak or Paint Room!!

All the Best to and bless you, thx!

Link to comment
Share on other sites

  • Reputable Contributor
7 minutes ago, Ctc_nick said:

@GorbatovskyHello!!

Could you make the selectionModes and Transform Gizmo of Modelling Room available in the Tweak Room? It would be a Timesaver. 

It is about not having to rebake everything everytime. At the moment this requires exporting and reimporting.

image.png.48ddedfac8c2bce6dbc812893fa6fee0.png

Tweak Room can only modify the highres Model of Paint, but should allow modify low paint poly.

"Take model from Paint room" merges the PaintObjects into one Polygroup and looses name. Surface Materials get lost.

-Vertex Selection Lists of Modelling and Tweak Room are incompatible. That was my second thought.

- Im dealing with adjustment of displaced mesh and not Displaced Mesh Objects. It would be so cool to have that mod factor inside Tweak or Paint Room!!

All the Best to and bless you, thx!

The Tweak Room is deprecated/legacy, meaning it won't be further developed as it has long been planned to remove from the app. I have asked Andrew to merge PAINT Objects with RETOPO/MODELING meshes, so that users can work with the same low poly models in the Paint and Retopo/Modeling workspaces. Right now, they are completely separate meshes. You can copy Paint Meshes to the Retopo/Modeling workspace > make edits to the mesh > go to BAKE menu > choose UPDATE PAINT MESH w/ RETOPO MESH. Yes, that is a work-around, but merging of the two mesh types is obviously a major undertaking, so it may be a long time before we see the merger...even though Andrew (Owner/Chief Developer) knows it would be beneficial. 

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

  • Member
Posted (edited)

Looking forward to the merger. It looks like a major overhaul on existing software architecture, so please take all the time needed to implement, if it is in the developer road map.  Maybe, just maybe, a simple rig system for the mentioned merged room that allow easy posing for character.

Edited by Jones C
  • Like 1
Link to comment
Share on other sites

  • Contributor
5 hours ago, AbnRanger said:

The Tweak Room is deprecated/legacy, meaning it won't be further developed as it has long been planned to remove from the app. I have asked Andrew to merge PAINT Objects with RETOPO/MODELING meshes, so that users can work with the same low poly models in the Paint and Retopo/Modeling workspaces. Right now, they are completely separate meshes. You can copy Paint Meshes to the Retopo/Modeling workspace > make edits to the mesh > go to BAKE menu > choose UPDATE PAINT MESH w/ RETOPO MESH. Yes, that is a work-around, but merging of the two mesh types is obviously a major undertaking, so it may be a long time before we see the merger...even though Andrew (Owner/Chief Developer) knows it would be beneficial. 

Hi! Thank you for your response.

That would lead to removing the tweak room, which is the only room which CAN edit the Paint Model. (without changing anything about the UVs and not caring about streching uvs and no baking, just translate some vertices).  I dont think merging is the right word. More like Making a List of all Positons in the Retopo and Update the Positions of the geometry in Paint. That should not be a major undertaking, but if Im wrong could explain some details, where?

Update paint mesh w/retopo mesh unfortunately does not work in Microvertex Mode, as it turns the Model into PerPixelPaint Mode. The legacy Tweak room can already do it, yes i know Blender can do it easyly in Edit Mode, but it would be fantastic to have it here, to finish it in 3dcoat. 

  • Like 1
Link to comment
Share on other sites

I think the same.

The great challenge for this year must be to unify workflow.

The global view must be changed from separating tasks by workspaces (cad style) and grouping by the 3 large interaction groups: highpoly, lowpoly, paint. 

And this 3 data-blocks groups must be linked for easy interaction.

image.jpeg

Sculpt, Retopo+Modeling, Paint+tweak+UV

 

  • Thanks 3
Link to comment
Share on other sites

  • Contributor

Just one little explanation. The Reason I use Microvertex Mode is that it supports Flat Subdivision, it even respects Hard Edges. And the Preview Display of the Mid Poly Mesh is just excellent! PPP on the other Hand is much newer and stable I think? But turns everything into a ball (Catmull-Clark) as soon as you turn on Subdivision. I cant add Loops to the Low Poly, because Nanites will take care of the Subdivision. I just import Meshes to Paint Room with "no bake option" to Edit Textures and Displacement.

Maybe this is possible:

image.thumb.png.5e5f85b064c776a0c01751715116b39c.png

In Fact the Low Poly mesh must not be altered at all, maybe just the displaymode of the highpoly in Paint, to serve as Curvature Map and AO Source which is much better in PPP.

Nice Weekend everybody!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...