ARアプリ オブジェクトのサイズを表示したい

AR

オブジェクトの操作に関してはほぼ完成したので、今回は選択されているオブジェクトの寸法をどうにか表示する事はできないか挑戦してみました



考察

オブジェクトを配置する時に、そのオブジェクトの大きさが表示されていればユーザーがイメージしやすくなるのではと考え、検討してみる事にしました

オブジェクトをMayaで作る際は、あらかじめ定めた寸法通りに作成しています

例えば冷蔵庫の4ドアサイズはW60×D66×H173になるように作成しています

ボックスコライダーのサイズを見ると、寸法が正しく反映されているのが分かります

つまり、ボックスコライダーのサイズを表示出来れば目的を達成することができそうです

調べてみると、ボックスコライダーのxを表示する場合はBoxCollider.size.xでいけそうなことが分かりました

表示するタイミングに関しては、オブジェクト選択時にボックスコライダーの情報を取得する方式でやってみようと思います

スクリプト更新

CreateObjectスクリプトに新たに以下を追加しました

実際に寸法を表示するテキストを画面上の任意の場所に設定します

この際テキストメッシュプロを使用するとスクリプトにアタッチ出来なかったので調べてみると、ただのテキストでないとアタッチ出来ないことが分かりました

ただのテキストは、UI→Legacyのところにあります

設置場所を決めたら、CreateObjectスクリプトにアタッチします

CreateObjctスクリプトに以下を追加

GetComponentにより現在選択されているオブジェクトのボックスコライダーを取得し、テキスト上に任意の形式で表示するようにしてあります

実行

もふもふ
もふもふ

できたもふ(;゚Д゚)

ちょっとGIFだと見えづらかったので、画像も貼っておきます

寸法がバッチリ表示されているので成功です



まとめ

オブジェクトのサイズを表示するには、ボックスコライダー情報を取得し、LegacyのTextに格納するという方法がある

ただし、たまたま立方体に近い形状だったために適用が可能だったのであり、複雑な形状のものには適してないと思われます

タイトルとURLをコピーしました