Esempio n. 1
0
	public void PlayQTE(CameraQTEParams[] camSequence)
	{
		this.camSequence = camSequence;
		oriParams = camRig.param;
		startTime = Time.time;
		index = 0;
		isPlaying = true;
	}
Esempio n. 2
0
	void TransitionTo(CameraQTEParams targetParams)
	{
		transitionFrom = camRig.param;
		transitionTo = targetParams;
		isTransition = true;
		transitionStartTime = Time.time;
		transitionTo.curve = null ?? CameraQTEParams.DefaultCurve;
	}
Esempio n. 3
0
	public static CameraRigParams Lerp(CameraRigParams from, CameraRigParams to, float t)
	{
		CameraRigParams result = new CameraRigParams();
		result.basePosition = Vector3.Lerp(from.basePosition, to.basePosition, t);
		result.fov = Mathf.Lerp(from.fov, to.fov, t);
		result.offsetInFov = Vector2.Lerp(from.offsetInFov, to.offsetInFov, t);
		result.turn = Mathf.LerpAngle(from.turn, to.turn, t);
		result.pitch = Mathf.LerpAngle(from.pitch, to.pitch, t);
		result.roll = Mathf.LerpAngle(from.roll, to.roll, t);
		result.distance = Mathf.Lerp(from.distance, to.distance, t);
		return result;
	}
Esempio n. 4
0
	public void UpdateCamera(CameraRigParams param)
	{
		if (camT == null) { return; }

		camT.camera.fieldOfView = param.fov;
		camPos.localPosition = new Vector3(0, 0, param.distance);
		camOffset.localPosition = param.basePosition;

		camRoll.localPosition = param.offsetInFov * Mathf.Tan((param.fov * 0.5f) * Mathf.Deg2Rad) * 2* param.distance;

		camTurn.localEulerAngles = new Vector3(0, param.turn,0);
		camPitch.localEulerAngles = new Vector3(param.pitch, 0, 0);
		camRoll.localEulerAngles = new Vector3(0, 0, param.roll);

		camT.position = camPos.position;
		camT.rotation = Quaternion.LookRotation((camTarget.position - camPos.position).normalized, camRoll.up);
	}