■Unity開発メモ用のWiki◎現在扱っていること・Unity全般・MMDからUnityへの変換してインポート・MMDの仕様把握・BlenderでMMDモデルのカスタム

×
目次


機械翻訳の語尾問題

  • 「ですます調(敬体)」「である調(常体)」に分けたい
  • 語尾=助動詞
  • 形態素解析で語尾を見つける

形態素解析ツールの種類

  • MeCab
  • COTOHA API(NTT)
  • Yahoo API
  • Janome 

必要なファイル

  • BepInEx(MODを動作させるために必要なフレームワーク)
  • TMP_Font_AssetBundles.zip(フォント)
  • XUnity.AutoTranslator-*****.zip(翻訳するやつ)

MODを動作させるために必要なフレームワーク(BepInEx)をダウンロードする

BepInEx
GithHub
インストールドキュメント
  • BepInExとはMono上で動作するUnity製のゲームでMODを動作させるために必要なフレームワーク
  • BepInExはゲームのアセンブリ(コンパイル済みの実行コード)にパッチを行ったり、カスタムMonoBehavioursを通してプラグインをロードする手段を提供する。
    • Monoランタイムとは.exeファイル. dllファイルを解釈し、そのCIL(MSIL)コードをCPUのネイティブ命令に置き換えて実行する、実行エンジン
    • ゲームに「mono.dll」を含んでいる必要がある
  • BepInExはUnityのバージョン5.4~2017.2で正常に動作するようにテストされている
    • 古いUnity製ゲームは対応していない
    • Unityバージョン5.4.0は2016年7月28日
    • 開発期間を加味すると2017年以降発売のUnity製ゲームでないと動かないと思ったほうが良い
      • 例)Unity製ゲーム「Battle Fleet 2」(発売:2014年11月21日)では動作せず

対象のUnity製ゲームが古くBepInExが使えない場合

  • 「XUnity Auto Translator」のリリーズページにある「XUnity.AutoTranslator-ReiPatcher-*.*.*.zip」のスタンドアローン版を使う
  • 「XUnity Auto Translator」のGithHubにあるインストールガイドを参考にする
  • 他のプラグインマネージャーと併用すると問題が起こる
  • ダウンロードした「SetupReiPatcherAndAutoTranslator.exe」が他のexeファイルと一緒に配置されるように、ゲームディレクトリにおく
  • 既存の実行可能ファイルのほかに作成されたショートカット{GameExeName}(Patch and Run).lnkを実行します。これにより、ゲームにパッチが適用されて起動します。
  • 今後は、代わりに{GameExeName} .exeからゲームを起動できます。
  • さまざまな考慮事項により、すべてのテキストフックがデフォルトで有効になっているわけではないため、ゲームまたはゲームの一部が適切に翻訳されていない場合は、構成ファイルに移動して、無効になっているテキストフレームワークの一部を有効にする価値があります。構成ファイルは、ゲームの起動時に作成されます。

翻訳用の「XUnity Auto Translator」をダウンロードする

  • XUnity Auto Translatorはゲーム内で流れるテキストをフックして翻訳してゲーム内で表示する
  • 「XUnity Auto Translator」のGithHubページへ行く
    • リリースページへ行き下の2つをダウンロードする
    • TMP_Font_AssetBundles.zip(フォント)
    • XUnity.AutoTranslator-BepIn-5x-4.18.1.zip(翻訳する本体)
  • 「XUnity.AutoTranslator-***」の***のところは各種MODを動作させるために必要なフレームワークになる
  • MODを動作させるために必要なフレームワークは、Unityのバージョン等でどれが良いか調べる(2022年1月時点ではBepInExが良い?)

ダウンロードしたフォルダをゲームのインストールフォルダに配置する

  • BepInExフォルダ(BepinEXとXUnity.AutoTranslatorを解凍した中身の両方)
  • winhttp.dll
  • doorstop_config.ini
  • arialuni_sdf_u2018 (arialuni_sdf_u2019でも可)

AutoTranslatorConfig.iniの設定

  • 一度ゲームを起動する
  • BepinEXフォルダ内に新しくファイルが追加される
  • 「BepinEX\config」の中にある「AutoTranslatorConfig.ini」をテキストエディタで開く
[Service]
Endpoint=DeepLTranslate   //DeepL翻訳
又は
[Service]
Endpoint=GoogleTranslateV2   //Google翻訳

