はじめに
VRGestureというUnityのプロジェクトを理解しようと思い、スクリプトを見てみたが、分からないコードが大量にあったのでまとめてみました!(^^)!
読んでほしい人
- とりあえず、コードが好きな方
- VRGestureに興味がある方
書き方説明
例)
//分からなかったコード記入 string.Length
文字数を取得する ※1行説明(努力目標)
開始
//1個目 Instantiate(GameObject)
Instantiateは第1引数のみの場合もある。コピーしたいオブジェクトを引数に渡す。シンプルの極み!
//2個目 GetComponent<TextMesh>().text = string
TextMeshはインスペクター内のtextやFontをいじるところ
上記は、TextMeshのtextに文字列を代入。
//3個目 UnityEngine.GL
Unityで線を引くときに使う。GL.LoadOrtho(); GL .Begin(GL.LINES) などなど、詳しくはリファレンスで。
//4個目 ref out
refが付いた引数はメソッド内で変更できる。outは初期化しないでも使用できる
//5個目 if(bool)return //returnが??
return → 処理の中断 ※上記の場合
//6個目 Time.time
ゲーム開始からの時間
//7個目 OnPostRender()
スクリプトをカメラに接続して使う。カメラがシーンのレンダリングを完了後に呼出。コルーチン使える。
//8個目 string.Substring(A,B)
文字列の部分取り出し。A:開始位置 B:何文字取得するか
//9個目 char a = b[int X];
文字列から1文字取得。X:何文字目を取得するか
//10個目 UnityEngine.XR.XRDevice.SetTrackingSpaceType(UnityEngine.XR.TrackingSpaceType.Stationary);
位置トラッキングのモード Stationary:着席モード RoomScale:動きまわれるモード
//11個目 UnityEngine.XR.InputTracking.Recenter();
Unityのカメラの位置が、そのままプレイヤーの頭の位置になる。InputTracking.Recenterで位置合わせ可能
//12個目 UnityEngine.XR.InputTracking.GetLocalPosition(UnityEngine.XR.XRNode.Head)
Headのローカル座標と向きの取得
//13個目 LinkedList
Listと使い方は同じ感じ、性能に違いあり。
//14個目 LinkedList<Sample> samples.AddFirst(value)
valueをLinkedListの先頭に追加する。AddLastなど他にもいくつかある。
//15個目 LinkedList<Sample> samples.RemoveLast()
最後尾にあるノードを削除する。ノードは点と線で例えると、点!
//16個目 LinkedList<Sample> samples.Count()
LinqのメソッドのCount()と同じ意味かな、だとしたら、要素数を返す
//17個目 18個目 Range(0.2f, 0.4f).Average(sample => sample.eulerAngles.x); Range(0.01f, 0.2f).Max(sample => sample.eulerAngles.x);
LINQのメソッド Average():平均値を返す Max():最大値を返す 書籍C#超入門おすすめ!
//19個目 LinkedList<Sample>.First()
最初の要素を取得する
//20個目 try{A}catch{B}
例外処理 A:処理 B:例外処理 Aで処理できなかった場合、Bに移る
//21個目 Mathf.Abs(-1.5)
絶対値を返す 1.5
//22個目 try{}catch(invalidOperationException){}
invalidOperationExceptionはエラーの名称 グーグル翻訳すると「無効な操作例外」
//23個目 Public enum State{ A,B,C}
enumは列挙型 switch-case文とあわせて使われることが多い
//24個目 public event Action<string> hogehoge;
デリゲートを理解しないと厳しい デリゲートについて
//25個目 Resources.Load("A")
プロジェクト内のResourcesフォルダにある「A」という名前のAssetを取得する
//26個目 string Trim()
文字列の前後にある空白文字を消去 TrimStart:前の空白文字を消去 TrimEnd:後の空白文字を消去
//27個目 string.StartsWith() //例 string a = "hideto" if(a.StartsWith("hi")) { //処理 }
文字列の先頭の文字と一致するか調べる
//28個目 Regex.Match()
パターンに一致した文字列を一つ抽出する?
//29個目 Match.Groups
抽出したグループを取得? Regex難しい
//30個目 int.Parse(string) //例 string a = "333" int b = int.Parse(a)
文字から数字へ型変換
//31個目 throw new Exception();
throwは例外を発生させる。Exceptionというエラーを発生させる。
感想
Regex難しい。
コメント