【MotionBuilder】fbxファイルを開く既定のバージョンの変更

に公開

目標

拡張子 .fbx のファイルを開く MotionBuilder の既定のバージョンを、任意のバージョンに変更する。


前提

Windows の既定のアプリの設定では、開きたいファイルを右クリックし『Open With』 > 『Choose another app』を選択することで、異なるアプリケーションで特定の形式のファイルを開くよう設定できる。

一方、上記の方法では、どうやら fbxファイルを同じ MotionBuilder の別のバージョンで開くように設定することができない。

拡張子 .fbx のファイル(以下「fbxファイル」)を開く既定のアプリが MotionBuilder である場合、Explorer 等から fbxファイルを開く際は最後にインストールしたバージョンが使用されるため、例えばより古いバージョンの MotionBuilder でいつも fbxファイルを開きたい場合は、そのバージョンを再インストールすることで対応する必要があった。


実際の手順

方針

既に fbxファイルに紐づけられたプログラム識別子を、新規作成したものに設定し直す。


手順・解説


  1. Registry Editor(レジストリ エディター)を開く

    alt text
    スタート画面で検索すれば表示される


  1. .fbx に対するプログラム識別子を確認


    左側の一覧から『Computer』>『HKEY_CLASSES_ROOT』>『.fbx』を探して選択し、(Default) のデータが 「fbxfile」であることを確認する。

    alt text
    『既定』の欄の『データ』項目の値を確認


    この手順で確認したデータの参照先を、以下「ProgID(プログラム識別子)」と呼ぶ。ここで参照している ProgID では、その拡張子を開くアプリケーションのパスや、ファイル右クリック時の Context Menu の設定などが定義されている。


  1. Registry Key のバックアップ(推奨)


    次節から Registry Key の作成およびデータの編集を行うため、万が一に備えてバックアップを取っておく。Registry Key を右クリック→『Export』で .reg ファイルが出力される。

    alt text
    Registry Key, データのエクスポート



    Registry Editor 左上『File』>『Import』にて、出力した .reg ファイルを選択すれば、ファイルに出力された Registry 情報を復元することができる。

    alt text
    Registry の復元


    このバックアップは、最低以下の3つの Registry Key について事前に行っておくとよい。

    • HKEY_CLASSES_ROOT\.fbx
    • HKEY_CLASSES_ROOT\fbxfile
    • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.fbx


  1. fbxfile ProgID で定義されるアプリケーションパスを確認


    左側の一覧から『Computer』>『HKEY_CLASSES_ROOT』>『fbxfile』を探し、展開して『shell』>『open』>『command』を選択し、(Default) のデータとして設定されているパスを確認する。

    alt text
    画像の場合、現在の MotionBuilder のバージョンは 2024


    このパスは後ほど使用するので、(Default)の欄((既定)の欄)を ダブルクリック し、表示されたデータとしてのパスを手元にコピーしておく。

    alt text
    パスのコピー


    ちなみに、MotionBuilder 初回インストール後の既定のアプリ設定で作成された ProgID の場合、このパスを別の任意のバージョンのパスに変えても fbxファイルが開かれるバージョンは変わらなかった。


    また、既存の ProgID のデータを書き換えるよりは、別に新規で ProgID を作成してそちらを参照させるよう変更する方が安全と思われるため、ここのデータは変えずに次の手順に進む。


  1. オリジナルの ProgID を新規作成


    左側の一覧から『Computer』>『HKEY_CLASSES_ROOT』を 右クリック し、『New』>『Key』を選択する。

    alt text
    Registry Key の作成


    新規作成した Registry Key(ProgID) は、右クリック→『Rename』で任意の名称に変更できる。分かりやすい名前を付けよう(この記事では fbxfile_2 とする)。

    alt text
    Registry Key のリネーム


    手順 4. で確認した fbxfile のように、作成した ProgID に対して、<ProgID>\shell\open\command Registry Key を作成する。作成方法としては、先ほどと同様に親にあたる key を右クリック→『New』>『Key』を選択してリネームし、これを繰り返せばよい。

    alt text
    <ProgID>\shell\open\command の作成


    そして、作成した 『command』 を選択し、(Default)の欄をダブルクリックする。手順 4. でコピーしたパスを張り付け、それを任意のバージョンのものに更新して『OK』を選択する。

    alt text
    新たなパスを設定


  1. .fbx に対する ProgID を変更


    左側の一覧から『Computer』>『HKEY_CLASSES_ROOT』>『.fbx』を探して選択する。そして、(Default)の欄をダブルクリックし、前の手順で作成した新規の ProgID へデータを変更する。

    alt text
    ProgID の変更


    ファイルを開くアプリケーションのパスをデータとして持つ ProgID への参照先を変更したため、fbxファイルを開くアプリケーションが別のバージョンになる(ただし、まだ十分ではない)。


  1. ユーザー設定の変更


    2通りの方法がある。どちらも、これまでの変更が過去のユーザー設定で上書きされるのを防ぐ。


    まずは Registry Editor で設定する方法。

    左側の一覧から『Computer』>『HKEY_CURRENT_USER』>『Software』>『Microsoft』>『Windows』>『CurrentVersion』>『Explorer』>『FileExts』>『.fbx』を探して展開し、『UserChoiceLatest』内部の 『ProgId』 を選択する。無ければ 『UserChoice』 を選択する。

    alt text
    残っていたユーザー設定


    これまでのデータの編集と同様、上図右側の ProgId をダブルクリックし、新規で作成した ProgID にデータを変更する。


    もう一つは、アプリ選択画面から設定する方法。

    fbxファイルを右クリック→『Open With』>『Choose another app』を選択すると、アプリ選択の画面が表示される。

    alt text
    下は、新規の ProgID で指定した方の MotionBuilder


    この画面で新たに表示された方の MotionBuilder を選び「Always(常時)」を選択すると、『UserChoiceLatest』>『ProgId』の ProgId のデータが、新規で作成した ProgID に自動で変更される。


  1. 設定の反映


    設定の変更を反映させるためには、Explorer を再起動(またはPCを再起動)する必要がある。


    念のため 他のアプリケーションで編集中のデータを全て保存したうえで閉じ、それから Task Manager で Explorer を右クリック→『Restart』を選択して再起動する。


以上で設定の変更作業は終了。任意のバージョンの MotionBuilder にfbxファイルを紐づけることができる。


補足

  • 前章での設定作業のあとに Explorer から MotionBuilder を開くと、手順 7. の図の 『OpenWithProgids』に新しく作成した ProgID が追加される

  • 上記の方法や、既定のアプリ設定によって作成された ProgID は、MotionBuilder アンインストール時に自動で削除される訳ではない ので注意

  • 設定後、fbxファイルを開く MotionBuilder のバージョンを再度変更したい場合は

    1. 上記の手順 7.~ に沿って、既に作成していた ProgID を『UserChoiceLatest』>『ProgId』の ProgId に設定

    または、

    1. 上記の手順 4.~ に沿って、新しく ProgID を設定

    すればよい

Discussion