/* * setText ("表示したいString", 表示先のTextMeshの番号);でHoloLensの画面上のTextMeshにStringが表示可能 * TextMeshは * 1.sceneのHoloLensCameraの子要素としてTextMeshを新たに追加(他のをコピーするとやりやすい) * 2.表示したい位置を決める(他のをコピーすることで位置決めが容易) * 3.このUpdate()にsetText("表示したいString", 表示先のTextMeshの番号);と記述し、完了 */ void Update() { display(); setText("Pos: " + destination.transform.position, 0); setText("Dis: " + Vector3.Distance(destination.transform.position, transform.position), 1); setText("Rot: " + getDistinationVec(), 2); setText("Guidance: " + getDirection(), 3); setText("Bluetooth State: " + getBluetoothState(), 4); setText("GapX: " + csm.getGap().gapX + " GapY: " + csm.getGap().gapY + " Angle: " + csm.getGap().gapAngle, 5); setText("Avoiding :" + mr.huNav.isAvoiding, 6); setText("Trajectory :" + trajectory.isLineOn, 7); if (csm.getPulldogData() != null && csm.getHoloLensData() != null) { setText("pDataNum :" + csm.getPulldogData().Count + " hDataNum:" + csm.getHoloLensData().Count, 8); } setText("Test :" + getTestText(), 9); if (csm.getPulldogData() != null) { if (csm.getPulldogData().Count != 0) { List <JsonTimeAndPositionLog> pulldogData = csm.getPulldogData(); setText(pulldogData.Last().mTime.Minutes + "," + pulldogData.Last().mTime.Seconds + "," + pulldogData.Last().location.x + "," + pulldogData.Last().location.y, 10); } } if (tsl.getJsonTimeAndPositionLogByBaseTime(blue.getBluetoothBaseTime()).Count != 0) { List <JsonTimeAndPositionLog> taldList = tsl.getJsonTimeAndPositionLogByBaseTime(blue.getBluetoothBaseTime()); var now = taldList[taldList.Count - 1]; setText(now.mTime.Subtract(blue.getBluetoothBaseTime()).Minutes + "," + now.mTime.Subtract(blue.getBluetoothBaseTime()).Seconds + "," + now.location.x + "," + now.location.y, 11); } setText("Bluetooth :" + blue.getMessageForDisp(), 12); dp.humanNav.log.writeMessage_me("me," + transform.position.x + "," + transform.position.z); }
// Update is called once per frame /* * データのサンプリングを行い、データ数が十分であれば座標系同士のズレを計算する */ void Update() { if (ab != null) { pData.AddRange(ab.getTAPLDataFromAndroid()); //Bluetooth通信でPULLDOGの時間・Location情報を取得 if (pData.Count != 0) //返値がNullでなければ { if (pData.Count > CALCULATE_POSITION_NUMBER + 10) //サンプリングを行うときにデータをpDataのデータ数を10個余分に見ておくことで、一回のサンプリングで完了できるようにしている(10個は適当) { List <List <JsonTimeAndPositionLog> > listForCalGap = samplingFromHoloLensLogList(tsl.getJsonTimeAndPositionLogByBaseTime(ab.getBluetoothBaseTime()), pData); //参照する数だけHoloLensの時間・Location情報を取得 if (listForCalGap != null) { //返値がNullでなければ cordinateGap = calculateGap(listForCalGap); //Gapを計算 for (int i = 0; i < listForCalGap[1].Count || i < listForCalGap[0].Count; i++) //データの表示 { if (i < listForCalGap[1].Count) { ol.writeMessage_trajectory("HoloLens,Time," + listForCalGap[1][i].mTime.Minutes + ";" + listForCalGap[1][i].mTime.Seconds + ";" + listForCalGap[1][i].mTime.Milliseconds + ",x," + listForCalGap[1][i].location.x + ",y," + listForCalGap[1][i].location.y); } if (i < listForCalGap[0].Count) { ol.writeMessage_trajectory("PullDog,Time," + listForCalGap[0][i].mTime.Minutes + ";" + listForCalGap[0][i].mTime.Seconds + ";" + listForCalGap[0][i].mTime.Milliseconds + ",x," + listForCalGap[0][i].location.x + ",y," + listForCalGap[0][i].location.y); } } ol.writeMessage_trajectory("Gap,x," + cordinateGap.gapX + ",y," + cordinateGap.gapY + ",Angle," + cordinateGap.gapAngle); //データの表示 //cordinateGap = new Gap(); pData = new List <JsonTimeAndPositionLog>(); tsl.clearjTAPLList(); //CALCULATE_POSITION_NUMBER += 10; } } } } }