Skip to content

Commit a5dc151

Browse files
authored
Update to 0.14.0
Update to 0.14.0
2 parents 6511f73 + 40c4f90 commit a5dc151

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1082
-645
lines changed

README.md

Lines changed: 56 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
# Cats Blender Plugin (0.13.3)
1+
# Cats Blender Plugin (0.14.0)
22

33
A tool designed to shorten steps needed to import and optimize models into VRChat.
44
Compatible models are: MMD, XNALara, Mixamo, Source Engine, Unreal Engine, DAZ/Poser, Blender Rigify, Sims 2, Motion Builder, 3DS Max and potentially more
55

66
With Cats it takes only a few minutes to upload your model into VRChat.
77
All the hours long processes of fixing your models are compressed into a few functions!
88

9-
So if you enjoy how this plugin saves you countless hours of work consider supporting us through Patreon:
9+
So if you enjoy how this plugin saves you countless hours of work consider supporting us through Patreon.
10+
There are a lot of perks like having your name inside the plugin!
1011

1112
[![](https://i.imgur.com/BFIald5.png)](https://www.patreon.com/catsblenderplugin)
1213

@@ -36,7 +37,7 @@ https://catsblenderplugin.com
3637

3738
## Requirement
3839

39-
- Blender 2.79 or 2.80 **(run as administrator)**
40+
- Blender 2.79 or 2.80 (run as administrator is recommended)
4041
- mmd_tools is **no longer required**! Cats comes pre-installed with it!
4142

4243
## Installation
@@ -48,7 +49,7 @@ https://catsblenderplugin.com
4849
- Check your 3d view and there should be a new menu item called **CATS** ....w00t
4950
- Since Blender 2.80 the CATS tab is on the right in the menu that opens when pressing 'N'
5051

51-
![](https://i.imgur.com/ItJLtNJ.png)
52+
![](https://i.imgur.com/pJfVsho.png)
5253

5354
- If you need help figuring out how to use the tool:
5455

@@ -87,6 +88,7 @@ This tries to completely fix your model with one click.
8788
- Deleting unused vertex groups
8889
- Using the correct shading
8990
- Making it compatible with Full Body Tracking
91+
- Combining similar materials
9092

9193
##### Start Pose Mode
9294
- Lets you test how bones will move.
@@ -100,14 +102,14 @@ This tries to completely fix your model with one click.
100102

101103
## Model Options
102104

103-
![](https://i.imgur.com/bGDy5wn.png)
105+
![](https://i.imgur.com/ZiyyAsn.png)
104106

105107
##### Translation
106108
- Translate certain entities from any japanese to english.
107109
This uses an internal dictionary and Google Translate.
108110

109-
##### Separate by material / loose parts
110-
- Separates a mesh by materials or loose parts
111+
##### Separate by material / loose parts / shapes
112+
- Separates a mesh by materials or loose parts or by whether or not the mesh is effected by a shape key
111113

112114
##### Join meshes
113115
- Joins all/selected meshes together
@@ -137,7 +139,7 @@ This uses an internal dictionary and Google Translate.
137139

138140
## Custom Model Creation
139141

140-
![](https://i.imgur.com/epkhkmy.png)
142+
![](https://i.imgur.com/szIWglS.png)
141143
![](https://i.imgur.com/04O63q1.png)
142144

143145
**This makes creating custom avatars a breeze!**
@@ -150,10 +152,18 @@ This uses an internal dictionary and Google Translate.
150152
- Ignore the "Bones are missing" warning if one of the armatures is incomplete (e.g hair only)
151153
- If you don't want to use "Fix Model" make sure that the armature follows the CATS bone structure (https://i.imgur.com/F5KEt0M.png)
152154
- DO NOT delete any main bones by yourself! CATS will merge them and delete all unused bones afterwards
153-
- Move the mesh (and only the mesh!) of the merge armature to the desired position
154-
- You can use Move, Scale and Rotate
155-
- CATS will position the bones according to the mesh automatically
156-
- If you want multiple objects from the same model it is often better to duplicate the armature for each of them and merge them individually
155+
- Now you have two options:
156+
- Only move the mesh:
157+
- Uncheck the checkbox "Apply Transforms"
158+
- Move the mesh (and only the mesh!) of the merge armature to the desired position
159+
- You can use Move, Scale and Rotate
160+
- CATS will position the bones according to the mesh automatically
161+
- OR move the armature (and with it the mesh):
162+
- Check the checkbox "Apply Transforms"
163+
- Move the armature to the desired position
164+
- You can use Move, Scale and Rotate
165+
- Make sure that both meshes and armatures are at their correct positions as they will stay exactly like this
166+
- If you want to merge multiple objects from the same model it is often better to duplicate the armature for each of them and merge them individually
157167
- Select the base armature and the armature you want to merge into the base armature in the panel
158168
- If CATS can't detect the bone structure automatically: select a bone you want to attach the new armature to
159169
- E.g.: For a hair armature select "Head" as the bone
@@ -333,6 +343,39 @@ It checks for a new version automatically once every day.
333343

334344
## Changelog
335345

346+
#### 0.14.0
347+
- **Cats is now fully compatible with Blender 2.80!**
348+
- **Fix Model**:
349+
- Improved DAZ compatibility
350+
- **Model Options**:
351+
- Added "Merge Weights" and "Remove Zero Weight Bones" to the spacebar search
352+
- Added "Apply All Transforms" button to correctly apply the transforms of all objects
353+
- Separating Meshes now deletes the Basis shape key if it is the last shape key left
354+
- **Custom Model Creation**:
355+
- Added "Apply Transforms" option to "Merge Armatures"
356+
- Use this if both armatures and meshes are already at their correct positions
357+
- Merge Armature and Attach Mesh now correctly restore the initial state from before the operation
358+
- **Visemes**:
359+
- Fixed shape keys sometimes not appearing in the viseme list
360+
- **Optimization**:
361+
- "Combine Same Materials" and "Convert Textures to PNG" are now compatible with Blender 2.80
362+
- Added loading cursor to "Convert Textures to PNG"
363+
- Added support for Shotariyas Material Combiner in Blender 2.80
364+
- Minimum required Material Combiner version is now v2.1.1.1
365+
- It now fully supports VRM models, has a greatly improved combining logic and an updated UI
366+
- It also got compression removed, so you will always get full quality images now
367+
- **Updater**:
368+
- Made it more robust to different version naming schemes
369+
- **General**:
370+
- Improved shading in 2.80
371+
- Improved initial state restoration after an operation
372+
- Backface culling is now always toggled on
373+
- Removed tons of unintended functions from the spacebar search
374+
- Upon startup Cats now enables "Testing" as supported addon level
375+
- Updated mmd_tools
376+
- Fixed a bug while loading settings during startup
377+
- Fixed a bug while loading the initial state after an operation
378+
336379
#### 0.13.3
337380
- **Importer**:
338381
- Fixed imported armatures being in edit mode
@@ -341,7 +384,7 @@ It checks for a new version automatically once every day.
341384
- Attach Mesh no longer removes zero weight bones and constraints
342385
- **Model Options**:
343386
- Fixed error when switching to object mode during pose mode
344-
- **General**
387+
- **General**:
345388
- Updated mmd_tools
346389
- The Blender 2.80 API is stable now, so Cats should no longer break in 2.80
347390

@@ -360,53 +403,6 @@ It checks for a new version automatically once every day.
360403
- **General**
361404
- Disabled backface culling in mmd_tools again
362405

363-
#### 0.13.1
364-
- **Fix Model**:
365-
- Added option to not join the meshes
366-
- Now greatly reduces clipping distance
367-
- This will allow you to move much closer to the model without clipping into it
368-
- All bones with exactly one child bone will now be connected to that child
369-
- Improved compatibility with VRoid 6.X
370-
- Fixed bug which caused the FBT fix to create multiple leg bones when "Remove Zero Weight Bones" was unchecked
371-
- **Custom Model Creation**:
372-
- Merge Armatures and Attach Mesh are now compatible with Blender 2.80
373-
- Renamed "Merge Same Bones Only" to "Merge All Bones" to better reflect what it actually does
374-
- Merge Armatures now always merges bones that have the exact same name and position
375-
- **Model Options**:
376-
- Added "Separate by Shape Keys"
377-
- This splits the mesh into two parts, depending on whether it is effected by a shape key or not
378-
- Fixed "Join Selected Meshes" joining all meshes
379-
- "Remove Doubles" now ignores vertices effected by shape keys
380-
- This prevents cases like upper and lower teeth getting merged together
381-
- **Eye Tracking**:
382-
- Fixed empty shape keys sometimes not exporting correctly
383-
- This fixes the bug that you would open your mouth when looking down in VRChat
384-
- **Optimization**:
385-
- Removed support for old v1.x Material Combiner versions
386-
- This fixes the random "Material Combiner missing" errors
387-
- If you still want to use old versions, please use them directly via the shotariya tab
388-
- **Import**:
389-
- If a required plugin is not installed, it will now show you the link to the correct version
390-
depending on if you use Blender 2.79 or 2.80
391-
- Added .vrm files to the "Import Any Model" button in Blender 2.79
392-
- **Export**:
393-
- Improved export warnings
394-
- They will no longer exaggerate as much as before
395-
- Added warning when Eye Tracking is set up but there are no meshes named "Body"
396-
- Blender 2.80: MMD models will now have their textures correctly assigned to their materials in Unity
397-
- VRM models as well but only partially at this moment
398-
- **Shapekeys**:
399-
- "Apply Shapekey to Basis" now applies the shapekey at its current strength into the basis
400-
instead of at full strength
401-
- **General**:
402-
- QOL: Objects not longer get unhidden, unselected or get their mode changed when performing any action
403-
- Modified default FBX Exporter to always export empty shape keys
404-
- This fixes the above described eye tracking bug
405-
- Added multiple Blender 2.8 compatibility fixes
406-
- Fixed all compatibility issues with other plugins
407-
- Updated mmd_tools
408-
- Fixed multiple errors
409-
410406
Read the full changelog [here](https://github.com/michaeldegroot/cats-blender-plugin/releases).
411407

412408

__init__.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@
2727
bl_info = {
2828
'name': 'Cats Blender Plugin',
2929
'category': '3D View',
30-
'author': 'GiveMeAllYourCats',
30+
'author': 'GiveMeAllYourCats & Hotox',
3131
'location': 'View 3D > Tool Shelf > CATS',
3232
'description': 'A tool designed to shorten steps needed to import and optimize models into VRChat',
33-
'version': (0, 13, 3), # Has to be (x, x, x) not [x, x, x]!! # Only change this version and the dev branch var right before publishing the new update!
33+
'version': (0, 14, 0), # Has to be (x, x, x) not [x, x, x]!! # Only change this version and the dev branch var right before publishing the new update!
3434
'blender': (2, 80, 0),
3535
'wiki_url': 'https://github.com/michaeldegroot/cats-blender-plugin',
3636
'tracker_url': 'https://github.com/michaeldegroot/cats-blender-plugin/issues',
@@ -301,11 +301,12 @@ def register():
301301
globs.dict_found = tools.translate.load_translations()
302302

303303
# Set preferred Blender options
304-
if tools.common.version_2_79_or_older():
304+
if hasattr(tools.common.get_user_preferences(), 'system') and hasattr(tools.common.get_user_preferences().system, 'use_international_fonts'):
305305
tools.common.get_user_preferences().system.use_international_fonts = True
306306
else:
307307
tools.common.get_user_preferences().view.use_international_fonts = True
308308
tools.common.get_user_preferences().filepaths.use_file_compression = True
309+
bpy.context.window_manager.addon_support = {'OFFICIAL', 'COMMUNITY', 'TESTING'}
309310

310311
# Add shapekey button to shapekey menu
311312
if hasattr(bpy.types, 'MESH_MT_shape_key_specials'): # pre 2.80
@@ -349,6 +350,8 @@ def unregister():
349350
count += 1
350351
except ValueError:
351352
pass
353+
except RuntimeError:
354+
pass
352355
print('Unregistered', count, 'CATS classes.')
353356

354357
# Unregister all dynamic buttons and icons

extentions.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,13 @@ def register():
130130
default=False
131131
)
132132

133+
Scene.apply_transforms = BoolProperty(
134+
name='Apply Transforms',
135+
description='Check this if both armatures and meshes are already at their correct positions.'
136+
'\nThis will cause them to stay exactly like they are when merging',
137+
default=False
138+
)
139+
133140
# Decimation
134141
Scene.decimation_mode = EnumProperty(
135142
name="Decimation Mode",

extern_tools/mmd_tools_local/core/material.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,7 @@ def update_alpha(self):
503503
mmd_mat = mat.mmd_material
504504
if hasattr(mat, 'blend_method'):
505505
mat.blend_method = 'HASHED' # 'BLEND'
506-
#mat.show_transparent_backside = False
506+
#mat.show_transparent_back = False
507507
elif hasattr(mat, 'transparency_method'):
508508
mat.use_transparency = True
509509
mat.transparency_method = 'Z_TRANSPARENCY'

extern_tools/mmd_tools_local/core/model.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,11 @@ def createRigidBodyPool(self, counts):
151151
obj.mmd_type = 'RIGID_BODY'
152152
obj.rotation_mode = 'YXZ'
153153
obj.draw_type = 'SOLID'
154-
obj.show_wire = True
154+
#obj.show_wire = True
155155
obj.show_transparent = True
156156
obj.hide_render = True
157+
if hasattr(obj, 'display'):
158+
obj.display.show_shadows = False
157159
if hasattr(obj, 'cycles_visibility'):
158160
for attr_name in ('camera', 'diffuse', 'glossy', 'scatter', 'shadow', 'transmission'):
159161
if hasattr(obj.cycles_visibility, attr_name):

0 commit comments

Comments
 (0)