[General]
Language=ja
FromLanguage=en

[Behaviour]
MaxCharactersPerTranslation=400  //一度に翻訳する文字数の制限

OverrideFontTextMeshPro=arialuni_sdf_u2018 //代替フォント

翻訳したデータ「_AutoGeneratedTranslations.txt」の編集

  • 翻訳したデータは「BepInEX\Translation\ja\Text」フォルダ内にある
  • 「AutoGeneratedTranslations.txt」は自動で収集、翻訳したデータが入っている
  • データは 原文=訳文となっていている
  • 翻訳したテキストファイルは保存するときは、必ず文字コードをUTF-8 BOM 付
にして保存すること

テクスチャ翻訳メモ

このセクションから何かを得るとしたら、次の2点です。
EnableTextureDumping=True、EnableTextureToggling=True、LoadUnmodifiedTextures=True、DetectDuplicateTextureNames=Trueで再配布しないこと。
ゲームに絶対必要な場合のみ、TextureHashGenerationStrategy=FromImageDataを有効にしてMODを再配布してください。

TextureDirectory(ディレクトリを指定)

TextureDirectoryは、テクスチャのダンプ先およびロード元となるディレクトリを指定します。読み込みは、指定したディレクトリのすべてのサブディレクトリからも行われるので、ダンプした画像を好きなフォルダ構造に移動できます。

EnableTextureTranslation(テクスチャ変換の有効化)

EnableTextureTranslation は、テクスチャの変換を有効にします。これは基本的に、テクスチャがTextureDirectoryとそのサブディレクトリからロードされることを意味します。これらのイメージは、ゲームによって使用されるインゲームイメージを置き換えます。

EnableTextureDumping(テクスチャダンプの有効)

EnableTextureDumping はテクスチャのダンプを有効にします。これは、まだTextureDirectoryにダンプされていない画像をダンプすることを意味します。テクスチャをダンプするとき、EnableTextureScanOnSceneLoadを有効にすると、翻訳が必要なテクスチャを素早く見つけることができます。
この機能を有効にしたままMODを再配布してはいけません。


Unityのアセット・アンパック・ツール

参考:ゲームのアセットを取り出したり書き換えたりするツールの類
  • UnityEX
    • 無料版の場合Unity バージョン 2019 まで対応
    • インポート機能あり
  • UABE(Unity Assets Bundle Extractor)
    • Unity バージョンが 2019.2まで対応
    • インポート機能あり
    • 更新が停止してある
  • UABEA(UABE Avalonia)
    • Unity 2020 バージョンのファイルエクスポート・インポート両方に対応(Unity 5-2020.3)
    • インポート機能あり
  • AssetStudio (旧称: Unity Studio)
    • ''インポート機能なし'

UABE(Unity Assets Bundle Extractor)

参考:【Unity】Unity 製のゲームやアセットバンドルからアセットを抽出できるリバースエンジニアリングツール「Unity Assets Bundle Extractor(UABE)」紹介
GithHubのページ
  • 「Unity Assets Bundle Extractor(UABE)」は Unity 製のゲームやアセットバンドルからアセットを抽出できるリバースエンジニアリングツール
  • UABEとは.assetsおよびAssetBundleファイルのエディター
  • .assetsやバンドルへの変更からスタンドアロンのmodインストーラーを作成できる

UABEA(UABEA avalonia)

  • UABEのフォーク?
  • avalonia:クロスプラットフォームで動作するXAMLベースのUIフレームワーク
  • GithHub

AssetStudio (旧称: Unity Studio)

Unityのアセットをアンパックしてテキストデータを取り出す

Unityのアセットから翻訳するテキストファイルを見つける(AssetStudioの場合)

  • AssetStudioをつかってUnityの「.assets」拡張子のファイルを読み込む
  • AssetStudioに翻訳するテキストファイルがありそうなものを投げる
    • 「ウィンドウメニュー」→「Filter Type」から「TextAsset」があれば怪しい
    • 「Localization」、「Language」、「Eng」などに単語があればそれが怪しい

テキストファイルが含まれている可能性が高い箇所

  • resources.assets
  • sharedassets0
  • level0
  • sharedassets0、level0に無い場合数字の少ないファイルから探していく

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

【メニュー編集】

スカイリム関連

スカイリム関連


Menu

【メニュー編集】

スクリプト関連

フリーエリア

管理人/副管理人のみ編集できます