public IEnumerator enterTheScene() { SCARED_COUNTER = 0; IS_IN_SCENE = true; game.trapDoor.SetBool("TrapDown", false); game.trapDoor.SetBool("TrapUp", true); antura.transform.eulerAngles = Vector3.up * 90; yield return(new WaitForSeconds(0)); antura.State = AnturaAnimationStates.walking; antura.SetWalkingSpeed(1); while (transform.position.x > stopPose.position.x + 0.01f) { transform.position -= Vector3.right * movingSpeed * Time.deltaTime; yield return(null); } antura.SetWalkingSpeed(0); antura.State = AnturaAnimationStates.idle; StartCoroutine(bark()); yield return(null); }
void Start() { transform.position = HidePosition.position; target = HidePosition.position; antura.State = AnturaAnimationStates.walking; antura.SetWalkingSpeed(AnturaAnimationController.RUN_SPEED); }
public void Reset() { velocity = Vector3.zero; transform.localRotation = Quaternion.Euler(0, 0, 0); animator.State = AnturaAnimationStates.walking; animator.SetWalkingSpeed(1f); }
void Start() { antura = GetComponent <AnturaAnimationController>(); anturaAnimator = GetComponent <Animator>(); antura.SetWalkingSpeed(1); antura.State = AnturaAnimationStates.walking; transform.position += Vector3.right * 25; StartCoroutine(handleAnturasEvents()); thisRound = game.roundsManager.numberOfRoundsPlayed; }
public void Reset() { velocity = Vector3.zero; rigidBody.velocity = Vector3.zero; rigidBody.angularVelocity = Vector3.zero; transform.localRotation = Quaternion.Euler(0, 0, 0); ballGrabbed = false; jumped = false; animator.State = AnturaAnimationStates.walking; animator.SetWalkingSpeed(1f); state = State.Running; }
void FixedUpdate() { if (state == State.Chasing) { Vector3 velocity = BallController.instance.transform.position - transform.position; float distSquared = velocity.sqrMagnitude; velocity.Normalize(); float t = Mathf.Clamp(distSquared / CHASING_SQUARED_THRESHOLD, 0, 1); velocity *= Mathf.Lerp(MIN_CHASING_SPEED, MAX_CHASING_SPEED, t); animator.SetWalkingSpeed(t < 1 ? t / 2 : 1); Vector3 position = transform.position; position += velocity * Time.fixedDeltaTime; transform.position = position; MathUtils.LerpLookAtPlanar(transform, transform.position - velocity, Time.deltaTime * 4); } else { rigidBody.AddForce(Constants.GRAVITY, ForceMode.Acceleration); Vector3 position = transform.position; position.x += xVelocity * Time.fixedDeltaTime; transform.position = position; if (ballGrabbed) { BallController.instance.transform.position = modelManager.Dog_jaw.position + ballOffset; } } }
void Update() { antura.IsAngry = angry; antura.SetWalkingSpeed(walkSpeed); if (doTransition) { doTransition = false; antura.State = targetState; } if (doBurp) { doBurp = false; antura.DoBurp(); } if (doBite) { doBite = false; antura.DoBite(); } if (doShout) { doShout = false; antura.DoShout(); } if (doSniff) { doSniff = false; antura.DoSniff(); } if (onJumpStart) { onJumpStart = false; antura.OnJumpStart(); } if (onJumpMiddle) { onJumpMiddle = false; antura.OnJumpMaximumHeightReached(); } if (onJumpGrab) { onJumpGrab = false; antura.OnJumpGrab(); } if (onJumpEnd) { onJumpEnd = false; antura.OnJumpEnded(); } if (doCharge) { doCharge = false; antura.DoCharge(null); } if (doSpitOpen) { doSpitOpen = false; antura.DoSpit(true); } if (doSpitClosed) { doSpitClosed = false; antura.DoSpit(false); } if (onSlipStart) { onSlipStart = false; antura.OnSlipStarted(); } if (onSlipEnd) { onSlipEnd = false; antura.OnSlipEnded(); } }
void Update() { if (isSliping) { transform.position += lastVelocity * Time.deltaTime; var velMagnitude = lastVelocity.magnitude; if (velMagnitude > 1) { lastVelocity -= 10 * lastVelocity.normalized * Time.deltaTime; } else { lastVelocity = Vector3.Lerp(lastVelocity, Vector3.zero, 4 * Time.deltaTime); } if (lastVelocity.magnitude < 0.2f) { isSliping = false; runningTime = 0; AnimationController.OnSlipEnded(); } return; } if (!IsSleeping && !IsJumping && target != null) { var distance = target.position - transform.position; distance.y = 0; var distMagnitude = distance.magnitude; float speed = 0; if (!IsNearTargetPosition) { wasNearPosition = false; float speedFactor = Mathf.Lerp(0, 1, distMagnitude / 10); speed = Mathf.Lerp(WALK_SPEED, RUN_SPEED, speedFactor) * Mathf.Lerp(0, 1, distMagnitude); AnimationController.SetWalkingSpeed(speedFactor); if (speedFactor > 0.75f) { runningTime += Time.deltaTime; } else { if (runningTime > 1.3f && Excited) { // Slip! runningTime = 0; isSliping = true; AnimationController.OnSlipStarted(); Update(); return; } runningTime = 0; } } else { wasNearPosition = true; } if (speed > 0.05f) { AnimationController.State = AnturaAnimationStates.walking; if (AnimationController.IsAnimationActuallyWalking) { distance.Normalize(); var steeringMovement = transform.forward * speed * Time.deltaTime; var normalMovement = distance * Mathf.Abs(Vector3.Dot(distance, transform.forward)) * speed * Time.deltaTime; transform.position += Vector3.Lerp(steeringMovement, normalMovement, 10.0f * Vector3.Dot(transform.forward.normalized, distance.normalized)); GameplayHelper.LerpLookAtPlanar(transform, target.position, Time.deltaTime * 2); } } else { var dot = Mathf.Max(0, Vector3.Dot(target.forward.normalized, transform.forward.normalized)); if (rotatingBase) { Quaternion targetRotation; transform.SetParent(rotatingBase); if (rotateAsTarget) { targetRotation = target.rotation * rotatingBase.rotation; } else { targetRotation = rotatingBase.rotation; } transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * 4); } else { if (rotateAsTarget) { transform.rotation = Quaternion.Slerp(transform.rotation, target.rotation, Time.deltaTime * 4 * (0.2f + 0.8f * dot)); } if ((!rotateAsTarget || dot > 0.9f) && AnimationController.State == AnturaAnimationStates.walking) { AnimationController.State = AnturaAnimationStates.idle; } } } } lastVelocity = (transform.position - lastPosition) / Time.deltaTime; lastPosition = transform.position; }