🧭

Unity--ポイントされたobjectの名称をPopUpで表示する

2023/01/08に公開

大きな目標

Unityの空間で検索結果を三次元的に表示し、例えば開架の図書館内を歩きながらときどき本を手に取るような閲覧の仕方を可能にする。

中期的な目標

検索情報をC#でUnityに送り込む。

今日の課題

書架の資料に当たるobjectにカーソルでタッチすると、資料の名称がpop-upで表示されるようにする。

  • 大元となるpointer配下にTextMeshを置きpopupと名づける。
  • pointerEnterとpointerExitを検知してpopupが名称を表示するScriptを書く。
  • Scriptを大元となるpointerにattach。
  • Scriptのtextとしてpopupを指定。
  • どの方向からobjectに接近した場合もtextがカメラに正対するようにLookAtを設定したScriptを書きpop-upにattach。

問題1 機能しない。

対応 昨年のさまざまな試作品を見返して、EventSystemが未設定だと判明。これがないとpointerがobjectに乗っているという判定ができない。

  • 空のobjectを作り、EventSystemとInputSystemを設定。

問題2 昨年の試作品と同様の名前空間を記述すると、

  • using System;
  • using System.Collections.Generic;
  • using UnityEngine.UI;
    の三つが未使用でグレーアウトになる。コメントアウトしても問題ない。

対応 なぜだかわからないが、いったん放置。

まとめ

すべての原型となるpointerも、Script上で複製・配置された各pointerも、カーソルをのせるとその名称がpop-upされるようになった。これで表示画面の基礎は一段落。
次回はダミーの検索結果を入れて、配列から全件表示するためのScriptを書きたい。

Discussion