MetaFusion/config.py
2025-05-08 23:57:22 +08:00

93 lines
2.9 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import json
# Basic Information
TOOL_NAME = "MetaFusion"
TOOL_VERSION = "Alpha v1.0.0"
TOOL_AUTHOR = "CGNICO"
TOOL_YEAR = "2025"
TOOL_MOD_FILENAME = f"{TOOL_NAME.lower()}.mod"
TOOL_LANG = "en_US"
TOOL_WSCL_NAME = f"{TOOL_NAME}WorkspaceControl"
TOOL_HELP_URL = f"https://gitea.cgnico.com/CGNICO/{TOOL_NAME}/wiki"
# Path Configuration
TOOL_PATH = os.path.dirname(os.path.abspath(__file__)).replace("\\", "/")
SCRIPTS_PATH = os.path.join(TOOL_PATH, "scripts").replace("\\", "/")
TOOL_MAIN_SCRIPT = os.path.join(TOOL_PATH, "scripts", "Main.py").replace("\\", "/")
UI_PATH = os.path.join(TOOL_PATH, "scripts", "ui").replace("\\", "/")
STYLE_FILE = os.path.join(TOOL_PATH, "scripts", "ui", "style.qss").replace("\\", "/")
ICONS_PATH = os.path.join(TOOL_PATH, "icons").replace("\\", "/")
TOOL_ICON = os.path.join(TOOL_PATH, "icons", "logo.png").replace("\\", "/")
ASSETS_PATH = os.path.join(TOOL_PATH, "assets").replace("\\", "/")
DNA_FILE_PATH = os.path.join(TOOL_PATH, "assets", "dna").replace("\\", "/")
DNA_IMG_PATH = os.path.join(TOOL_PATH, "assets", "img").replace("\\", "/")
TOOL_COMMAND_ICON = TOOL_ICON
# UI 默认尺寸
TOOL_HEIGHT = 800
TOOL_WIDTH = 500
# DNA Config
# GUI相关常量
GUI_HOLDER = "GUI_Holder"
ANALOG_GUI_HOLDER = "Analog_GUI_Holder"
RIG_LOGIC_PREFIX = "rl4Embedded_"
# 用于打印蒙皮权重的范围
SKIN_WEIGHT_PRINT_RANGE = 2000
# System Information
import maya.cmds as cmds
SYSTEM_OS = "Windows" if cmds.about(os=True).lower().startswith("win") else "Linux"
# Define Maya version as integer for easier version comparison
MAYA_VERSION = str(int(cmds.about(version=True).split('.')[0]))
# Plugins Path
def get_pydna_dir():
"""Get Python version directory name"""
version = sys.version_info
if version.major == 3:
if version.minor == 9 and version.micro == 7:
return "python397"
elif version.minor == 10 and version.micro == 8:
return "python3108"
elif version.minor == 11:
return "python311"
return "python3"
PYVERSION_DIR = get_pydna_dir()
PLUGINS_PATH = os.path.join(TOOL_PATH, "plugins", SYSTEM_OS, MAYA_VERSION).replace("\\", "/")
PYDNA_PATH = os.path.join(TOOL_PATH, "plugins", SYSTEM_OS, "pydna", PYVERSION_DIR).replace("\\", "/")
# Initialize Paths
def init_paths():
"""Initialize paths"""
paths = [
TOOL_PATH,
SCRIPTS_PATH,
ICONS_PATH,
ASSETS_PATH,
DNA_FILE_PATH,
DNA_IMG_PATH,
UI_PATH,
PLUGINS_PATH,
PYDNA_PATH,
STYLE_FILE
]
for path in paths:
if not os.path.exists(path):
try:
os.makedirs(path)
print(f"Created directory: {path}")
except Exception as e:
print(f"Failed to create directory: {path}, error: {str(e)}")
if __name__ == "__main__":
# Initialize paths
init_paths()