public static void Looking(Transform lookObject, Transform lookTarget, LockRotationAngle rotationAngle) { var temp = lookTarget.position; switch (rotationAngle) { case LockRotationAngle.Pitch: temp.y = lookObject.position.y; break; case LockRotationAngle.Yaw: TargetRotationFixator.RotateYaw(lookTarget.position - lookObject.position, lookObject, lookObject); break; } lookObject.LookAt(temp); }
public bool MoveUponDistance(Transform target, float detectionDistance, AEnemyMovement.EnemyMoveType currentType) { Vector3 toTarget = target.position - transform.position; if (toTarget.magnitude <= detectionDistance) { //var temp = target.position; foreach (var lookObj in lookingObject) { //temp.y = lookObj.position.y; //lookObj.LookAt(temp); TargetRotationFixator.Looking(lookObj, target, TargetRotationFixator.LockRotationAngle.Pitch); } mainEvents.OnAnimEvent(AnimationController.AnimationType.Movement, meshAgent.velocity.magnitude / correctSpeedToAnim); Move(currentType, target); return(true); } else { mainEvents.OnAnimEvent(AnimationController.AnimationType.Movement, 0); } return(false); }
private void CorrectGunPosition() { TargetRotationFixator.Looking(gunPosition, weaponLogic.WantDamagedObject.transform, TargetRotationFixator.LockRotationAngle.Yaw); //gunPosition.LookAt(weaponLogic.WantDamagedObject.transform); //TargetRotationFixator.RotateYaw(weaponLogic.WantDamagedObject.transform.position - gunPosition.position, gunPosition, gunPosition); }