本日はHoloLens 調査枠です。
昨日に引き続き腕時計を作ります。
昨日は腕にリングが表示されるところまでを作成しました。本日は時計の表示を行います。
〇時計の機能
デバイス内で現在時刻を取得するためにはSystem.DateTimeを使用します。
using System; public class hoge { float _time//現在時刻 Start () { _time = DateTime.Now; } }
今回は次のようなスクリプトを書きました。
using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using TMPro; public class watch : MonoBehaviour { [SerializeField] TextMeshPro _dayText; [SerializeField] TextMeshPro _timeText; // Update is called once per frame void Update() { _dayText.text = (DateTime.Now.Month.ToString() +"/"+DateTime.Now.Day.ToString()); _timeText.text = (DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString()+":"+DateTime.Now.Second.ToString()); } }
Update関数で毎フレーム現在時刻を参照してTextMeshProのテキストに反映します。
このコンポーネントを昨日作成したリングのオブジェクトにアタッチします。
次にリングオブジェクトの子オブジェクトとしてTextMeshProを二つ作成します。
作成したTextMeshProを[TimeText]、[DayText]と名付けます。
[TimeText],[DayText]はそれぞれ時間と日付を示すテキストになります。
このテキストをリングに配置します。
リングにアタッチした[watch]コンポーネントの[TimeText],[DayText]にそれぞれ作成したTextMeshProをアタッチします。
以上で時計が完成しました。
Unityを実行します。
手首に沿ってリングが表示され、日付と時間が表示されるようになりました。
以上でHoloLens 2で機能する腕時計が完成しました。