今回はNode.jsで、ここまで用意してきた3Dモデルファイルを表示させるためのサーバーを実装していく。
こちらの記事で用意したプロジェクトディレクトリの「viewer.js」を開いてくれ。
すでに簡易的なサーバー環境を立ち上げるためのコードが書いてあるので、今回は各自で取得したキーなどを入力していく。
編集する箇所はファイル内5〜7行目の変数だ。
var CLIENT_ID = '',
CLIENT_SECRET = '',
OBJECT_URN = '';
ForgeアカウントのID、シークレットキー、URNはBase64変換前のobjectIdを入力する。
これで準備は完了だ。
ファイルを保存し、ターミナルを起動しよう。
ターミナルでプロジェクトディレクトリに移動し、下記のコマンドを実行してくれ。
npm install
プロジェクト内のpackage.jsonを元に必要なモジュールがインストールされる。
プロジェクト内にnode_modulesディレクトリが作成されたら下記コマンドを実行。
node viewer.js
「Server is listening」と表示されたら、ブラウザでhttp://localhost:3000/へアクセスしてみてくれ。
ブラウザ上にモデルが描画されれば成功だ。
コードを大まかに解説しよう。
Node.jsでWebサーバーを起動。
Postmanで行っていたURNのBase64変換処理は関数で実行している。
サーバーへアクセスすると、サーバー側で認証を行いアクセストークンを取得。
アクセスのたびにトークンは更新されるので、有効期限は気にならない。
あとはサーバー側でHTMLを生成すれば描画処理完了だ。
いかがだっただろうか。
3Dの描画はThree.jsなどのライブラリを使用しても骨の折れる作業だが、ForgeのAPIを使い、簡単なNode.jsコードを書くだけで多機能なビューを実装することができる。
今回はローカル環境でのサーバー構築に留めるが、次回はこの環境をHerokuにデプロイし、デモ環境を公開する手順を紹介しよう。