# Ep.23 — [FAQ] 社内の独自 Export ツールを使うには？

**fast-ref** は基本的に内蔵機能によるゲームエンジン向け FBX Export の最適化を目指しています。各スタジオ固有のパイプラインとカスタマイズニーズがあることも十分理解しています。

fast-ref のすべての構成要素は **3ds Max 標準ノード** を基盤に設計されています。そのため **Export 後にシーンファイルを保存しなければ**、データ構造を自由に編集して社内ツールと連携しても問題ありません。

> **⚠️ 最重要原則: Export 作業後は絶対にシーンを保存しないでください。**
fast-ref のリファレンスシステムデータが失われ、正常な管理ができなくなります。
>

---

### 1. Reset All References 機能（v1.0.4~）

**v1.0.4** から提供される **Reset All References** を使うと、すべてのリファレンスが通常のシーンオブジェクトに変換され、**fast-ref リンクと無関係な状態**で自由に作業できます。

**パス:** `Tools → Edit → Reset All References (Merge All)`

この機能は次を自動実行します:

- すべてのネームスペースと接尾辞の整理
- 階層構造（Hierarchy）の解除
- レイヤー構造のフラット化
- fast-ref システムデータの削除

社内 Export ツールとの一時的な連携が必要なときは、この機能を実行してから Export してください。

> **⚠️ 再度強調:** Reset 後はシーンを**保存しないでください。** 保存せず Export のみ行ってください。
>

![image.png](image.png)

![image.png](image_1.png)

![image.png](image_2.png)

### Merge All Options（General Options で設定可能）

Reset All References 実行時に適用される suffix 整理オプションは **General Options** ダイアログで変更できます。

**パス:** `Tools → General Options → Merge All Options`

| オプション | デフォルト | 説明 | デフォルトの意図 |
| --- | --- | --- | --- |
| **Force Remove Node Suffix (.r\*)** | ✅ ON | ノード名から `.r1`, `.r2` 接尾辞を削除 | ゲームエンジンはノード名でボーン/メッシュをマッピングするため、接尾辞が残るとリターゲット・スクリプト参照が壊れる可能性 |
| **Force Remove Layer Suffix (.r\*)** | ⬜ OFF | レイヤー名から接尾辞を削除（同名時は自動統合） | 同一リソースを複数配置した場合の意図しないレイヤー統合を避けるためデフォルト OFF |
| **Force Remove SelectionSet Suffix (.r\*)** | ✅ ON | SelectionSet 名から接尾辞を削除（同名時は自動統合） | Export スクリプトが SelectionSet 名でグループ指定することが多く、接尾辞が残ると互換性問題の可能性 |

---

### 2. Script API サポート

より高度な自動化のため **Fast-Ref Script API** を提供予定です。社内 TA の方が Python でリファレンスの参照・追加・削除・Merge などを自動化できます。

```python
import sys, os, pymxs
_p = os.path.join(pymxs.runtime.getDir(pymxs.runtime.Name("userScripts")), "os_fast_ref_package")
if _p not in sys.path: sys.path.append(_p)

from os_fast_ref.api import FastRefAPI

api = FastRefAPI()
result = api.merge_all_references(
    remove_node_suffix=True,
    remove_layer_suffix=True,
    remove_selectionset_suffix=True,
)
print(result['message'])
# → "Merge 완료: 3개 성공, 0개 실패"
```

API_Guide_Link : https://docs.otakusolutions.com/api/fast-ref/merge-all-references?lang=en

---

### 3. 手動編集時の参考事項

API や Reset 機能を使わず独自スクリプトで編集する場合は、次の規則を参考にしてください。

- **ネームスペース削除:** `:` の前の文字列を削除（例: `Mable:Root.r1` → `Root.r1`）
- **接尾辞削除:** `.r*` 形式の接尾辞を削除（例: `Root.r1` → `Root`）
- **階層解除:** `[REF]` で始まるノードの子を Unparent
- **レイヤー整理:** `[REF]` で始まるレイヤー配下の子レイヤーを最上位へ移動後、`[REF]` レイヤーを削除

---

### 💡 最もおすすめの方法

最も効率的な連携は、**現在のスタジオの内部 Export 環境と要件を共有**していただくことです。ガイドライン提供の過程で、思ったより簡単な解決策が見つかることも多いです。

構造把握や連携で技術サポートが必要な場合は、いつでもお問い合わせください。

**OtakuSolutions は柔軟なパイプライン構築を積極的にサポートします。**