//Bizer적용 움직임테스트 void BulletBizer(Vector3 target) { Vector3 pos = transform.position; //TODO: t값을 점점빠르게 점점느리게 빨랐다 느려졌다 컨트롤 할수 있게 할것 float t = 0.0f; t += Time.deltaTime / 1f; //분모가 증가 할수록 전체속도가 느려짐 속도에 영향 Vector3 dir = target - transform.position; Vector3 Position = Vector3.zero; float viaX = (target.x + pos.x) / 2; //곡선을 이룰 방향값 //TODO: 목표물의 In , Out 을 구별해서 보다 정밀하게 할 필요 있음 float viaY = target.y; Utils_Proto.BezierInterpolation2(out Position.x, out Position.y, pos.x, pos.y, viaX, viaY, target.x, target.y, t); transform.position = new Vector3(Position.x, Position.y, 0); //transform.forward = Vector3.Slerp(transform.forward, dir.normalized, Time.deltaTime); }
//보간 적용 미사일테스트 toPosition 은 적 타겟임 void bulletLine(Vector3 toPosition) { Vector3 pos = transform.position; //TODO: t값을 점점빠르게 점점느리게 빨랐다 느려졌다 컨트롤 할수 있게 할것 float t = 0f; t += Time.deltaTime / 1.0f; //분모가 커질수록 점점 느려짐 Vector3 dir = toPosition - transform.position; Vector3 Position = Vector3.zero; Utils_Proto.LinearInterpolation(out Position.x, out Position.y, transform.position.x, transform.position.y, toPosition.x, toPosition.y, t); //z값 특정변경시 주의 필요함 transform.position = new Vector3(Position.x, Position.y, Position.z); Quaternion rotation = Quaternion.LookRotation(dir, Vector3.up); transform.rotation = rotation; }