MetaFusion/scripts/config.py

146 lines
5.0 KiB
Python
Raw Normal View History

2025-02-09 20:24:08 +08:00
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#===================================== 1. Module Imports =====================================
import maya.OpenMayaUI as omui
import maya.cmds as cmds
import maya.mel as mel
import webbrowser
2025-02-09 21:35:41 +08:00
import datetime
2025-02-09 20:24:08 +08:00
import sys
import os
2025-02-09 21:35:41 +08:00
# Base Information
TOOL_NAME = str("MetaFusion")
TOOL_VERSION = str("Beta v1.0.0")
TOOL_AUTHOR = str("CGNICO")
TOOL_LANG = str('en_US')
TOOL_WSCL_NAME = str(f"{TOOL_NAME}WorkSpaceControl")
TOOL_HELP_URL = str(f"https://gitea.cgnico.com/CGNICO/{TOOL_NAME}/wiki")
TOOL_YEAR = str(datetime.datetime.now().year)
# Tool Path
TOOL_PATH = str(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
2025-02-09 20:24:08 +08:00
ROOT_DIR = TOOL_PATH
2025-02-09 21:35:41 +08:00
ICONS_PATH = str(os.path.join(TOOL_PATH, "icons"))
SCRIPTS_PATH = str(os.path.join(TOOL_PATH, "scripts"))
TOOL_STYLE_FILE = str(os.path.join(SCRIPTS_PATH, "ui", "style.qss"))
# TOOLS_PATH
DNACALIB_PATH = str(os.path.join(TOOL_PATH, "dnacalib").replace("\\", "/"))
BUILDER_PATH = str(os.path.join(SCRIPTS_PATH, "builder").replace("\\", "/"))
DNALIB_PATH = str(os.path.join(SCRIPTS_PATH, "dnalib").replace("\\", "/"))
UI_PATH = str(os.path.join(SCRIPTS_PATH, "ui").replace("\\", "/"))
UTILS_PATH = str(os.path.join(SCRIPTS_PATH, "utils").replace("\\", "/"))
# System Information
SYSTEM_OS = str(sys.platform)
MAYA_VERSION = str(mel.eval("$gMAJOR.$gMINOR"))
PYTHON_VERSION = str(f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}")
def get_python_version():
"""获取Python版本目录名称"""
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"
PYTHON_VERSION_DIR = get_python_version()
PLUGIN_PATH = str(os.path.join(TOOL_PATH, "plugins", SYSTEM_OS, MAYA_VERSION).replace("\\", "/"))
PYDNA_PATH = str(os.path.join(TOOL_PATH, "plugins", SYSTEM_OS, "pydna", PYTHON_VERSION_DIR).replace("\\", "/"))
# 资源路径
ASSETS_PATH = str(os.path.join(TOOL_PATH, "assets").replace("\\", "/"))
DNA_PATH = str(os.path.join(ASSETS_PATH, "dna").replace("\\", "/"))
IMG_PATH = str(os.path.join(ASSETS_PATH, "img").replace("\\", "/"))
MAYA_PATH = str(os.path.join(ASSETS_PATH, "maya").replace("\\", "/"))
DNA_VERSION = str("MH.4")
LOD_LEVELS = range(8)
DEFAULT_MESH_INDICES = range(54)
GUI_PATH = str(os.path.join(MAYA_PATH, "gui.ma").replace("\\", "/"))
ASSEMBLE_SCRIPT = str(os.path.join(MAYA_PATH, "additional_assemble_script.py").replace("\\", "/"))
SHADER_PATH = str(os.path.join(MAYA_PATH, "shaders").replace("\\", "/"))
MASKS_PATH = str(os.path.join(MAYA_PATH, "masks").replace("\\", "/"))
MAPS_PATH = str(os.path.join(MAYA_PATH, "maps").replace("\\", "/"))
BODY_PATH = str(os.path.join(MAYA_PATH, "body").replace("\\", "/"))
# FILES
TOOL_MAIN_SCRIPT = str(os.path.join(SCRIPTS_PATH, f"{TOOL_NAME}.py").replace("\\", "/"))
TOOL_STYLE_FILE = str(os.path.join(UI_PATH, "style.qss").replace("\\", "/"))
TOOL_ICON = str(os.path.join(ICONS_PATH, f"{TOOL_NAME}Logo.png").replace("\\", "/"))
TOOL_COMMAND_ICON = str(os.path.join(ICONS_PATH, "Command.png").replace("\\", "/"))
TOOL_MOD_FILENAME = str(f"{TOOL_NAME}.mod")
if __name__ == "__main__":
variables_path = [
TOOL_PATH,
ICONS_PATH,
SCRIPTS_PATH,
TOOL_STYLE_FILE,
DNACALIB_PATH,
BUILDER_PATH,
DNALIB_PATH,
UI_PATH,
UTILS_PATH,
PLUGIN_PATH,
PYDNA_PATH,
ASSETS_PATH,
DNA_PATH,
IMG_PATH,
MAYA_PATH,
GUI_PATH,
ASSEMBLE_SCRIPT,
SHADER_PATH,
MASKS_PATH,
MAPS_PATH,
BODY_PATH
]
for i in variables_path:
if not i in sys.path:
sys.path.append(i)
print("============================================")
print(f"TOOL_PATH: {TOOL_PATH}")
print(f"ICONS_PATH: {ICONS_PATH}")
print(f"SCRIPTS_PATH: {SCRIPTS_PATH}")
print(f"TOOL_STYLE_FILE: {TOOL_STYLE_FILE}")
print(f"DNACALIB_PATH: {DNACALIB_PATH}")
print(f"BUILDER_PATH: {BUILDER_PATH}")
print(f"DNALIB_PATH: {DNALIB_PATH}")
print(f"UI_PATH: {UI_PATH}")
print(f"UTILS_PATH: {UTILS_PATH}")
print(f"PLUGIN_PATH: {PLUGIN_PATH}")
print(f"PYDNA_PATH: {PYDNA_PATH}")
print(f"ASSETS_PATH: {ASSETS_PATH}")
print(f"DNA_PATH: {DNA_PATH}")
print(f"IMG_PATH: {IMG_PATH}")
print(f"MAYA_PATH: {MAYA_PATH}")
print(f"GUI_PATH: {GUI_PATH}")
print(f"ASSEMBLE_SCRIPT: {ASSEMBLE_SCRIPT}")
print(f"SHADER_PATH: {SHADER_PATH}")
print(f"MASKS_PATH: {MASKS_PATH}")
print(f"MAPS_PATH: {MAPS_PATH}")
print(f"BODY_PATH: {BODY_PATH}")
print(f"TOOL_MAIN_SCRIPT: {TOOL_MAIN_SCRIPT}")
print(f"TOOL_STYLE_FILE: {TOOL_STYLE_FILE}")
print(f"TOOL_ICON: {TOOL_ICON}")
print(f"TOOL_COMMAND_ICON: {TOOL_COMMAND_ICON}")
print(f"TOOL_MOD_FILENAME: {TOOL_MOD_FILENAME}")
print("============================================")