Files
blender-vrm/common/ops/wm.py
小煜 091ad6a49a feat: Add VRM Blender addon with complete import/export functionality
- Add core VRM addon infrastructure with manifest and registration
- Add common utilities module with file system, logging, and conversion helpers
- Add human bone mapper with support for multiple rigging standards (Mixamo, MMD, Unreal, Rigify, etc.)
- Add VRM 0.x and 1.x format support with property groups and handlers
- Add editor UI panels for VRM metadata, spring bones, and MToon materials
- Add exporter with glTF2 extension support for VRM format serialization
- Add importer with scene reconstruction and armature generation
- Add MToon shader support with auto-setup and material migration
- Add spring bone physics simulation with constraint handling
- Add node constraint editor for advanced rigging control
- Add comprehensive validation and error handling with user dialogs
- Add scene watcher for real-time property synchronization
- Add workspace management and preference system
- Include Python cache files and Blender manifest configuration
- This is the initial commit establishing the complete VRM addon ecosystem for Blender
2026-01-01 14:21:56 +08:00

166 lines
5.8 KiB
Python

# This code is auto generated.
# To regenerate, run the `uv run tools/property_typing.py` command.
from collections.abc import Mapping, Sequence
from typing import Optional, Union
import bpy
# This code is auto generated.
# To regenerate, run the `uv run tools/property_typing.py` command.
def vrm_gltf2_addon_disabled_warning(
execution_context: str = "EXEC_DEFAULT",
) -> set[str]:
return bpy.ops.wm.vrm_gltf2_addon_disabled_warning( # type: ignore[attr-defined, no-any-return]
execution_context,
)
# This code is auto generated.
# To regenerate, run the `uv run tools/property_typing.py` command.
def vrm_export_human_bones_assignment(
execution_context: str = "EXEC_DEFAULT",
/,
*,
armature_object_name: str = "",
) -> set[str]:
return bpy.ops.wm.vrm_export_human_bones_assignment( # type: ignore[attr-defined, no-any-return]
execution_context,
armature_object_name=armature_object_name,
)
# This code is auto generated.
# To regenerate, run the `uv run tools/property_typing.py` command.
def vrm_export_confirmation(
execution_context: str = "EXEC_DEFAULT",
/,
*,
errors: Optional[Sequence[Mapping[str, Union[str, int, float, bool]]]] = None,
armature_object_name: str = "",
export_anyway: bool = False,
) -> set[str]:
return bpy.ops.wm.vrm_export_confirmation( # type: ignore[attr-defined, no-any-return]
execution_context,
errors=errors if errors is not None else [],
armature_object_name=armature_object_name,
export_anyway=export_anyway,
)
# This code is auto generated.
# To regenerate, run the `uv run tools/property_typing.py` command.
def vrm_export_armature_selection(
execution_context: str = "EXEC_DEFAULT",
/,
*,
armature_object_name: str = "",
armature_object_name_candidates: Optional[
Sequence[Mapping[str, Union[str, int, float, bool]]]
] = None,
) -> set[str]:
return bpy.ops.wm.vrm_export_armature_selection( # type: ignore[attr-defined, no-any-return]
execution_context,
armature_object_name=armature_object_name,
armature_object_name_candidates=armature_object_name_candidates
if armature_object_name_candidates is not None
else [],
)
# This code is auto generated.
# To regenerate, run the `uv run tools/property_typing.py` command.
def vrma_export_prerequisite(
execution_context: str = "EXEC_DEFAULT",
/,
*,
armature_object_name: str = "",
armature_object_name_candidates: Optional[
Sequence[Mapping[str, Union[str, int, float, bool]]]
] = None,
) -> set[str]:
return bpy.ops.wm.vrma_export_prerequisite( # type: ignore[attr-defined, no-any-return]
execution_context,
armature_object_name=armature_object_name,
armature_object_name_candidates=armature_object_name_candidates
if armature_object_name_candidates is not None
else [],
)
# This code is auto generated.
# To regenerate, run the `uv run tools/property_typing.py` command.
def vrm_error_dialog(
execution_context: str = "EXEC_DEFAULT",
/,
*,
title: str = "",
lines: Optional[Sequence[Mapping[str, Union[str, int, float, bool]]]] = None,
active_line_index: int = 0,
) -> set[str]:
return bpy.ops.wm.vrm_error_dialog( # type: ignore[attr-defined, no-any-return]
execution_context,
title=title,
lines=lines if lines is not None else [],
active_line_index=active_line_index,
)
# This code is auto generated.
# To regenerate, run the `uv run tools/property_typing.py` command.
def vrm_license_warning(
execution_context: str = "EXEC_DEFAULT",
/,
*,
filepath: str = "",
license_confirmations: Optional[
Sequence[Mapping[str, Union[str, int, float, bool]]]
] = None,
import_anyway: bool = False,
extract_textures_into_folder: bool = False,
make_new_texture_folder: bool = False,
set_shading_type_to_material_on_import: bool = False,
set_view_transform_to_standard_on_import: bool = False,
set_armature_display_to_wire: bool = False,
set_armature_display_to_show_in_front: bool = False,
set_armature_bone_shape_to_default: bool = False,
enable_mtoon_outline_preview: bool = False,
) -> set[str]:
return bpy.ops.wm.vrm_license_warning( # type: ignore[attr-defined, no-any-return]
execution_context,
filepath=filepath,
license_confirmations=license_confirmations
if license_confirmations is not None
else [],
import_anyway=import_anyway,
extract_textures_into_folder=extract_textures_into_folder,
make_new_texture_folder=make_new_texture_folder,
set_shading_type_to_material_on_import=set_shading_type_to_material_on_import,
set_view_transform_to_standard_on_import=set_view_transform_to_standard_on_import,
set_armature_display_to_wire=set_armature_display_to_wire,
set_armature_display_to_show_in_front=set_armature_display_to_show_in_front,
set_armature_bone_shape_to_default=set_armature_bone_shape_to_default,
enable_mtoon_outline_preview=enable_mtoon_outline_preview,
)
# This code is auto generated.
# To regenerate, run the `uv run tools/property_typing.py` command.
def vrma_import_prerequisite(
execution_context: str = "EXEC_DEFAULT",
/,
*,
armature_object_name: str = "",
armature_object_name_candidates: Optional[
Sequence[Mapping[str, Union[str, int, float, bool]]]
] = None,
) -> set[str]:
return bpy.ops.wm.vrma_import_prerequisite( # type: ignore[attr-defined, no-any-return]
execution_context,
armature_object_name=armature_object_name,
armature_object_name_candidates=armature_object_name_candidates
if armature_object_name_candidates is not None
else [],
)