Giter Site home page Giter Site logo

smokejohn / skkeeper Goto Github PK

View Code? Open in Web Editor NEW
173.0 7.0 7.0 512 KB

Blender Addon to automate the process of applying subdivision surface modifiers to models with multiple shapekeys

License: GNU General Public License v3.0

Python 99.04% Shell 0.96%
blender shapekeys 3d addon modifiers

skkeeper's People

Contributors

smokejohn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

skkeeper's Issues

Blender Crashes when using this

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.

Apply Decimate ends on last ShapeKey instead of Base

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

No longer working in Blender 4

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

Execute apply chosen modiferis via script?

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

error when applying mirror modifier

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

image

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.

2.90.1

Will you support version 2.90.1?

Traceback (most recent call last): Error

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?

New shapekeys are not animated

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.