MzTranslator/README.md

111 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# MzTranslator
Maya `.mz` 檔案格式 Translator 插件,使用 Maya Python API 開發。
## 檔案格式
`.mz` 檔案本質上是 ZIP 壓縮格式,內部包含 `data.ma` (Maya ASCII) 文件。
## 目錄結構
```
d:/workspace/MzTranslator/
├── mz_translator.py # 插件入口,包含 MPxFileTranslator 和插件註冊
├── mz_core/
│ ├── __init__.py # 模組初始化
│ ├── reader.py # 讀取模組
│ └── writer.py # 寫入模組
└── README.md # 使用說明
```
## 安裝方法
### 方法 1直接載入 Python 模組
在 Maya 的 Python 腳本編輯器中執行:
```python
import sys
import os
# 添加插件路徑
plugin_path = 'd:/workspace/MzTranslator'
if plugin_path not in sys.path:
sys.path.insert(0, plugin_path)
# 載入插件
import mz_translator
cmds.loadPlugin(mz_translator.__file__)
```
### 方法 2使用 pluginManager
1. 打開 Maya
2. 進入 `Window > Settings/Preferences > Plugin Manager`
3. 點擊 `Browse` 找到 `mz_translator.py`
4. 勾選 `Loaded` 載入插件
## 使用方法
### 存儲 (Save/Export)
1. 選擇 `File > Save As...``File > Export All...`
2. 在文件類型下拉選單中選擇 `Mz File (*.mz)`
3. 選擇保存位置並點擊 `Save`
### 開啟 (Open/Import)
1. 選擇 `File > Open...``File > Import...`
2. 在文件類型下拉選單中選擇 `Mz File (*.mz)`
3. 選擇 `.mz` 文件並點擊 `Open`
## 功能特性
- **讀取支援**:從 `.mz` 檔案解壓縮並讀取 `data.ma`
- **寫入支援**:將 Maya 場景導出為 `.mz` 檔案(壓縮格式)
- **Export Options**支援壓縮級別設定0-9
## 技術細節
### writer.py
- 使用 `tempfile` 建立臨時目錄
- 使用 Maya 的 `cmds.file()` 導出為 `.ma` 格式
- 使用 `zipfile``data.ma` 壓縮成 `.mz`
### reader.py
- 使用 `zipfile` 讀取 `.mz` 檔案
- 提取 `data.ma` 到臨時目錄
- 使用 Maya 的 `cmds.file()` 讀取場景
- 自動清理臨時檔案
### mz_translator.py
- 繼承 `maya.api.OpenMayaMPx.MPxFileTranslator`
- 實現 `writer()``reader()` 方法
- 包含 Maya 插件註冊函數 `initializePlugin()``uninitializePlugin()`
## 故障排除
### 問題:無法載入插件
確保插件路徑正確:
```python
import mz_translator
print(mz_translator.__file__) # 確認路徑正確
```
### 問題:無法識別 .mz 檔案
確認 `.mz` 檔案是有效的 ZIP 格式(包含 `data.ma`
### 問題:讀取後場景未更新
檢查臨時檔案是否有權限問題,或嘗試重新開啟 Maya
## 版本資訊
- Version: 1.0.0
- API: Maya Python API
- 支援 Maya 版本: 2017+