かげさんの111から始まるHistory » Nreal Unity » Unity でプログラムから動的に文字列を変更して表示するようにして Nreal グラスで確認する

« Nreal Adapter の発売日決定! 2022/09/15 00:00よりスペシャルギフトセット「ReNGO(リンゴ)セット」先行販売 | トップページ | Nreal ReNGO(リンゴ)セットの予約開始 »

2022.09.14

Unity でプログラムから動的に文字列を変更して表示するようにして Nreal グラスで確認する

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Unity で固定文字列を表示するようにして Nreal グラスで確認する」で固定文字列を表示できるようになりました。

なので、次は、プログラムから動的に変更する文字列を表示します。

例によって画像はクリックすると拡大表示されます。

プログラムから動的に文字列を変更する手順

Ui_text10

Hierarchy ビューで右クリックメニュー「Create Empty」を選択。

Ui_text11

Hierarchy ビューに GameObject が表示されます。

Create Empty」で作られる GameObject Transform だけを持つゲームオブジェクトです。

Transform の Position X, Y, Z には値が初期設定されています。

Ui_text12

Transform の Position X, Y, Z の値を下記の手順で初期リセットします。

Transform の欄の右端にある「」をクリックしてメニューを表示

Reset を選択

Ui_text13

リセットされて Position X, Y, Z が 0 になった。

Ui_text14

このゲームオブジェクトにスクリプトを紐づけしたいので、まずはスクリプトを作ります。

Add Component ボタンをクリック

② リストをスクロールして New Script を選択

Ui_text15

New Script の Name 欄からスクリプト名を入力

Ui_text16

今回はテキストとして「接続している Nreal グラス(Nreal Light か Nreal Air)」と「現在の DoF 」を表示しようと思うので NrealStateObj としました。

Ui_text17

Project ビューに追加された NrealStateObj の C# スクリプトをダブルクリック

Ui_text18

かげさんは、Unity のスクリプトエディタとして Visual Studio Code にしているので、こんな感じで表示されます。

Ui_text19

赤枠の部分のソースを入力して、エディタを閉じます。

画像だとソースは見づらいと思うのでテキストで貼り付けておきます。

using NRKernal;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class NrealStateObj : MonoBehaviour
{
public GameObject nrealStateObj = null; // Textオブジェクト

// Start is called before the first frame update
void Start()
{

}

// Update is called once per frame
void Update()
{
// オブジェクトからTextコンポーネントを取得
Text nrealStateText = nrealStateObj.GetComponent ();

// テキストの表示を入れ替える(Nrealグラスの種類)
nrealStateText.text = "Nreal ?????";
if (NRDevice.Subsystem.GetDeviceType() == NRDeviceType.NrealLight){
nrealStateText.text = "Nreal Light";
}
if (NRDevice.Subsystem.GetDeviceType() == NRDeviceType.NrealAir){
nrealStateText.text = "Nreal Air";
}

// テキストの表示を入れ替える(DoFの種類)
if (NRSessionManager.Instance.NRHMDPoseTracker.TrackingMode == NRHMDPoseTracker.TrackingType.Tracking6Dof){
nrealStateText.text = nrealStateText.text + "(6Dof)";
}
if (NRSessionManager.Instance.NRHMDPoseTracker.TrackingMode == NRHMDPoseTracker.TrackingType.Tracking3Dof){
nrealStateText.text = nrealStateText.text + "(3Dof)";
}
if (NRSessionManager.Instance.NRHMDPoseTracker.TrackingMode == NRHMDPoseTracker.TrackingType.Tracking0Dof){
nrealStateText.text = nrealStateText.text + "(0Dof)";
}
if (NRSessionManager.Instance.NRHMDPoseTracker.TrackingMode == NRHMDPoseTracker.TrackingType.Tracking0DofStable){
nrealStateText.text = nrealStateText.text + "(0DofStable)";
}
}
}

★ポイント★
01行目: NRSDK を使うために必要なおまじない(必ず書かないとだめ)
05行目: Text オブジェクトを使うために必要なおまじない(必ず書かないとだめ)
09行目: Inspector ビューに「 Nreal State Obj 」の欄を追加するためのおまじない
21行目: Inspector ビューの「 Nreal State Obj 」を Text オブジェクトとして取得するおまじない
24~30行目: Nreal Light か Nreal Air かを判定して Text オブジェクトに設定する処理(一応、どちらでもなければ「 Nreal ????? 」と表示する)
33~44行目: DoFの種類を判定して Text オブジェクトに設定する処理

Ui_text20

エディタを閉じて C# スクリプトのコンパイルが行われると Inspector ビューに「 Nreal State Obj 」の欄が追加されます。

Ui_text21

UI Text 」を Hierarchy ビューから Inspector ビューの「 Nreal State Obj 」にドラッグ&ドロップ

ここでは「Unity で固定文字列を表示するようにして Nreal グラスで確認する」で作成した「 UI Text 」をドラッグ&ドロップしました。

これでビルドします。

ビルドした .apk を専用アプリの Nebula から実行すると Game ビューで「テキストテスト」となっているところが Nreal Light を繋いだ時は「Nreal Lihgt(6DoF)」、Nreal Air を繋いだ時は「Nreal Air(3DoF)」となれば成功です。

かげさんの場合、DoF を切り替えできるようにしていたので、DoFを切り替えると () 内の部分に表示される DoF が変わっていることが確認できました。

ここまではOKだ



最大201インチのシアター級巨大スクリーン(ARグラス越しに4mで130インチ、6mで201インチに相当)で映像をお楽しみいただくことができます。
TUVが認めた目に優しいARグラス:国際的な独立第三者検査・認証機関であるテュフラインランド(TUV Rheinland)からハードウェアレベルの「低ブルーライト・フリッカーフリー」認証を取得しました。


Nreal Streaming Box(エンリアル ストリーミングボックス) NR-7101AGL - ARグラス/スマートグラス Nreal Air 専用/Android・iOS 両対応/Nreal Airにケーブルで接続するボックス

 このエントリーをはてなブックマークに追加

| |コメント (0)

このエントリーへのリンク

このエントリーのリンクを入れるHTML:

コメント

このブログの新着コメントをRSSリーダに登録する為のxml




←名前とメールアドレスは必須です。
URLも記入すれば、URLのみが公開されます。
メールアドレスのみですと、メールアドレスが公開されてしまいますので、御注意ください。

↓コメント本文では、「a href」「b」「i」「br/」「p」「strong」「em」「ul」「ol」「li」「blockquote」「pre」のタグが使えます。絵文字をクリックすると、本文にタグを挿入できます。