

kritskiy
Member-
Content count
62 -
Joined
-
Last visited
Community Reputation
8 NeutralAbout kritskiy
-
Rank
Neophyte
Recent Profile Visitors
-
I didn't touch smart materials and all that but for the moment this sounds like something doable. with a simple script. could you please write step by step what you're trying to achieve? Like command1, command2, etc: it's always difficult to understand someone else's workflow :)
-
Hi everyone, is there a way to use Curve Stroke on a back side of a mesh? Every time I apply a stroke there are some line-bug-things happen on the distant part of my mesh: 2020-04-07 07-54-27.mp4
-
Improving batch renaming script
kritskiy replied to AntonTenitsky's topic in SDK, scripts & plugins development
I guess a solution would be to have a specific pattern for a material name in the volume name and check against it: something like Volume_mat_Mat_Name, a regex would look for mat_*, something like (?<=_mat_)(.*), but I'm not sure AngelScript in 3DC supports regex -
Improving batch renaming script
kritskiy replied to AntonTenitsky's topic in SDK, scripts & plugins development
I think you've changed an object shader between the runs? It only checks a name against the current shader, so if you have an object Volume with a shader Cartoon_Orange, after adding a suffix you'll get Volume_Cartoon_Orange. Next time you run the script, it'll check if there's Cartoon_Orange in the Volume_Cartoon_Orange, and if there is, it won't change it. But if you change the shader to Cartoon_Blue, the script will check if there's Cartoon_Blue in Volume_Cartoon_Orange: it's not there, so the suffix will be added to the whole thing: Volume_Cartoon_Orange_Cartoon_Blue. -
Improving batch renaming script
kritskiy replied to AntonTenitsky's topic in SDK, scripts & plugins development
Update. Rename children will now adds _inst_ to instanced volumes (only if the had inst in their names already) Another script, Add Material Name as Suffix will add a shader name to an object as name suggests add_material_as_suffix.cpp rename_children.cpp Note that currently there's a bug where scripts will work on an object under a cursor. Make sure you hover your cursor over nothing before running them. -
Change parents with a script?
kritskiy replied to kritskiy's topic in SDK, scripts & plugins development
Changing parents was added somewhere around 4.9.30, moving layers to indexes was added in 4.9.33. Thank you Vitaliy! -
3DCoat 4.9 BETA testing thread
kritskiy replied to Andrew Shpagin's topic in Beta Releases, Bugs & Development Discussion
Thanks everyone, I'll try .31 (this was done in .30) and will disable sculpt layers. AbnRanger, yes, that's how I fixed this, however this happens at least once-twice a day, sometimes on different end of a model and I don't notice it until undoing is not an option... while this is fixable I'd prefer this won't happen at all :/ -
3DCoat 4.9 BETA testing thread
kritskiy replied to Andrew Shpagin's topic in Beta Releases, Bugs & Development Discussion
My meshes are keep getting destroyed this happens quite often, I think it started on a stable 4.8.X and still continues (the video is from 4.8.30). Never had these issues on 4.7. I don't know the exact steps to reproduce, but this happens mostly after undoing something. Here I noticed some holes, run to voxel / remesh with different outcomes. 20-03-16-18-43-30.mp4 Here after an undo the mesh has covered with holes. For this one I'm attaching a scene 12_001.3b -
Is there a way to move layers in a voxtree? To specific layers, to specific indexes: doesn't matter. There's a Vox.changeParent(string), there's a cmd('changeParent_Name'), but none of those seem to do anything...
-
Improving batch renaming script
kritskiy replied to AntonTenitsky's topic in SDK, scripts & plugins development
Ok here's another version. This is fun! 1) if a layer has children, children will get parent name + counter 2) if a layer has no children and its parent is Root all layers will be renamed to volume_001, volume_002, etc 3) if a layer has no children but has a different layer as a parent, parent layer will be selected and children will be renamed the same as in 1) // globals int count; int padding = 3; // how many symbols in the counter (with padding = 3, 1 will become 001, 2 - 002, etc) string original_name; void main() { count = 0; // resetting counter original_name = GetCurVolume(); // current layer Vox v; string global_name = "volume"; // if current layer has children, start renaming them if (v.count() > 0) { v.forEach("rename");} else { // if there're no children, selecting the parent layer v.parent(); //and getting its name string parent_name = GetCurVolume(); // if parent name is the same as the original name we're at Root, globally renaming everything if (parent_name == original_name) { original_name = global_name; v.forRootEach("rename"); } else { // if parent has a different name, renaming all its children original_name = parent_name; v.forEach("rename"); } } } void rename() { count++; Vox child; RenameCurVolume(original_name + "_" + formatInt(count,"0",padding)); child.forEach("rename"); } There's an interesting... thing. I assigned this script to Shift+1 and it went CRAZY starting renaming both parent layer and children with huge counters. I wonder what's happening there? -
Boolean calls act weird and remove random layers?
kritskiy replied to kritskiy's topic in SDK, scripts & plugins development
Oh wow. It seems that script is using the object beneath the mouse cursor (even though Auto Pick option is turned off). Is it a bug or a feature? I'd say a script should use what's written in a script if not asked otherwise with some sort of special option? -
Boolean calls act weird and remove random layers?
kritskiy posted a topic in SDK, scripts & plugins development
Hi, I'm having a very unstable behaviour when I try to call for Subtract from a script. For instance something simple like this void main(){ cmd("$SubtractFrom_delta"); }; that's supposed to subtract the active layer from a layer 'delta' but in my case it completely removes a different layer ('charlie') in the attached video. In new scenes it works like it should but it's like with time a scene degrades or something and this one and similar scripts start to act on completely random layers. Does anyone have any ideas about what's happening? 2020-01-03 12-17-54.mp4 -
ДА. И это адски бесит. Видел топик, что эта ошибка была исправлена в 4.9.9, но у меня она появляется до сих пор в 4.9.17
-
I still have this issue: had it on 4.9.15, now on 4.9.17
-
Improving batch renaming script
kritskiy replied to AntonTenitsky's topic in SDK, scripts & plugins development
Sorry for posting a lot, but Edit button disapears after several hours, so... Anyway, this will also rename all the nested children: int count = 0; string original_name = ""; void main() { count = 0; original_name = GetCurVolume(); Vox v; v.forEach("rename"); } void rename() { count++; Vox v; RenameCurVolume(original_name + "_" + formatInt(count,"0",3)); v.forEach("rename"); } P.S. I wonder if it's possible to pass values to forEach? don't want to put contaminate the global scope...