iOS で SceneKit を試す(Swift 3) その58 - 3D のオブジェクトファイルを Scene File (scn) に変換する。
今まではテンプレートの ship.scn を使用したり新規で作成していたが、プロジェクトに読み込んだオブジェクトファイルを scn に変換することができる。
scn に変換する方法
変換方法は以下の3つ
- Xcode のメニューバーの機能から変換する
- オブジェクトファイルを更新時に出るアラートから変換する
- ターミナルからコマンドで変換する
その前にオブジェクトファイルをつくる
以下のコードを入力し、ファイル名を cube.usda に設定 Xcode のプロジェクトの Project Navigator (Command + 1) にドラッグ&ドロップ。
#usda 1.0 def Cube "Cube" {}
Xcode のメニューバーの機能から変換する
Project Navigatorから cube.usda を選択する。
一部ファイルフォーマットでは Quick Look でプレビューされているので
右クリックの Open As で SceneKit Document に変更。
上部 メニューバーの Editor > Convert to SceneKit scene file format (.scn) を押す。
すると、以下のアラートが出る。
ボタン名 | 機能 |
---|---|
Duplicate | 現在のファイルを残し、scn に変換したファイルを作成する |
Cancel | 何もせずアラートを閉じる |
Convert | scn に変換したファイルをつくり、元のファイルを消す |
元ファイルを残す場合、Duplicate で良いと思われるが、リソースに含まれてしまうため、なんらかの対象が必要。
オブジェクトファイルを更新時に出るアラートから変換する
Xcode 内で SceneKit Document 表示時に、
.scn ではないファイルの場合で編集を行おうとすると
「 Convert to SceneKit scene file format (.scn) 」をおした時と同様のアラートがててそこから変換できる。
ターミナルからコマンドで変換する
Scene File を多量に変換した場合や 3DCG のオーサリングツールからの変換を自動化したい場合に有効。
以下のコードをターミナルから入力。
cube.usda を cube.scn に変換している。
xcrun scntool --convert cube.usda --format scn --output cube.scn
今回はここまで