protected void Start() { TargetPos = TargetObject.transform; ballpos = GameObject.Find("ball").transform; predir = new Vector3(0f, 0f, 0f); swing = new List <GameObject>(); player_swing = new GameObject("player_swing"); player_swing.transform.parent = this.transform; ModelDrawer = new TrajectryDrawer(lineLength, lineWidth, dt); if (!fast) { StartCoroutine(SwingRecord(false)); } //sound_controller = controller_list[0]; }
// Start is called before the first frame update void Start() { ModelDrawer = new TrajectryDrawer(lineLength, lineWidth, dt); StreamReader txtfile = new StreamReader(Application.dataPath + "/MotionLog913.txt", Encoding.UTF8); index = 0; string str = txtfile.ReadToEnd(); file = str.Split('\n'); while (cont) { GameObject traj_p = Instantiate(SwingHolderPrefab); GameObject former = new GameObject("former"); GameObject latter = new GameObject("latter"); former.transform.parent = traj_p.transform; latter.transform.parent = traj_p.transform; while (SetPosition()) { if (UpdatePos() < 0) { break; } } while (SwingStart() < 0.15f) { if (UpdatePos() < 0) { break; } } //Unityは左手系→ボールのzを前にしたとき、ユーザにとって右側はx軸の正の方向 if (SwingStart() <= 0f) { if (UpdatePos() < 0) { break; } Destroy(traj_p); continue; } foreach (Transform child in this.transform) { child.gameObject.SetActive(false); } Debug.Log("swing may start"); GameObject last; ModelDrawer.SetColorAndTag(new Color(1.0f, 0f, 0f, 0.1f), "TakeBack"); ModelDrawer.setLength(this.lineLength); Dummy.position = TargetPos; Dummy.rotation = TargetRot; ModelDrawer.init(Dummy, former); while (true) { Dummy.position = TargetPos; Dummy.rotation = TargetRot; last = ModelDrawer.drawLine(Dummy); if (last != null) { break; } if (UpdatePos() < 0) { break; } ; } if (int.Parse(last.name) <= 0) { Destroy(traj_p); continue; } ModelDrawer.Turn(lineLength * 2f, latter); Color c2 = new Color(0f, 1.0f, 0f, 0.1f); ModelDrawer.SetColorAndTag(c2, "DownSwing"); while (true) { Dummy.position = TargetPos; Dummy.rotation = TargetRot; last = ModelDrawer.drawLine(Dummy); if (last != null) { break; } if (UpdatePos() < 0) { break; } } if (int.Parse(last.name) <= 0) { Destroy(traj_p); continue; } Destroy(last); Debug.Log("swing ends"); traj_p.transform.parent = this.transform; if (!cont) { Destroy(traj_p); } } }