間違いを指摘してもらうためのUIを検討しました。
UI検討
3rdパーソンビューのまま、追加でマウスカーソルを表示する設定にしてみました。
マウスカーソル表示
下記手順で、自キャラは「WASDスペース」等で操作できるまま、マウスカーソルも別途表示し、ドラッグでカメラ旋回できる状態になりました。
マウスカーソル表示するPlayerControllerのBPクラスを作成して、その利用を設定する2点変更。
新規クラス作成→PlayerController→適当な名前付け→編集画面→(クラスのデフォルト)→詳細→マウスインターフェースのShow Mouse Cursor(マウスカーソル表示)にチェック→保存
(Third-Person ViewのデフォルトのPlayerControllerクラスは編集できなそうなので新規作成しました)
BP_ThirdPersonGameModeを編集→クラス/Player Controller Classにさっき作ったクラスを指定→コンパイル
マウスクリックで当たり判定
今マウスがいる2次元平面上の位置をワールド座標に変換して、カメラの方向に一定距離伸ばして当たるオブジェクトをライントレース。設置した「間違い」のスタティックメッシュアクタにはタグをつけておいて、そのタグにヒットするオブジェクトだけマウスクリックで検出できるようにしました。
Line Trace For Objectsだと最初の1個しかヒットしないようで、机の上の缶にはヒットしてくれず机が選択され続けたのでMultiバージョンでForEachに変更。
Break Hit ResultのHit ActorからActor Has Tagでタグの一致するもののみに絞り込み。
で、さっきと同じ操作でタグつけたスプレー缶だけ検出できるようになりました。
つづく
明日(今夜)は検出した数と間違い総数を管理して画面上に表示かな。
コメント