Jump to content
3DCoat Forums

ajz3d

Contributor
  • Posts

    2,478
  • Joined

  • Last visited

Posts posted by ajz3d

  1. 19 hours ago, ebitz said:

    @SERGYINew Linux Build .57 crash on startup. Something to do with Python.

    (...)
    Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
    (...)

    I just installed trial version of 3DC 2022.57, and I'm getting the same error:

    ▶ ./3dcoat          
    Could not find platform independent libraries <prefix>
    Could not find platform dependent libraries <exec_prefix>
    Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
    Python path configuration:
      PYTHONHOME = (not set)
      PYTHONPATH = (not set)
      program name = 'python3'
      isolated = 0
      environment = 1
      user site = 1
      import site = 1
      sys._base_executable = '/usr/bin/python3'
      sys.base_prefix = '/usr'
      sys.base_exec_prefix = '/usr'
      sys.executable = '/usr/bin/python3'
      sys.prefix = '/usr'
      sys.exec_prefix = '/usr'
      sys.path = [
        '/usr/lib/python38.zip',
        '/usr/lib/python3.8',
        '/usr/lib/lib-dynload',
      ]
    Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
    Python runtime state: core initialized
    ModuleNotFoundError: No module named 'encodings'
    
    Current thread 0x00007f8995d83200 (most recent call first):
    <no Python frame>

    The program does not start at all. I'm using Python 3.10.6-3+b1.

    4 hours ago, soru said:

    Installing python3.8 will fix it.

    It's not possible for me to install Python 3.8.

  2. I'm currently weighing whether to upgrade from V4 to 2022 or not. In my pipeline I use Alembic all the time as an intermediate geometry exchange format between Houdini, Substance software, and Blender. The format, amongst many other things, supports cameras, custom geometry attributes, like vertex colors, but most importantly, it's an open format, contrary to the awful proprietary Filmbox, which I managed to almost completely expunge from my workflow. What are the odds that Alembic support will be implemented in the nearby future?

  3.  

    5 hours ago, AbnRanger said:

    I tested it on my end, and FILE > SAVE AS works fine. Can you (temporarily) rename your MY DOCUMENTS/3DCOAT-2021 folder > Restart the application and see if that helps? If so, some .xml file probably got corrupted

    Yes, purging 3DC config path helped with "File->Save As" and "File->Open". Thank you, @AbnRanger.

    Frankly, I find this odd that a relatively new 3D Coat configuration gets corrupted so easily. I didn't change much in the settings. So the question is why 3D Coat's XML parser keeps corrupting files that it processes? For what it's worth, I updated Mantis report with a recursive diff of XML files from "factory" and corrupted config directories.

    Of course, the problem with file chooser is not 100% resolved because selecting an arbitrary path in "Edit->Relocate 3DCoat's data" still crashes 3D Coat in the same manner. But I guess it's a subject for a separate bug report.

  4. Hi @AbnRanger,

    Yes, I tested it with different scene content. From default sculpt objects, through some retopo primitives, to default paint objects. The only thing that varies is how long the file chooser is displayed before the program crashes. Sometimes it's about a second, sometimes a fraction of it.

    So it doesn't seem to be related to what is currently in the scene, because the crash happens right after 3D Coat displays the file chooser and before it dumps contents of the scene to disk. Even if I invoke "Save As" in an empty scene, right after launching 3D Coat.

    It goes like this: file chooser shows up, and a second (or a fraction of a second) later 3D Coat process is gone.

    There are some other aspects of the program (all related to file chooser is some way) that are always crashing 3DC. Like selecting some arbitrary directories (like my home path) with file chooser that was invoked by "Choose folder" button in "Edit->Relocate 3DCoat's data". Or "File->Open", which always crashes, like the "File->Save As".

    On the other hand, some file chooser calls won't crash the program, like "Select Mesh" from the Import tool of the Sculpt room. Or Import/Export in Retopo Room, "Script->Run Script", "Edit->Preferences->Save/Load/Save Theme". Those guys work OK.

    There are probably more of those that work, as well as those that don't, but I don't have time to test them all.

    1. Show/Hide Reference Images.
    2. With file chooser dive inside a directory containing images.

    3D Coat crashes without output to stdout.

    It won't crash on all directories though. For example, with a blank new config, it won't crash on UserPrefs/UserScenes, which contain two jpg files (images generated by 3D coat while saving scenes) but it will upon entering UserPrefs/SmartMaterials.

    Debian Bookworm.

  5. Hello @AndrewShpagin, @SERGYI

    In 3D Coat versions prior to 2021, to point the program to another configuration directory, we could set an environment variable named COAT_FILES_PATH. This wasn't optimal, but it worked.

    Now it seems that in 3D Coat 2021, this variable is no longer respected. Despite its existence, the program keeps on creating config paths in $HOME/Documents/3DCoat-2021 and also, probably because of some legacy reasons(?), in $HOME/Documents/3D-CoatV4. Obviously, I don't want this to happen. I don't even have Documents directory in my $HOME path. I have doc. ;)

    So, how can we change the config location in 3DC 2021?.

    Having configuration files in Documents on GNU/Linux feels very awkward. They should be placed either in a dot directory inside $HOME (like ~/.3dcoat for instance) or, ideally, in paths indicated by FreeDesktop's XDG Base Directory specification.

     

    The second issue I have, is with file duplicates.

    I found 295 duplicate files under different names inside the installation path (unpacked from tar.bz2 archive). Please consider using relative symlinks for those files, as this could slim down the unpacked archive size by about 480 MB.

    Additionally, many non-config files from the installation path (textures, icons, shaders, etc.) are copied to configuration path at the first start of the program (if config path doesn't exist). This creates even more duplicates of files which, after all, are already accessible by the program. On a clean install, that's additional 180 MB of wasted disk space. Is this really necessary? Correct me if I'm wrong, but I think it's pointless to create a copy of something that wasn't modified yet and is still at its defaults.

  6. @Andrew Shpagin

    Is AngelScript's split method of the string data type implemented in 3D Coat 2021?

    I keep on getting:

    Quote

    No matching signatures to string::split(const string) const`

    My current code:

    Vox v;
    const string s = v.names();
    array<string> lrs = s.split(',');

    I think I'm misinterpreting the definition of this method, as it seems to be using AS object handle (@), which I'm not familiar with:

    array<string>@ split(const string &in delimiter) const  

    Could you please provide an example of how this method is supposed to be used?

  7. Try this:

    / This function should be called before you call any of modal dialogs
    // function if you want to press button number ButtonIndex
    // (first button is 1, second is 2).
    void PressInNextModalDialogs(int ButtonIndex);
    // For example, if you have Yes and No buttons and you call
    // PressInNextDialogs(1) before showing dialog then Yes will be
    // pressed automatically.
    // You should call PressInNextDialogs(-1) to stop automatical
    // pressing of buttons.
    

    Source: https://pilgway.com/files/scriptdocs/ABuildDialogs.html

    You would probably have to insert this at the end of your decimation dialog callback function. Otherwise it would press buttons in the decimation dialog.

    • Thanks 1
  8. Thanks for the info, @Allabulle.

    Lack of information ultimately leads to speculation and gives birth to gossip, so for a brief moment I had suspicions that Linux builds might have been silently dropped. Especially, if to consider that the last time we saw any news about them was on summer this year. It's good to hear that they will soon be resumed, but I hope it will happen sometime next year. :)Working with 3DC via Wine is quite cumbersome.

    @SERGYI, I would greatly appreciate if the new build could respect XDG Base Directory Specification. Having to define COAT_FILES_PATH environment variable feels awkward, especially when it doesn't stop 3D Coat from creating strange directories inside the root of $HOME each time the program is launched. 3D Coat also likes to change file permissions of COAT_FILES_PATH to 777, which is something that shouldn't happen. Please give these two things a thought.

  9. On 7/19/2019 at 7:14 PM, SERGYI said:

    Recently I am working on problems with "3DCoat" under macOS. But under Linux Ubuntu 19.04 I have built our standalone standard pen pressure test http://pilgway.com/~sergyi/TEST STROKE/TEST STROKE.tar.xz (run from Terminal) and have started to investigate "3Dconnexion" support using http://spacenav.sourceforge.net/

    Hey, thanks for the info @SERGYI. I was on vacation for almost a month, away from technology, reloading my batteries a bit. That's why I'm replying with such a long delay.

    It's great to hear that something is happening, though I pity that I don't have a 3DConnexion device to test things up.  It would be fantastic if you could drop us, GNU/Linux users, an info from time to time about the progress, no matter if it's significant or not. You can bet that we would appreciate it. Cheers. :drinks:

    • Thanks 1
  10. 6 hours ago, Innovine said:

    (...) go from the UV'd isosphere's heightmap back to the equirectangular projection, can you suggest how?

    Just perform standard texture baking of your highpoly detailed sculpture into a sphere that has equirectangular uvs. I'm not sure if it won't reintroduce texture distortion at the poles though.

  11. I usually, at the start of the project, import a reference box of 1m x 1m x 1m for calibration measures. In the import tool I reset scale and axis and observe if my mesh is to small or too large to work with. If one of these are true, in my DCC program I multiply the scale of the object in increments of 10 or 100 or 1000, whatever brings best results in 3D Coat, and export it again.

    3D Coat does offer us a chance to remember transforms we did to the imported mesh and allows to specify a precise scale of the imported object in percents (why not -0..1+?) and reverts them on export (that is, if we clicked "Yes" to the "This is the first time you have tried to import and object..." modal window) Scaling is stored in Geometry->Edit Scene Scale, but somehow I always found it too cumbersome to work with.

    On object reimport I divide the mesh by the same factor. I use Houdini 90% of the time, so rescaling before export and after import is merely a matter of configuring xform nodes with appropriate scale values in order for rescaling to happen automatically. This effectively brings it to a one-click operation - "reload file".

    PS. Offtopic stuff, but if someone of Blender Gurus knows a way to reload a geo file that is already loaded in .blend file, please do let me know. Many times I had everything set up for EEVEE rendering, with just a single mesh passing through multiple iterations, and all of the data bound to it was lost upon reimport. Shaders, modifiers, transforms, etc. while I'd only like to update its geometry.

  12. Why not just use a displacement map? I don't see the point of the rest of it..


    A valid question. The only difference is that the method above is UV agnostic and in theory should work with any convex mesh, whatever its uvs may be.
    But if you have an icosphere with polar coordinates that fit the displacement map nicely, there's no reason not to use it.

    Ok I'm struggling to get even the low rez version into 3d coat, and I am wondering... with a 16k x 8k heightmap, thats like 128 million data points... can 3d coat handle that as the starting point for sculpting?


    How and what are you importing to 3DC?

    Once I've sculpted some more surface detail, do you think I can export it as fbx back to blender, and get blender to render out the heightmap at, say, 32k x 16k to the original projection?


    My guess is that it solely depends on your hardware. Memory footprint of a mesh that is supposed to be mapped 1:1 in vertex-to-displacement-map-pixel ratio, can be significant. Especially if we're talking about 16x8k displacement map.

    If you need to do some close-ups of a specific area (do you?), why not cheat your way out by using a separate mesh for that zoomed-in shot and leave the rest of the moon lowres or not import it at all? This way you could import just a fraction of the moon to 3DC for detail sculpting, and then combine it with the rest of the celestial body in your main DCC software down the stream.

     

  13. Your baked lightmap becomes the new height map. You then use the displace modifier to bake it into the mesh before exporting to 3DC. With icosphere's topology, you won't have to worry about pinching on the poles.

    Make sure to vertically flip your original height map before baking it into lightmap texture because otherwise it will end up inverted (due to how refraction works). Also, set Glass BSDF IOR to 0.

    Some screenshots of the procedure:

    blender-baked-envmap.thumb.jpg.21ad6dd6c71eed702e1d77b5dcb3c679.jpg

    blender-lightmap-as-displacement.thumb.jpg.f7010c199a0cfabfc6bec3de2d2b61af.jpg

    You can compare the displacement result to this photograph: https://en.wikipedia.org/wiki/Ceres_(dwarf_planet)#/media/File:PIA19310-Ceres-DwarfPlanet-20150225.jpg

    Cheers

    PS. Andrew Price has a good video on lightmap baking in Cycles:

    https://www.youtube.com/watch?v=sB09T--_ZvU

  14. @Innovine you can use Blender to prepare the mesh for sculpting.

    Use the Ceres texture as linear environment map and bake the lighting into high res uv unwrapped icosphere. Be sure to set icosphere's material to a perfect mirror beforehand and to use linear image as render target.

    Then, use this texture to displace points of the sphere using displace modifier and export the model to 3D Coat. The greater the icosphere resolution, the finer the detail you will get from displacement.

    ceres-icosphere.gif

×
×
  • Create New...