月とねこ

設計した物置き場です

SolidWorks2019 新機能 【glTF形式でのエクスポート+Unityへのインポート 】

概要

SolidWorks 2019で追加された、glTF形式へのエクスポート機能の導入方法と、Unityへのインポート時に起きる問題への対応手順解説です。

glTFについて

モデルの形状データだけでなく、環境情報なども含めて保存する事が出来るフォーマットです。
デコシさんのブログが分かりやすいですね。 www.tattichan.work

余談ですが、MicrosoftのMRデバイスであるHololensは、元々対応していたFBXを辞め、glTFに切り替えているとの事。 今回は、この形式にSolidWorksが対応した事が気になり、導入手順まで確認した次第です。

検証環境

SolidWorksで、glTFファイルをエクスポートするまでの手順

以下のリンクに英語版のSolidWorks環境設定方法が記載されています。
基本的にこれを踏襲していますが、日本語環境依存の部分の対応を追記しています。
blogs.solidworks.com

  1. ここにアクセスし、SolidWorksのアカウントでログインします。
    ログインする際は、SolidWorksのライセンスが紐づいたアカウントが必要になります。
  2. 「Extended Reality」 と記載されている欄をクリックし「XRExporter.exe」をDLします
    f:id:RyutoAI2xm:20190119213747p:plain
  3. exeファイルを使ってインストールを行います
  4. SolidWorksを起動し「ツール」->「アドイン」を選択し、SolidWorks XR Exporter にチェックを入れます。
    f:id:RyutoAI2xm:20190119213852p:plain
  5. 適当なファイルを開き「ファイル」->「指定保存」を選択します。
  6. 「ファイルの種類」で「Extended Reality」を選択し、保存します。
    f:id:RyutoAI2xm:20190119205406p:plain
  7. 保存した際の名称でフォルダが作成され、直下にglTFファイルが保存されます

Solidworks2018以前で作成したCADファイルを使用する場合

「コンフィグレーション」タブの「表示状態」の名称を英字に変更してください。
これをやらないと、Unityにインポートする際に、Json読み取りエラーを吐きます。

名称変更は、表示状態の上で右クリック->「プロパティ」から変更可能です。 f:id:RyutoAI2xm:20190119204507p:plain
f:id:RyutoAI2xm:20190119205009p:plain

glTFファイルをUnityにインポートするまで

「Sketchfab for Unity」というアセットを使用します。 導入手順については、以下を参考にさせて頂きました。 zeroichi.hatenablog.jp

ちょとはまった場所

  1. アセットストアからSletchfabを導入し、ソフト起動を起動するとアップデートしてねと出て来るのですが、どこからアプデすれば良いか分からなかったので
    以下より、UnityPackageをDLして、インポートして使用しました。(普通どうやるんですかね?) github.com

  2. glTFファイルは、Unityプロジェクトフォルダ以下に、適当なフォルダを作って、そこに入れましょう
    入れないとSketchfab実行時にエラーとなります。

  3. Sketchfabから「Select file」を使用してパス指定を行おうとすると、何故かエラーになるので、
    その場合は、ドラッグアンドドロップで、直接glTFファイルを選択しましょう。 f:id:RyutoAI2xm:20190119212012p:plain

Unityへのインポート結果

glTFの為、テクスチャなども、ちゃんと引っ張ってこれている事が分かります。 f:id:RyutoAI2xm:20190119213516p:plain