smokejohn / skkeeper Goto Github PK
View Code? Open in Web Editor NEWBlender Addon to automate the process of applying subdivision surface modifiers to models with multiple shapekeys
License: GNU General Public License v3.0
Blender Addon to automate the process of applying subdivision surface modifiers to models with multiple shapekeys
License: GNU General Public License v3.0
Blender 3.4.1
64GB ram memory
Mesh has 23k verts and 300 shape keys
Once Blender crashes the addon wont display anymore in blender menu nor in the addon list, a manual deletion of the file is required before installing the addon again.
Will you support version 2.90.1?
Python: Traceback (most recent call last): File "C:\Users\User\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\SKkeeper\__init__.py", line 433, in execute receiver.data.shape_keys.key_blocks[i].name = sk_names[i] IndexError: bpy_prop_collection[index]: index 3 out of range, size 3
I tried the plugin in a scene where shapekeys values are changed during the animation. After applying modifiers, the shapekeys are still there with the correct names, but they are not animated anymore.
My best guess is that the shapekeys present after the plugin applies are new ones, and the original shapekeys used in the keyframes are gone.
Would it be possible for the plugin to preserve animations? Or maybe it is possible to solve that issue another way?
I have narrowed down this issue with shape keys that may be affecting the symmetry line, However there is no reliable way to fix a shape key once the error starts showing up, specifically on complex meshes. Removing the problem shape keys from the object will allow the plugin to function properly.
Python: Traceback (most recent call last):
File "C:\Users\AppData\Roaming\Blender Foundation\Blender\3.2\scripts\addons\SKkeeper\__init__.py", line 433, in execute
receiver.data.shape_keys.key_blocks[i].name = sk_names[i]
IndexError: bpy_prop_collection[index]: index 6 out of range, size 6
The result of this error will create two objects, one with the prefix shapekey! and one named sk_receiver
To reproduce:
1- create a sphere.
2- cut the sphere in half on the Y axis
3- add a mirror modifier using the Y axis
4- soft select and drag any vertices in a way that tampers with the symmetry line.
5- apply all modifiers (keep shape keys)
6- notice the error message and additional mesh in the scene.
7- on a simple mesh, it is possible to salvage the shape key by re-positioning all the vertices on the symmetry line. However complex meshes are not as straightforward and I have had no luck methodically trying to fix mine.
Any leads on how to clean up my mesh without losing the shape keys would be very appreciated!
Cheers.
Using a decimate modifier and applying it with SKkeeper leaves the resulting model as the last shapekey in the list, instead of as Basis shape.
Thank you very much for this. You are a sanity saver!
Blender 3.3.2
SKkeeper 1.6
Trying to write a script that will let me export without having to duplicate my scene - so I'm trying to run this extension via a script like so
import bpy
import SKkeeper
view_layer = bpy.context.view_layer
body = bpy.data.objects['Body']
body.select_set(True)
view_layer.objects.active = body
bpy.ops.sk.apply_mods_choice_sk()
When I try to run this I get this error
Python: Traceback (most recent call last):
File "D:\path_to_file.blend\ExportWithShapeKeys", line 30, in <module>
AttributeError: '_BPyOpsSubModOp' object has no attribute 'obj'
This is because the obj
attribute is not set since it's set in the invoke
function
Trying to add a like sets the attribute like this, bpy.ops.sk.apply_mods_choice_sk.obj = body
just throws this exception
AttributeError: '_BPyOpsSubModOp' object has no attribute 'obj'
Anyone have any idea how I can get this to work? I have a Mirror and Armature modifier - but I only want to apply the Mirror modifier via a script. Once I get this in place I'm hoping to implement an export and then an undue. This way I can do everything I need to export without duplicating the scene to keep my working model in its current state
Hello! I am getting this error with Blender 2.83, Blender 2.91 and Blender 2.92 and I fail to understand what I could be doing wrong.
Traceback (most recent call last):
File"C:\Users\Ryannessence\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\SKkeeper-master_init_.py", line 235, in execute receiver.data.shape_keys.key_blocks[i].name = sk_names[i]
AttributeError: 'NoneType' object has no attribute 'key_blocks'
location: <unknown location:-1
I have a high poly mesh with shape keys (350 shapekeys) and I was hoping to use the Decimate modifier to keep the shapekeys and have a low poly version of it. The addon only makes a copy of the first shapekey and then displays this error.
Here is what I have tried. I tried different blender versions, I tried to remove the armature modifier keeping only the decimate modifier. I also made it the top modifier. I tried removing some shapekeys. I also tried the three options you have in the addon and they all led me to that error. Any ideas?
My Genesis 8 skeletal body mesh is loosing all shape key drivers (formula with parameters and numbers, see Daz3d) after applying subdivision.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.