// Use this for initialization void Start() { // 選択中のキャラクター番号 int nSelCharactor = SettingManager.LoadSelectCharactor(); //nSelCharactor = 29; walkSpeed = walkSpeedArray[nSelCharactor]; mChangeChar = GetComponent <ChangeCharactor> (); mChangeChar.Change(nSelCharactor); mCharactor = mChangeChar.GetCharactor(nSelCharactor); characterController = mCharactor.GetComponent <CharacterController> (); animator = mCharactor.GetComponent <Animator> (); // joystick = GameObject.Find("Joystick").GetComponent <Joystick> (); // RightJoystick = GameObject.Find("RightJoystick").GetComponent <Joystick> (); int value = Random.Range(0, 5); Vector3 pos = mCharactor.transform.position; pos.x = startPos[value, 0]; pos.y = startPos[value, 1]; pos.z = startPos[value, 2]; mCharactor.transform.position = pos; //StartCoroutine("CheckForDeletedParticles"); }
// Update is called once per frame void LateUpdate() { if (!target) { int nSelCharactor = SettingManager.LoadSelectCharactor(); GameObject charactor = ChangeChar.GetCharactor(nSelCharactor); target = charactor.transform; } // Early out if we don't have a target if (!target) { return; } // Calculate the current rotation angles var wantedRotationAngle = target.eulerAngles.y; var wantedHeight = target.position.y + height; var currentRotationAngle = transform.eulerAngles.y; var currentHeight = transform.position.y; // Damp the rotation around the y-axis currentRotationAngle = Mathf.LerpAngle(currentRotationAngle, wantedRotationAngle, rotationDamping * Time.deltaTime); // Damp the height currentHeight = Mathf.Lerp(currentHeight, wantedHeight, heightDamping * Time.deltaTime); // Convert the angle into a rotation var currentRotation = Quaternion.Euler(0, currentRotationAngle, 0); // Set the position of the camera on the x-z plane to: // distance meters behind the target transform.position = target.position; transform.position -= currentRotation * Vector3.forward * distance; // Set the height of the camera transform.position = new Vector3(transform.position.x, currentHeight, transform.position.z); // Always look at the target transform.LookAt(target); transform.position += currentRotation * Vector3.forward * distance * target_distance; }