みなさま、ご無沙汰しております。お久しぶりのじゅんこ姉さんです。
今回は「外部プログラムからForge Viewer で視点を変えることができるんです!」って内容をお伝えしていきたいと思います。
実はこれ、とある部署からの依頼なんです。
お客様からの依頼なら気合いが入るじゅんこ姉さんも、社内の依頼なら誰かにぶん投げちゃうこともあるのはここだけの話です。(´-`).。oO(高田君ありがとう!
まずは2つのビューアがあるサンプルでご説明します。動画をご覧ください♪( ´θ`)ノ
左側のビューアの視点をマウスで操作すると右側のビューアも同じように視点が変わっています。
これは左側のビューアのカメラ移動イベントを拾って右側のカメラの位置を移動させているのです。カメラとは視点を制御する3Dの概念です。カメラの位置と角度で視点が決まります。これらはJavaScriptから実行されており、このように外部プログラムからForgeを操作することができます。
このカメラ移動イベントですが、これを使ったForgeのページが、なんと!toBIM.netのBooT.one 特設サイトに公開されました☆
(´-`).。oO( このための依頼だったのね。。。BooT.one がんばれ!
みなさまもご存じの通り、7月1日に「BooT.one」が当社からリリースされました!ついでに、BooT.oneの説明もじっくり読んでいってくださいね!
Revitで作ったモデルや図面とBooT.oneで作ったモデルや図面を並べて比較できるというページです。2つのビューアが連動しているので見比べ易いですね!
じゅんこ姉さんから見ても、BooT.oneの図面の方が綺麗なのがよく分かります!
(´-`).。oO(BooT.one がんばれ!
続きまして、タブレットの向きと視点を連動させたサンプルを作成しました。
ご覧ください♪( ´θ`)ノ
これはタブレットのデジタルコンパスから方角を取得し、それを視点に適用させています。つまり、コンパスの向きからモデルを見ているのです。
上のサンプルでは原点を中心に視点を回転させていますが、指定したオブジェクトを中心に視点を回すこともできるんです。ご覧ください♪( ´θ`)ノ
青にハイライトされている選択オブジェクトを中心に視点が回転していますね。
どうやって視点を回転させているかというとthree.jsの機能を使ってカメラの位置と向きを設定しています。角度計算では数学の知識を使っていたりします。
ただ、これはモデルのサイズやタブレットの性能によってスムーズに回らないこともあるかもしれません。
ちなみに弊社では2Dシート上にタブレットの向きを方位磁石として表現させた事例があります。
ところで、視点を回転させていますが、「モデルが回転している」ようにも見えます。
「マルチモデルと移動」でご紹介したモデル移動・回転はモデル自身の位置を変えており、今回ご紹介した視点の変更とは違った方法になります。
同じ挙動に見えても用途によって全く違うアプローチをすることがあります。いろんな実現方法があるのです。もしForgeで実現させたいけど無理だろうと思うことがあっても一度弊社にご相談ください。別のアプローチ方法があるかもしれませんよ♪
以上、最近は二度寝を楽しみながらも遅刻しない特技を身につけたじゅんこ姉さんでした。